公式ウェブサイトから最新のmoodleインストールパッケージをダウンロードし、解凍してサーバーにアップロードします。 プロンプトに従って構成を変更し、moodleデータベースの確立を含むインストールを完了します。 したがって、独自のサーバーとデータベースが必要です。 以下のデモでは、ローカルPCで構築されたApacheとmysqlを使用しています。 オンラインでのmoodleのインストールに関するチュートリアルはたくさんあるので、ここではこれ以上の紹介はしません
インストール後、管理者アカウントを登録します。 次に、ログインしてコースを作成します。
コースの例を作成したら、学生のユーザーアカウントを追加します。
学生のユーザーアカウントを追加したら、学生に「コースの例」を学ぶ権利を与えます。 [参加者]で[ユーザーを登録]をクリックして、学生がコースを学習できるようにします。
ここでは、簡単なコースの作成を完了し、学生ユーザーを追加しました。 次に、暗号化されたコンテンツを空白のコースに追加します。 一部のビデオ、オーディオ、またはPDFファイルをDRM-X 4.0暗号化プラットフォームで暗号化し、DRM-X 4.0をmoodleと統合し、暗号化されたファイルをmoodleに埋め込むことができます。 それはあなたの学生が簡単かつ安全にコースを学ぶようになります。
Xvast公式ウェブサイトからXvastブラウザのWindowsバージョンをダウンロードします: https://www.xvast.com 。 インストール後にXvastを開きます。
XvastブラウザからDRM-X4.0アカウントを登録するには、 https://4.drm-x.com/register.aspx
新しく登録したDRM-X4.0アカウントにログインします。DRM-X4.0コントロールパネルで、最初に[権利]をクリックして新しい権利を追加します。 権利の説明、権利の価格、オープンカウント、最初の使用後の有効期限、ドキュメントの保護、印刷を許可しない、透かしを有効にするを設定します。 透かしの内容を設定して、著作権侵害を防ぐことができます。 動的透かしは、2つの表示モードをサポートします。 最初の方法は、透かしの位置と変更の頻度を設定することです。 2番目のタイプの透かし表示は、より高いレベルのセキュリティを備えたマーキー効果です。
DRM-X 4.0は、3.0のブラックリスト防止画面記録機能を継承しています。 ブラックリストプログラムを設定することで、ブラックリストの記録やスクリーンショットを効果的に防ぐことができます。 ユーザーが保護されたファイルを開いたときに、ブラックリストプログラムが実行されていることをXvastが検出すると、Xvastはすぐにブラックリストプロセスをブロックします。 現在、ブラックリストプログラムには、何百もの画面記録およびスクリーンショットプログラムが含まれています。
Haihaisoftは、独自のスマート防止画面記録テクノロジーを提供します。 市場に出回っているスクリーンレコーディングソフトウェア、さらには将来のレコーディングスクリーンソフトウェアを自動的かつ効果的に検出できます。 これは、コンテンツプロバイダーがDRM-X4.0で保護されたコンテンツの権利をより適切に管理するのに役立ちます。
これらの手順により、カスタムライセンスを取得できます。
次に、上記で追加した権利を使用する新しいライセンスプロファイルを追加しましょう。 このプロファイルでファイルを暗号化できます。
強調する必要があるのは、「システム内のproductID」の値は、独自のデータベース内のコースIDと同じである必要があるということです。 通常、学生のコース選択レコードはテーブル「mdl_role_assignments」に保存されます。 ここで、「コース例」のコースIDは56であるため、「システムのproductID」を60に変更する必要があります。さらに、userIDが6のユーザーアカウントには、コースを学習する権利があることがわかります。
長いデータベースでパラメータを探すのが面倒だと感じる場合は、このパラメータをmoodleアカウントで直接見つけることもできます。 コースの[参加者]列の[設定]をクリックします。 権限の上にマウスを移動します。 画面の左下隅にURLがあります。 最後の番号は、探しているコースの製品IDです。
次に、プロファイルを使用してファイルを暗号化できます。
「保護ファイル」をクリックして、上記で追加した権利とライセンスプロファイルを選択します。
暗号化するファイルを選択し、[開始]をクリックします。
これで、ビデオファイルが暗号化されました。 他のオーディオまたはPDFファイルはすべてこのように暗号化できます。
暗号化の詳細なプロセスは、次のチュートリアルを参照できます。
ビデオ暗号化:https://www.drm-x.com/DRM-X4.0_encryption_tutorial.aspx
Webページの暗号化:https://www.drm-x.com/DRM_web_page_html_encryption_tutorial.aspx
PDF暗号化:https://www.drm-x.com/How_To_Encrypt_PDF.aspx
次に、DRM-X4.0をmoodleウェブサイトと統合する必要があります。 統合後、あなたのコースを選択した学生は、あなたのmoodleウェブサイトにログインするだけで、コース内の暗号化されたコンテンツを見ることができます。 統合の特定の操作を示しましょう。
サンプルコードによると、「index.php」、「reindex.php」、「login.php」、「licstore.php」という名前の4つのページをコピーする必要があります。 ユーザーが暗号化されたファイルを開くと、自動的に「index.php」にジャンプして、moodleアカウントにログインしているかどうかを確認します。 そうでない場合は、「reindex.php」にジャンプしてアカウントにログインします。 それ以外の場合は、「login.php」に直接ジャンプして、ユーザーのパスワードが正しいかどうか、ユーザーが対応するコースを学習する権利があるかどうかなどを確認します。このページで確認コードを自由に追加および変更できます。 その後、ユーザーが確認に合格すると、「licstore.php」にジャンプしてライセンスを取得し、暗号化されたファイルを開きます。
「index.php」で、profileid、clientinfo、rightsid、yourproductid、platform、contenttype、version、return_urlなどの暗号化されたファイルの対応する情報を取得します。 これらのパラメータは、後で呼び出すためにグローバル変数$ USERに格納します。 次に、ユーザーが自分のmoodleアカウントにログインしているかどうかを確認します。
require_once("../config.php");
$USER->ProfileID = $_REQUEST["profileid"];
$USER->ClientInfo = $_REQUEST["clientinfo"];
$USER->Platform = $_REQUEST["platform"];
$USER->ContentType = $_REQUEST["contenttype"];
$USER->ProductID = $_REQUEST["yourproductid"];
$USER->RightsID = $_REQUEST["rightsid"];
$USER->Version = $_REQUEST["version"];
$USER->Return_URL = $_REQUEST["return_url"];
if (isloggedin() or isguestuser()){
echo "<SCRIPT language=JavaScript>location='login.php';</SCRIPT>";
}else{
echo "<SCRIPT language=JavaScript>location='reindex.php';</SCRIPT>";
}
学生がmoodleにログインしていない場合は、「reindex.php」にジャンプします(これは、ユーザーがmoodleにログインせずに暗号化ファイルを表示するためのライセンスを取得できるmoodleの初期ログインページではありません)。 それ以外の場合は、login.phpにジャンプして特定の確認を行ってください。
ユーザーがmoodleにログインしていない場合は、パスワードを確認する必要があります。 ユーザーがすでにmoodleにログインしている場合、パスワードを確認する必要はありません。
if($_GET['un'] == 'login'){
$username = $_REQUEST["username"];
$pwd = $_REQUEST["password"];
/****** verify the password *******/
$result = mysqli_query($dbcon,"SELECT ID,password,email FROM mdl_user WHERE username ='" .$username. "'");
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$email = $row['email'];
$t_hasher = new \PasswordHash(8, FALSE);
$newpwd= $t_hasher->CheckPassword($pwd, $row['password']);
if ($newpwd != true ) {
$info = "Your Account or Password is incorrect! <br><br>Please revisit the course!";
} else{
$ username = $username;
$_SESSION['pwd'] = $pwd;
$ userid = $row['ID'];
$ userEmail = $email;
}
/***/
// If the user has already logged into moodle, there is no need to verify the password.
}else{
$username = $USER->username;
$userEmail = $USER->email;
$userid = $USER->id;
}
次に、ユーザーがコースを学習する権限を持っているかどうかを確認します。 確認に合格したら、ユーザー情報をDRM-X 4.0アカウントに保存し、ライセンスを取得して次のページにジャンプし、暗号化されたファイルを開きます。 以下の赤いコードは、DRM-X 4.0アカウント、設定したWebサービス認証文字列(これについては以下で説明します)、およびGroupIDに変更する必要があることに注意してください。
// Query the order based on the user ID
$id_query = mysqli_query($dbcon,"SELECT id FROM mdl_user WHERE username='" .$username. "'");
$id_row = mysqli_fetch_array($id_query, MYSQLI_ASSOC);
$id_result = $id_row['id'];
$courseid_query = mysqli_query($dbcon,"SELECT contextid FROM mdl_role_assignments WHERE userid='" .$id_result. "'");
while($courseid_row = mysqli_fetch_array($courseid_query, MYSQLI_ASSOC)){
$courseid_result = $courseid_row['contextid'];
if ($courseid_result == $USER->ProductID){
/******* Check whether the user exists on the DRM-X platform********/
$wsdl="http://4.drm-x.com/haihaisoftlicenseservice.asmx?wsdl";
$CheckUser_param = array(
'UserName' => $username,
'AdminEmail' => 'yourEmail@163.com', //your DRM-X 4.0 account
'WebServiceAuthStr' => 'aaaaaa', // the Web Service Authentication String you set in DRM-X 4.0 background
);
$client = new nusoap_client($wsdl, 'wsdl');
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;
$CheckUser = $client->call('CheckUserExists', array('parameters' => $CheckUser_param), '', '', true, true);
$CheckUser_result = $CheckUser['CheckUserExistsResult'];
/*** End detecting whether the user exists **/
// If the username is not exists, call 'AddNewUser' to add user.
if($CheckUser_result == "False"){
$add_user_param = array(
'AdminEmail' => 'yourEmail@163.com',// your DRM-X 4.0 account
'WebServiceAuthStr' => 'aaaaaa',// the Web Service Authentication String you set in DRM-X 4.0 background
'GroupID' => '11726',//GroupID
'UserLoginName' => $username,// Username or ID
'UserPassword' => 'N/A',
'UserEmail' => $userEmail,
'UserFullName' => 'N/A',
'Title' => 'N/A',
'Company' => 'N/A',
'Address' => 'N/A',
'City' => 'N/A',
'Province' => 'N/A',
'ZipCode' => 'N/A',
'Phone' => 'N/A',
'CompanyURL' => 'N/A',
'SecurityQuestion' => 'N/A',
'SecurityAnswer' => 'N/A',
'IP' => getIP(),//
'Money' => '0',//
'BindNumber' => '2',//
'IsApproved' => 'yes',//
'IsLockedOut' => 'no',//
);
$add_user = $client->call('AddNewUser', array('parameters' => $add_user_param), '', '', true, true);
$result = $add_user['AddNewUserResult'];
}
/*** Successfully added new users ***/
/***** obtain a license after the license authority is updated ****/
$param = array(
'AdminEmail' => 'yourEmail@163.com',// your DRM-X 4.0 account
'WebServiceAuthStr' => 'aaaaaa',// the Web Service Authentication String you set in DRM-X 4.0 background
'ProfileID' => $USER->ProfileID,
'ClientInfo' => $USER->ClientInfo,
'RightsID' => $USER->RightsID,
'UserLoginName' => $username,
'UserFullName' => 'N/A',
'GroupID' => 11726,//GroupID
'Message' => 'N/A',
'IP' => getIP(),
'Platform' => $USER->Platform,
'ContentType' => $USER->ContentType,
'Version' => $USER->Version,
);
$client = new nusoap_client($wsdl, 'wsdl');
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;
/***** Obtain a license by calling the getLicenseRemoteToTableWithVersion method ******/
$result = $client->call('getLicenseRemoteToTableWithVersion', array('parameters' => $param), '', '', true, true);
$license = $result['getLicenseRemoteToTableWithVersionResult'];
$message = $result['Message'];
if(stripos($license, '<div id="License_table_DRM-x4" style="display:none;">' ) === false )
echo "<SCRIPT language=JavaScript>location='LicError.php?error=".$license."&message=".$message."';</SCRIPT>";
/***** After obtaining the license, store the license and message into $USER, then jump to the licstore page. ******/
$USER->license = $license;
$USER->message = $message;
echo "<SCRIPT language=JavaScript>location='licstore.php';</SCRIPT>";
$flag = 1;
$info = "Getting license...";
exit;
}
}
これが最も簡単な検証例です。 コースの購入、料金の支払いなど、より多くの機能プラグインがmoodleにインストールされている場合は、学生が注文を送信したかどうか、支払いが完了したかどうかについての確認もコードに含める必要があります。
DRM-Xプラットフォームのアカウント設定オプションを再度入力し、[Webサイト統合設定]、[カスタムログインページ統合]の順にクリックします。 「Webサービス認証文字列」と「ライセンスURL」を入力します。 ユーザーが暗号化されたファイルを開くと、確認のためにmoodle統合ページにジャンプします。
これで、基本的にDRM-Xとmoodle Webサイトの統合が完了しました。 次に、暗号化されたファイルを生徒に送信するだけで、Xvastブラウザで開くことができます。 ただし、コースにアクセスできない人は、ファイルを取得しても暗号化されたファイルを表示できません。
また、暗号化されたファイルをMoodleページに直接埋め込んで、学生がWebサイトで直接コースを閲覧して学習できるようにすることもできます。
作成した「コース例」のトピック1にアクティビティまたはリソースを追加し、ページを選択します。
以下に示すように、html列に埋め込みコードを追加します。 埋め込みコードはサンプルコードフォルダに保存されているので、下の赤いURLを暗号化されたファイルのURLに変更するだけです。
<div id="Xvast_Video_URL" style="display: none;">https://www.drm-x.com/download/DRMX4/JesusFilm_cn_P.mp4</div>
<script type="text/javascript" src="https://www.xvast.com/dist/js/embedPlayer.js"></script>
<script type="text/javascript" src="https://www.xvast.com/dist/js/video.js"></script>
<script type="text/javascript" src="https://www.xvast.com/dist/wordpress/XvastVideoJSPlayer.js"></script>
Webサイトの設定([ダッシュボード]-[サイト管理]-[プラグイン]-[フィルター]-[フィルターの管理])で[URLをリンクと画像に変換する]設定を確認して無効にしてください。 以下に示すように:
統合が完了した後、コースをプレイできます。 Xvastブラウザでウェブサイトを開き、学生アカウントでログインします。 次に、「コースの例」を開くと、Xvastが自動的にライセンスを取得し、暗号化されたコンテンツを再生します。
コードを埋め込むと、次のような動画が表示されます。 ビデオの再生中に2つの透かしが移動します。 透かしの内容をカスタマイズして、記録されないようにすることができます。 さらに、DRM-X 4.0には、悪意のある記録や画面キャプチャを防ぐためのブラックリストとスマートな画面記録防止テクノロジーもあります。 コースに参加する学生は、暗号化されたビデオを直接再生できます。
同様に、暗号化されたpdfファイルのリンクをコースページに直接追加できます。 学生はコンテンツを読むためのライセンスを取得できます。 透かしの内容はソースを送信したユーザーの個人情報を明らかにするため、透かしは暗号化されたPDFが悪意のある画面キャプチャを防ぐことができます。
これまで、Moodleをベースにした教育用ウェブサイトの構築方法、DRM-X 4.0でファイルを暗号化する方法、DRM-X4.0をMoodleと統合する方法を紹介してきました。 この機能を使用すると、学生は暗号化されたファイルを簡単に表示でき、コースの転送または販売に関する著作権侵害の問題を取り除くこともできます。