我知道这个问题很愚蠢。
但根据我们的智能客户请求,我无法回答他的问题。任何一个帮助。
我们正在建立一个在线辅导网站。它包含pdf,.ppt,.doc格式文件,作为课程资料上传。他的(客户)请求是用户可以阅读所有内容,但他们不得下载材料并使用它。
这就是必须在他们的浏览器中打开所有文件。
有可能吗?还有其他想法吗?
答案 0 :(得分:5)
如果您将数据发送到客户端,则客户端已有效下载该数据。你可以把这变得困难,但并非不可能。
防止下载的唯一可靠方法是阻止查看。
如果这是版权问题,则应使用法律术语解决,而不是软件。
答案 1 :(得分:5)
还有其他想法吗?
向您的客户解释,文档在用户计算机屏幕上显示的唯一方法是将文档存在于该用户的计算机上。
换句话说,查看文档涉及下载它。即使假设用户计算机上的软件以某种方式使用户无法直接操作材料的电子副本,用户也可以取出数码相机并拍摄屏幕照片。
有些方法可以让用户困难以保存文件的副本。但是,这可能会造成更多伤害(令人沮丧的用户)而不是好(防止盗窃)。
有些用户可能希望在他们没有互联网连接的时候仔细阅读这些材料,或者可能想要将其复制到他们的移动设备上(例如),但是在他们的移动设备上访问互联网是昂贵的,所以他们会喜欢在他们的电脑上下载。
答案 2 :(得分:2)
您可以将文档放入Google文档并将docs viewer嵌入您的网站。当然,没有人阻止人们截取屏幕截图,复制/粘贴文本,下载HTML等等。
答案 3 :(得分:2)
以下是您可能会考虑的一些指导原则:
请勿直接链接文件,例如:
<a href="mydoc.pdf">Download</a>
相反,尝试动态生成pdf或者为其添加另一个加密媒体 下载例如:
<a href="download.php?file_id=1111111">Download</a>
2:不允许目录浏览,使用htaccess文件和以下命令:
Deny from ALL
3:不确定,但你可能也允许以这种方式打开文件:
$filename="/path/to/file.jpg"; //<-- specify the image file
if(file_exists($filename)){
header('Content-Length: '.filesize($filename])); //<-- sends filesize header
header('Content-Type: image/jpg'); //<-- send mime-type header
header('Content-Disposition: inline; filename="'.$filename.'";'); //<-- sends filename header
readfile($filename); //<--reads and outputs the file onto the output buffer
exit; //and exit
}
注意:以上只是图片而非pdf的示例,但您可以根据需要进行修改。
答案 4 :(得分:2)
在线网站并不一定意味着它是一个网站。您可以编写一个访问数据并显示它的自定义客户端。
需要在客户端和服务器之间加密数据。它可能不应该“散装”发送。
与发展相关的努力是令人望而却步的。
您可以许可允许用户逐页阅读书籍的软件,该软件是Safari Books Online网站的一部分。
我可以告诉他们,他们会把他们要显示的页面变成小图像。这些图像看起来好像是以随机顺序发送的,并由浏览器通过javascript组装。
这些策略不会阻止一个坚定的人让你的客户满意......但这种努力不太可能是值得的。
答案 5 :(得分:1)
“读”是什么意思,而不是“下载”?你知道吗,即使你禁用缓存(这本身就是一个坏主意)也不会限制eaaaasy右键单击&gt;查看源,“将目标另存为”等等?
我的意思是,你可以拥有的最好的是一个更难保存内容的闪存阅读器,这意味着禁止选择和复制,但无论如何,它并不禁止任何内容。
禁止下载的唯一方法是返回HTTP 403:)