0

我的亚马逊 AWS 账户上有一个 HTML 文件,我在称为 Moodle 的学习环境中以 iFrame 的形式链接到该文件。由于这些人已经支付了访问本课程材料的费用,我一直在尝试找出是否可以使这个文件只能从 moodle 中的 iFrame 访问(即有人无法在源代码中查找 url 并共享它与未参加该课程的人一起)我知道我可以在php中编写一些东西,但我对它相当陌生。它不必是 1337 黑客证明,基本上足够的安全性来阻止您的普通计算机精通用户。希望在这里得到一些建议!提前致谢!

4

3 回答 3

0

您要防止的是人们共享该材料的链接。假设您可以防止这种情况发生。是什么阻止我订阅、获取资料并将其通过 U 盘提供给我的朋友?

隐藏链接会使人们更难分享,但我只会说一点点。

可以补救链接共享的解决方案需要您对 URL 有更多的控制权。具体来说,不是对所有人都有效或仅在有限时间内有效的 URL。

看看你的限制,我会得出结论:不,你不能(这可能没什么大不了的)。

于 2013-08-06T15:36:13.753 回答
0

其他答案很重要,应该考虑。这是一种方法来做你所要求的。

PHP 脚本 (content_loader.php)

$links = array(
   0 => "http://www.example.com/link1.html",
   1 => "http://www.example.com/link2.html",
   // Add as many links as you want here...
);

if (isset($_GET['id'])) {
   $id = $_GET['id'];
   $content = file_get_contents($links[$id]);
   echo $content;
}

iFrame

<iframe src="content_loader.php?id=1"></iframe>

注意 iframe 中 url 的格式。您可以根据需要指定任何 id,并显示相应的 URL。

于 2013-08-06T15:58:30.067 回答
0

您可以将文件存储在本地(与 Moodle 安装相同的服务器),检查是否设置了某个 SESSION var,然后显示该文件:

<?php 
if (!isset($_SESSION['user_id']) || empty($_SESSION['user_id'])) {
   die('not authorized');
}
// else, the file is displayed
?>

您甚至可以将页面上传到 Moodle(或将其打印为 PDF 并上传),但我已经有一段时间没有在 Moodle 中做过任何事情了。

于 2013-08-06T15:32:02.877 回答