防止网页内容被复制的最佳方法!

也许你辛苦做好的页面,别人不到半秒钟就可以复制过去,也许你好不容易搜罗的经典文章别人不用花一毛钱就可以下载到自己的的硬盘里,这时的你是不是很无语。。。

市面于是出现了很多防止这些事情发生的代码,大多是以javascript 来实现的!而很多只是讨论到页面元素的操作,即禁用右键,不让copy或paste不让Allselect等等,而这些方法都有的一个共同的弱点就是别人使用源码查看之后什么都限制都没有了。。。那有什么更好的方法呢?一定有的,那就是结果XMLHTML即Ajax技术的一个页面缓存

原理是将页面受保护内容加入缓存区,页面装入时可以读取js文件里的内容这样,你就算使用源码查看也没有办法看到里面的受保护内容

下面是一个很简单的源码,想学的人可以看下!注意这是前端代码,而调用的服务器端ajax方法并未包含在内


<!--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
<!----下面是源码 ,在下一向认为学以致用才有意义,以逞口舌之娱的人自然会被淘汰,封闭自守还像老一辈人那样把技术当作秘密也不例外!----------------------------------------------->

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="Test_test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>隐藏代码测试</title>
<script type="text/javascript">
function GetHTML()
{
if(document.getElementById("Content").style.display == "none" || document.getElementById("Content").style.display == "")
{
document.getElementById("Content").style.display = "block";
document.getElementById("buttonShow").value = "隐藏内容";

var outStr = Test_test.getHTML().value;

document.getElementById("Content").innerHTML = outStr;

}
else
{
document.getElementById("buttonShow").value = "显示内容";
document.getElementById("Content").style.display = "none";
}

}
</script>
</head>
<body onload="" oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false" onmouseup="document.selection.empty()">
<form id="form1" runat="server">
<input id="buttonShow" type="button" onclick="GetHTML()" value="显示内容" />
<div id="Content" style="display:none">

</div>
</form>
</body>
</html>
原文地址:https://www.cnblogs.com/shinefzh/p/1128889.html