我正在使用Drupal 6.在drupal中如何避免用户复制网页内容。如何禁用它。
由于
答案 0 :(得分:6)
最终...... 你不能。
即使你尝试了一些奇特的JavaScript或一些奇特的图像等,用户也可以按Ctrl+A
(全选),然后按Ctrl+C
(复制)。有很多方法可以从网站获取信息,例如开发环境(FireBug),替代代理(wget / curl),甚至使用不受该方案“保护”的浏览器。
底线...阻止某人“保留”该数据的唯一方法是不允许他们以开头的访问权限。或者,让用户签署保密协议/协议并聘请律师: - )
快乐做富有成效的事情。
如果只需要用鼠标阻止“选择”,那么img-over可能会起作用。或者,发送回非文本(例如包含文本的图像)内容和/或将内容嵌入Flash或其他相对受控的插件中。
答案 1 :(得分:1)
有一个java脚本代码可以禁用内容复制。 我将该代码粘贴到页面正文中,并将输入格式设置为php代码。
<script type="text/javascript">
var donotconsidortag = ["input", "textarea", "select"]
donotconsidortag = donotconsidortag.join("|")
function unableToSelect(e) {
if (donotconsidortag.indexOf(e.target.tagName.toLowerCase()) == -1)
return false
}
function ableToSelect() {
return true
}
if (typeof document.onselectstart != "undefined")
document.onselectstart = new Function("return false")
else {
document.onmousedown = unableToSelect
document.onmouseup = ableToSelect
}
</script>
对于特定内容类型,使用“内容模板”模块并将上述代码放入内容模板的textarea。在此我们可以禁用整个内容类型的内容选择选项(例如:页面或故事)
答案 2 :(得分:0)
<SCRIPT language=JavaScript>
var message = "function disabled";
function rtclickcheck(keyp){ if (navigator.appName == "Netscape" && keyp.which == 3){ alert(message); return false; }
if (navigator.appVersion.indexOf("MSIE") != -1 && event.button == 2) { alert(message); return false; } }
document.onmousedown = rtclickcheck;
</SCRIPT>
答案 3 :(得分:0)
无法阻止确定的用户访问您网页的内容。像firebug这样的工具以及大量的屏幕捕获软件很容易避开任何此类尝试。
为了让不熟练或懒惰的用户感到困难,您可以在整个页面的顶部或您尝试保护的内容上叠加透明的1x1图像。
<img src="transparent.png" style = "width:100%; height:100%;position:absolute;" />