我的亚马逊AWS账户上有一个HTML文件,我在一个名为Moodle的学习环境中以iFrame的形式链接到该账户。由于这些人已经付钱访问这个课程材料,我一直试图找出是否有可能只能从moodle中的iFrame访问这个文件(即有人无法在源代码中查找url并分享它与没有参加课程的人一起)我知道必须有一些我可以写的PHP,但我相当新。它不一定是1337黑客证明,基本上足够安全,以阻止你的普通计算机精明的用户。希望在这里得到一些建议!提前谢谢!
答案 0 :(得分: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做了一段时间。
答案 1 :(得分:0)
您要阻止的是人们将链接分享给素材。假设您可以阻止这种情况。什么阻止我订阅,获取材料并通过USB记忆棒将其交给我的朋友?
隐藏链接会让人们分享更加困难,但我会说只是略有不同。
可以修复链接共享的解决方案要求您对URL进行更多控制。特别是不适用于所有人的URL,或仅在有限时间内工作的URL。
看看你的约束我会得出结论:不,你不能(而且这可能不是什么大问题。)
答案 2 :(得分:0)
其他答案很重要,应予以考虑。这是一种做你要求的方法。
$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 src="content_loader.php?id=1"></iframe>
请注意iframe中网址的格式。您可以根据需要指定任何ID,并显示相应的URL。