Moodle을 사용하여 웹사이트를 구축하고 DRM-X 4.0 코스 암호화 시스템과 원활하게 통합하는 방법
Moodle은 사용자가 직접 코스 웹사이트를 구축할 수 있는 소프트웨어입니다. Moodle과 DRM-X 4.0의 통합을 통해 사용자가 라이선스를 얻기 위해 보호된 파일을 열 때, 웹사이트는 해당 사용자가 코스에 접근 권한이 있는지 여부를 확인합니다. 이를 통해 고객이 라이선스를 취득할 수 있는지 확인하고, 라이선스 발급을 위해 DRM-X를 호출하여 고객에게 라이선스를 전송할 수 있습니다. 마지막으로, 보호된 파일을 Moodle에 삽입하여 사용자가 추가 인증 절차 없이 사이트에 로그인하여 코스를 볼 수 있도록 합니다.
1: Moodle을 설치하고 웹사이트를 구성하세요.
Moodle 공식 웹사이트에서 최신 설치 패키지를 다운로드하고 압축을 해제한 후 서버에 업로드하세요. 안내에 따라 설정을 수정하고 Moodle 데이터베이스 구축을 포함한 설치를 완료하세요. 따라서 자체 서버와 데이터베이스가 필요합니다. 아래 예시에서는 로컬 PC에 구축된 Apache 및 MySQL을 사용합니다. Moodle 설치에 대한 자세한 설명은 온라인에 많이 있으므로 여기서는 생략하겠습니다.
설치 후 관리자 계정을 등록하세요. 그런 다음 로그인하여 강좌를 생성하세요.


강좌 예시를 생성한 후, 학생용 사용자 계정을 추가하세요.


학생 계정을 추가한 후, 학생에게 '코스 예시'를 학습할 수 있는 권한을 부여하세요. '참가자'에서 '사용자 등록'을 클릭하여 학생이 코스를 학습할 수 있도록 허용하세요.


여기서는 간단한 강좌를 생성하고 학생 사용자를 추가했습니다. 그런 다음 빈 강좌에 암호화된 콘텐츠를 추가해 보겠습니다. DRM-X 4.0 암호화 플랫폼을 사용하여 비디오, 오디오 또는 PDF 파일을 암호화하고, DRM-X 4.0을 Moodle에 통합하여 암호화된 파일을 Moodle에 삽입할 수 있습니다. 이렇게 하면 학생들이 쉽고 안전하게 강좌를 학습할 수 있습니다.
2: DRM-X 4.0 계정에 가입하고 강좌를 암호화하세요.
Xvast 공식 웹사이트에서 Xvast 브라우저의 Windows 버전을 다운로드하세요. https://www.xvast.com/kr 설치 후 Xvast를 실행하세요.
Xvast 브라우저를 통해 DRM-X 4.0 계정을 등록하려면, https://4.drm-x.com/register.aspx

새로 등록한 DRM-X 4.0 계정에 로그인합니다. DRM-X 4.0 제어판에서 먼저 "권한"을 클릭하여 새 권한을 추가합니다. 권한 설명, 권한 가격, 사용 횟수, 최초 사용 후 만료 시간, 문서 보호, 인쇄 금지, 워터마크 활성화 등을 설정할 수 있습니다. 워터마크 내용을 설정하여 불법 복제를 방지할 수 있습니다. 동적 워터마킹은 두 가지 표시 모드를 지원합니다. 첫 번째는 워터마크의 위치와 변경 빈도를 설정하는 방식이고, 두 번째는 보안 수준을 높인 마퀴 효과입니다.


DRM-X 4.0은 3.0의 화면 녹화 방지 블랙리스트 기능을 계승합니다. 블랙리스트에 프로그램을 등록하면 해당 프로그램의 녹화 또는 스크린샷 촬영을 효과적으로 차단할 수 있습니다. 사용자가 보호된 파일을 열었을 때, Xvast가 블랙리스트에 등록된 프로그램이 실행 중인 것을 감지하면 즉시 해당 프로세스를 차단합니다. 현재 블랙리스트에는 수백 개의 화면 녹화 및 스크린샷 프로그램이 등록되어 있습니다.

Haihaisoft는 독자적인 스마트 화면 녹화 방지 기술을 제공합니다. 이 기술은 현재 시판 중인 화면 녹화 소프트웨어는 물론 향후 출시될 소프트웨어까지 자동으로 효과적으로 감지합니다. 이를 통해 콘텐츠 제공업체는 DRM-X 4.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
웹페이지 암호화: https://www.drm-x.com/DRM_web_page_html_encryption_tutorial.aspx
3: Moodle과 DRM-X 4.0의 통합.
이제 DRM-X 4.0을 무들 웹사이트에 통합해야 합니다. 통합이 완료되면 해당 강좌를 선택한 학생들은 무들 웹사이트에 로그인하기만 하면 암호화된 강좌 콘텐츠를 볼 수 있게 됩니다. 통합 과정을 구체적으로 살펴보겠습니다.
제공된 샘플 코드에 따라 'index.php', 'reindex.php', 'login.php', 'licstore.php'라는 이름의 페이지 네 개를 복사해야 합니다. 사용자가 암호화된 파일을 열면 자동으로 'index.php'로 이동하여 Moodle 계정에 로그인되어 있는지 확인합니다. 로그인되어 있지 않으면 'reindex.php'로 이동하여 계정에 로그인합니다. 로그인되어 있으면 'login.php'로 바로 이동하여 사용자의 비밀번호가 올바른지, 해당 강좌를 수강할 권한이 있는지 등을 확인합니다. 이 페이지에서 인증 코드를 자유롭게 추가하고 수정할 수 있습니다. 사용자가 인증을 통과하면 'licstore.php'로 이동하여 라이선스를 발급받고 암호화된 파일을 열 수 있습니다.
'index.php' 파일에서 암호화된 파일의 프로필 ID, 클라이언트 정보, 권한 ID, 제품 ID, 플랫폼, 콘텐츠 유형, 버전, 반환 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 계정, 설정한 웹 서비스 인증 문자열(아래에서 설명) 및 그룹 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, ' <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 플랫폼의 계정 설정 옵션에 다시 접속하여 '웹사이트 통합 기본 설정'을 클릭한 다음 '사용자 지정 로그인 페이지 통합'을 클릭합니다. '웹 서비스 인증 문자열'과 '라이선스 URL'을 입력하세요. 사용자가 암호화된 파일을 열면 인증을 위해 Moodle 통합 페이지로 이동합니다.


이제 DRM-X를 Moodle 웹사이트에 통합하는 작업이 기본적으로 완료되었습니다. 따라서 암호화된 파일을 학생들에게 보내면 Xvast 브라우저에서 파일을 열 수 있습니다. 단, 해당 강좌에 접근 권한이 없는 학생은 파일을 받더라도 암호화된 파일을 볼 수 없습니다.
또한 암호화된 파일을 무들 페이지에 직접 삽입할 수 있으므로 학생들이 웹사이트에서 바로 강좌를 탐색하고 학습할 수 있습니다.
방금 생성한 '코스 예시'의 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'>'웹사이트 설정(대시보드 > 사이트 관리 > 플러그인 > 필터 > 필터 관리)에서 "URL을 링크 및 이미지로 변환" 설정을 확인하고 비활성화해 주세요. 아래 그림을 참조하세요.

4. 코스를 공략하세요.
연동이 완료되면 강의를 바로 이용하실 수 있습니다. Xvast 브라우저에서 웹사이트를 열고 학생 계정으로 로그인하세요. 그런 다음 "강의 예시"를 열면 Xvast가 자동으로 라이선스를 가져와 암호화된 콘텐츠를 재생합니다.

코드를 삽입하면 영상이 다음과 같이 표시됩니다. 영상 재생 중에는 두 개의 워터마크가 움직입니다. 워터마크 내용을 사용자 지정하여 녹화를 방지할 수 있습니다. 또한, DRM-X 4.0은 블랙리스트 및 스마트 화면 녹화 방지 기술을 통해 악의적인 녹화나 화면 캡처를 차단합니다. 강좌에 참여하는 학생들은 암호화된 영상을 바로 재생할 수 있습니다.
마찬가지로 암호화된 PDF 파일 링크를 강의 페이지에 직접 추가할 수 있습니다. 학생들은 콘텐츠를 읽을 수 있는 라이선스를 받게 됩니다. 워터마크는 암호화된 PDF 파일이 악의적인 화면 캡처로부터 보호될 수 있도록 해줍니다. 워터마크에 포함된 내용은 파일을 전송한 사용자의 개인 정보를 드러내기 때문입니다.

지금까지 Moodle 기반 교육 웹사이트 구축 방법, DRM-X 4.0으로 파일 암호화하는 방법, 그리고 DRM-X 4.0을 Moodle에 통합하는 방법을 소개했습니다. 이러한 기능을 통해 학생들은 암호화된 파일을 쉽게 볼 수 있으며, 교수님은 강의 자료의 불법 복제 및 판매 문제를 해결할 수 있습니다.
기타 DRM-X 4.0 튜토리얼
DRM-X 4.0 소개 영상이 비디오를 통해 DRM-X 4.0 플랫폼 사용 방법, 암호화 전 설정 방법, 비디오 암호화 방법을 보여드리겠습니다. 또한 암호화된 비디오를 재생하는 방법도 안내해 드립니다.
지금 시청하세요
DRM-X 4.0 HTML 웹페이지 암호화 튜토리얼DRM-X 4.0은 HTML, CSS, JavaScript 및 이미지를 포함한 웹 페이지를 암호화하고 웹 콘텐츠를 볼 수 있는 사용자를 제어합니다. 복사, 인쇄 및 스크린샷을 방지하고, 더 이상 볼 수 없어야 하는 콘텐츠는 만료 처리됩니다.
지금 시청하세요
Xvast Windows 비디오 튜토리얼이 비디오를 통해 Xvast 브라우저를 다운로드, 설치 및 사용하는 방법, 암호화된 파일을 여는 방법, 그리고 사용 중 발생하는 문제를 해결하는 방법을 보여드리겠습니다.
지금 시청하세요
DRM-X 4.0 비디오 암호화 튜토리얼이 비디오를 통해 DRM-X 4.0 플랫폼 사용 방법, 암호화 전 설정 방법, 비디오 암호화 방법을 보여드리겠습니다. 또한 암호화된 비디오를 재생하는 방법도 안내해 드립니다.
지금 시청하세요
DRM-X 4.0과 워드프레스의 통합맞춤 로그인 페이지 통합은 고객이 웹사이트에서 보호된 콘텐츠를 주문했을 때, 해당 콘텐츠를 재생하면 웹사이트의 맞춤 로그인 페이지가 표시되고, 고객이 웹사이트 계정의 사용자 이름과 비밀번호를 입력하면 보호된 파일을 재생할 수 있는 라이선스를 즉시 발급받는 기능입니다. 이를 위해서는 새로운 DRM 로그인 페이지를 제작해야 합니다.
지금 시청하세요
DRM-X 4.0 보안 설정DRM-X 4.0 플랫폼을 사용할 때 주의해야 할 사항이 있습니다. 더욱 안전한 보호를 위해 불법 복제 방지에 필요한 몇 가지 옵션을 선택해 주시기 바랍니다. 이러한 설정은 처음 사용 시에 반드시 완료해야 합니다.
지금 시청하세요질문?
저희 담당자가 답변해 드립니다.
Haihaisoft 제품, 가격, 구현 또는 기타 궁금한 사항이 있으시면 언제든지 문의하세요. 숙련된 담당자들이 친절하게 도와드리겠습니다.
전화: +64 27 507 9959 (뉴질랜드)
QQ: 1279126286 / 994184623
저희에게 연락하세요 마이크로소프트 팀즈
service#haihaisoft.com (#를 @로 바꾸세요)
문의하기