Moodleを使用してウェブサイトを構築し、DRM-X 4.0コース暗号化システムとシームレスに統合する方法

Moodle は、独自のコースのウェブサイトを構築できるソフトウェアです。DRM-X 4.0 と Moodle の統合により、ユーザーがライセンスを取得するために保護されたファイルを開くと、ウェブサイトはユーザーがコースにアクセスできるかどうかを検査します。これにより、顧客がライセンスを取得できるかどうかを確認し、DRM-X ライセンスを呼び出して顧客に送信できます。最後に、保護されたファイルを Moodle に埋め込み、ユーザーが追加の検証なしでサイトにログインしてコースを表示できるようにします。

その他のチュートリアル

1: Moodle をインストールし、Web サイトを設定します。

最新のMoodleインストールパッケージを公式サイトからダウンロードし、解凍してサーバーにアップロードしてください。指示に従って設定を変更し、Moodleデータベースの構築を含むインストールを完了してください。そのため、ご自身のサーバーとデータベースが必要です。以下のデモでは、ローカルPCに構築したApacheとMySQLを使用しています。Moodleのインストールに関するチュートリアルはオンラインで多数公開されているため、ここではこれ以上の説明は省略します。

インストール後、管理者アカウントを登録してください。その後、ログインしてコースを作成してください。

moodlemoodle

コース例を作成した後、生徒のユーザー アカウントを追加します。

moodlemoodle

生徒のユーザーアカウントを追加したら、生徒に「コース例」を学習する権限を付与します。「参加者」で「ユーザーを登録」をクリックし、生徒がコースを学習できるようにします。

moodlemoodle

これで簡単なコース作成と学生ユーザーの追加が完了しました。次に、空のコースに暗号化されたコンテンツを追加します。DRM-X 4.0暗号化プラットフォームを使用して、ビデオ、オーディオ、またはPDFファイルを暗号化し、DRM-X 4.0をMoodleに統合して、暗号化されたファイルをMoodleに埋め込むことができます。これにより、学生は簡単かつ安全にコースを学習できるようになります。

2: DRM-X 4.0 アカウントにサインアップし、コースを暗号化します。

Xvast の公式 Web サイトから Xvast ブラウザの Windows バージョンをダウンロードします。 https://www.xvast.com/jpインストール後にXvastを開きます。

Xvast Browserを通じてDRM-X 4.0アカウントを登録するには、 https://4.drm-x.com/register.aspx

moodle

新規登録したDRM-X 4.0アカウントにログインし、DRM-X 4.0コントロールパネルで「権利」をクリックして新しい権利を追加します。権利の説明、権利価格、閲覧回数、初回使用後の有効期限、ドキュメントの保護、印刷禁止、透かしの有効化などを設定します。著作権侵害を防止するために透かしの内容を設定できます。ダイナミックウォーターマークは2つの表示モードをサポートしています。1つ目は、透かしの位置と変更頻度を設定する方法です。2つ目は、より高いセキュリティレベルを備えたマーキー効果による透かし表示です。

moodlemoodle

DRM-X 4.0は、3.0のブラックリストによる画面録画防止機能を継承しています。ブラックリストプログラムを設定することで、ブラックリストによる録画やスクリーンショットを効果的に防止できます。ユーザーが保護されたファイルを開いた際に、Xvastがブラックリストプログラムの実行を検出すると、Xvastはブラックリストプロセスを直ちにブロックします。現在、ブラックリストプログラムには数百もの画面録画およびスクリーンショットプログラムが含まれています。

moodle

Haihaisoftは独自のスマートスクリーン録画防止技術を提供します。この技術は、市販のスクリーン録画ソフトウェアだけでなく、将来登場するスクリーン録画ソフトウェアも自動かつ効果的に検出します。コンテンツプロバイダーは、DRM-X 4.0で保護されたコンテンツの権利をより適切に管理できるようになります。

moodle

これらの手順により、カスタム ライセンスを取得できました。

moodle

次に、上記で追加した権限を使用する新しいライセンスプロファイルを追加します。このプロファイルを使用してファイルを暗号化できます。

moodle

ここで強調しておきたいのは、「システム内の製品ID」の値は、ご自身のデータベース内のコースIDと一致している必要があるということです。通常、学生のコース選択記録はテーブル「mdl_role_assignments」に保存されます。ここでは、「コース例」のコースIDは56なので、「システム内の製品ID」を60に変更する必要があります。さらに、ユーザーIDが6のユーザーアカウントには、このコースを学習する権限があることがわかります。

moodle

膨大なデータベースからパラメータを探すのが面倒だと感じる場合は、Moodleアカウント内で直接パラメータを見つけることもできます。コースの「参加者」列にある「設定」をクリックします。権限にマウスを移動します。画面左下にURLが表示されます。最後の数字が、探しているコースの製品IDです。

moodle

その後、プロファイルを使用してファイルを暗号化できます。

「保護ファイル」をクリックし、上記で追加した適切なライセンス プロファイルを選択します。

moodlemoodle

暗号化したいファイルを選択し、「開始」をクリックします。

moodle

これでビデオファイルの暗号化が完了しました。他のオーディオファイルや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

3: Moodle と DRM-X 4.0 の統合。

次に、DRM-X 4.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サービス認証文字列(後述)、およびグループIDに変更する必要があることに注意してください。

// 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, ' &lt;div id="License_table_DRM-x4" style="display:none;">' )  === false )
		  echo "&lt;SCRIPT language=JavaScript&gt;location=LicError.php?error=".$license."&message=".$message."';&lt;/SCRIPT&gt;";
		/***** After obtaining the license, store the license and message into $USER, then jump to the licstore page. ******/
		$USER->license = $license;
		$USER->message = $message;
		 echo "&lt;script language=JavaScript>location='licstore.php';&lt;/SCRIPT&gt;";
		$flag = 1;
		$info = "Getting license...";
		exit;
	}
}

これは最もシンプルな検証例です。Moodleにコース購入や料金支払いなどの機能プラグインをインストールしている場合は、学生が注文を送信したかどうか、支払いが完了したかどうかの検証もコードに含める必要があります。

DRM-Xプラットフォームのアカウント設定オプションに再度アクセスし、「ウェブサイト統合設定」をクリックし、「カスタムログインページ統合」をクリックします。「ウェブサービス認証文字列」と「ライセンスURL」を入力します。ユーザーが暗号化されたファイルを開くと、Moodle統合ページに移動し、認証が行われます。

moodlemoodle

これで、DRM-XとMoodleウェブサイトの統合がほぼ完了しました。暗号化されたファイルを学生に送信するだけで、学生はXvastブラウザで開くことができます。ただし、コースへのアクセス権を持たない学生は、ファイルを受け取ったとしても、暗号化されたファイルを閲覧することはできません。

また、暗号化されたファイルを直接 Moodle ページに埋め込むことで、学生がウェブサイト上で直接コースを閲覧し、学習できるようになります。

作成した「コース例」のトピック 1 にアクティビティまたはリソースを追加し、ページを選択します。

moodlemoodle

下記のように、HTML列に埋め込みコードを追加します。埋め込みコードはサンプルコードフォルダに保存されているので、下記の赤いURLを暗号化ファイルのURLに変更するだけです。

moodle
&lt;div id="Xvast_Video_URL" style="display: none;"'>'https://www.drm-x.com/download/DRMX4/JesusFilm_cn_P.mp4'<'/div'>'
&lt;script type="text/javascript" src="https://www.xvast.com/dist/js/embedPlayer.js"'><'/script'>'
&lt;script type="text/javascript" src="https://www.xvast.com/dist/js/video.js"'><'/script'>'
&lt;script type="text/javascript" src="https://www.xvast.com/dist/wordpress/XvastVideoJSPlayer.js"'><'/script'>'

ウェブサイト設定(ダッシュボード &gt; サイト管理 &gt; プラグイン &gt; フィルター &gt; フィルター管理)で「URLをリンクと画像に変換する」設定をチェックして無効にしてください。以下のようになります。

moodle

4: コースをプレイします。

統合が完了すると、コースを再生できます。Xvastブラウザでウェブサイトを開き、生徒アカウントでログインしてください。「コース例」を開くと、Xvastが自動的にライセンスを取得し、暗号化されたコンテンツを再生します。

moodle

コードを埋め込むと、動画はこのように表示されます。動画の再生中は2つの透かしが動きます。透かしの内容をカスタマイズすることで、録画を防止できます。さらに、DRM-X 4.0にはブラックリストとスマートスクリーン録画防止技術が搭載されており、悪意のある録画やスクリーンキャプチャを防止できます。コースに参加する学生は、暗号化された動画を直接再生できます。

同様に、暗号化されたPDFファイルのリンクをコースページに直接追加することもできます。学生はコンテンツを読むためのライセンスを取得できます。透かしを入れることで、暗号化されたPDFが悪意のあるスクリーンキャプチャされるのを防ぐことができます。透かしの内容によって、ソースを送信したユーザーの個人情報が明らかになるからです。

moodle

これまで、Moodleをベースにした教育ウェブサイトの構築方法、DRM-X 4.0でファイルを暗号化する方法、そしてDRM-X 4.0をMoodleに統合する方法をご紹介してきました。これらの機能により、学生は暗号化されたファイルを簡単に閲覧できるようになり、同時にコースの譲渡や販売に伴う著作権侵害の問題も回避できます。

その他のDRM-X 4.0チュートリアル

DRM-X 4.0 Introduction VideoDRM-X 4.0 紹介ビデオ

このビデオでは、DRM-X 4.0プラットフォームの使い方、暗号化前の設定方法、そしてビデオの暗号化方法をデモでご紹介します。暗号化されたビデオの再生方法もご紹介します。

今すぐ見る
DRM-X 4.0 Introduction VideoDRM-X 4.0 HTML ウェブページ暗号化チュートリアル

DRM-X 4.0は、HTML、CSS、JavaScript、画像を含むWebページを暗号化し、Webコンテンツを閲覧できるユーザーを制御します。コピーを阻止し、印刷やプリントスクリーンを防止し、閲覧できなくなったコンテンツを期限切れにします。

今すぐ見る
DRM-X 4.0 Introduction VideoXvast Windows ビデオチュートリアル

ビデオでは、Xvast ブラウザのダウンロード、インストール、使用方法、暗号化されたファイルを開く方法、使用時の問題を解決する方法のデモを紹介します。

今すぐ見る
DRM-X 4.0 Introduction VideoDRM-X 4.0 ビデオ暗号化チュートリアル

このビデオでは、DRM-X 4.0プラットフォームの使い方、暗号化前の設定方法、そしてビデオの暗号化方法をデモでご紹介します。暗号化されたビデオの再生方法もご紹介します。

今すぐ見る
DRM-X 4.0 Introduction VideoDRM-X 4.0とWordPressの統合

カスタムログインページの統合とは、お客様がウェブサイトから保護されたコンテンツを注文し、コンテンツを再生する際に、ウェブサイトのカスタマイズされたログインページが表示されることです。お客様がウェブサイトのアカウントのユーザー名とパスワードを入力すると、保護されたファイルを再生するためのライセンスが即座に取得されます。このためには、新しいDRMログインページを作成する必要があります。

今すぐ見る
DRM-X 4.0 Introduction VideoDRM-X 4.0 セキュリティ設定

DRM-X 4.0プラットフォームをご利用になる際は、ご注意ください。保護をより安全にするために、著作権侵害を防止するために必要な一連のオプションを選択してください。これらの設定は、最初に行うことが非常に重要です。

今すぐ見る

ご質問はありますか?

弊社の担当者がお答えします。

Haihaisoft 製品、価格、実装などについてお問い合わせください。高度な訓練を受けた当社の担当者が待機しており、いつでもお手伝いいたします。

電話: +64 27 507 9959 (ニュージーランド)

QQ: 1279126286 / 994184623

お問い合わせマイクロソフトチーム

service#haihaisoft.com (#を@に置き換えてください)

お問い合わせ
contactUs