使Jscript不太可能从网站复制?

时间:2012-09-01 10:38:37

标签: html jscript

问题是我有一些jscript,一旦用户在文本区域中输入文本,它就会更改文本并放入另一个文本区域。

我想要发生的是,如果有人复制了这个,那么当复制它的人在文本区域中显示一条消息时,请征求我的同意。

以下是我发现有人开展这项工作的例子,但不确定他们是如何做到的?

function flip(){var _0x4f33=["\x68\x72\x65\x66","\x66\x73\x79\x6D\x62\x6F\x6C\x73\x2E\x63\x6F\x6D\x2F","\x73\x65\x61\x72\x63\x68","\x74\x65\x78\x74\x2D\x73\x79\x6D\x62\x6F\x6C\x73\x2E\x63\x6F\x6D\x2F","\x66\x69\x6C\x65\x3A\x2F\x2F","\x48\x69\x21\x20\x3D\x29\x20\x50\x6C\x65\x61\x73\x65\x2C\x20\x63\x6F\x6E\x74\x61\x63\x74\x20\x6D\x65\x20\x61\x74\x20\x69\x68\x6F\x72\x2E\x69\x62\x6D\x40\x67\x6D\x61\x69\x6C\x2E\x63\x6F\x6D\x20\x69\x66\x20\x79\x6F\x75\x20\x77\x61\x6E\x74\x20\x74\x6F\x20\x75\x73\x65\x20\x61\x62\x6F\x71\x65\x20\x6F\x6E\x20\x79\x6F\x75\x72\x20\x77\x65\x62\x73\x69\x74\x65\x2E\x20\x49\x2C\x20\x61\x74\x20\x6C\x65\x61\x73\x74\x2C\x20\x77\x61\x6E\x74\x20\x74\x6F\x20\x62\x65\x20\x73\x75\x72\x65\x2C\x20\x79\x6F\x75\x27\x6C\x6C\x20\x6C\x69\x6E\x6B\x20\x74\x6F\x20\x6D\x79\x20\x46\x53\x79\x6D\x62\x6F\x6C\x73\x2E\x63\x6F\x6D\x20\x66\x72\x6F\x6D\x20\x74\x68\x65\x20\x70\x61\x67\x65\x20\x6F\x6E\x20\x77\x68\x69\x63\x68\x20\x79\x6F\x75\x20\x75\x73\x65\x20\x69\x74\x2E","\x76\x61\x6C\x75\x65","\x6F\x72\x69\x67\x69\x6E\x61\x6C","\x66","\x66\x6C\x69\x70\x70\x65\x64"];var result,hr=location[_0x4f33[0]];if(hr[_0x4f33[2]](_0x4f33[1])==-1&&hr[_0x4f33[2]](_0x4f33[3])==-1&&hr[_0x4f33[2]](_0x4f33[4])==-1){result=_0x4f33[5];}else{var result=flipString(document[_0x4f33[8]][_0x4f33[7]][_0x4f33[6]]);};document[_0x4f33[8]][_0x4f33[9]][_0x4f33[6]]=result;}function flipString(aString){var _0xf177=["\x6C\x65\x6E\x67\x74\x68","\x68\x72\x65\x66","\x63\x68\x61\x72\x41\x74","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","","\x6A\x6F\x69\x6E","\x66\x69\x6C\x65\x3A\x2F\x2F","\x73\x65\x61\x72\x63\x68","",""];var last=aString[_0xf177[0]]-1;var hr=location[_0xf177[1]];var result=new Array(aString[_0xf177[0]]);for(var i=last;i>=0;--i){var c=aString[_0xf177[2]](i);var r=flipTable[c];r=r?r:flipTable[c[_0xf177[3]]()];result[last-i]=r?r:c;};var res=result[_0xf177[5]](_0xf177[4]);if(hr[_0xf177[7]](_0xf177[6])!==-1){res+=_0xf177[8]+_0xf177[9];};return res;}var flipTable={'?':'\u00BF','!':'\u00A1',a:'\u0250',b:'q',c:'\u0254',d:'p',e:'\u01DD',f:'\u025F',g:'\u0183',h:'\u0265',i:'\u0131',j:'\u027E',k:'\u029E',m:'\u026F',n:'u',r:'\u1d1a',t:'\u0287',v:'\u028C',w:'\u028D',y:'\u028E',A:'\u2200',E:'\u018e',F:'\u2132',H:'H',N:'N',I:'I',O:'O',W:'M',Z:'Z',S:'S',X:'X',T:'\u22a5',V:'\u039B',C:'\u03FD',P:'\u0500',R:'\u1588',U:'\u2229','.':'\u02D9','[':']','(':')','{':'}',"\'":',','<':'>','"':'\u201e','_':'\u203E','2':'5','3':'\u0190','4':'\u152d','6':'9','7':'\u2c62','\u203F':'\u2040','\u2045':'\u2046','\u2234':'\u2235','\r':'\n'};var _0xc5da=[];for(i in flipTable){flipTable[flipTable[i]]=i;}; 

如果有人知道如何做到这一点,那就太好了。

由于

3 个答案:

答案 0 :(得分:5)

没有100%完全阻止用户复制源代码的方法。无论您做什么,确定的用户仍然可以获得代码。
也就是说,这2个网站可以为您提供帮助:http://www.javascriptobfuscator.comhttp://htmlobfuscator.com/。但请记住,这仍然可以绕过。还有其他在线工具可以“去混淆”Javascript。并且没有办法找出用户何时复制您的代码,因此您无法让他们请求许可。

答案 1 :(得分:1)

他们可能会加密页面上的文字并用JavaScript解密。

评论:我认为这不起作用。这只会困扰你的用户。

答案 2 :(得分:0)

我同意没有绝对的治疗方法。

过去有一个名为“HTML Armor”的商业程序可以完成您提出的所有问题,包括使用您自己保存的(“被盗”)网页副本显示已完成的页面。

不幸的是,如果它可以被人类加密,它可以很容易被另一个人打破!

另一个缺点是,许多反病毒软件产品会在将这些脚本复制到用户的临时Internet文件夹后立即标记为恶意脚本。毕竟,这就是他们的目标。这是因为许多恶意程序员编写了蠕虫和其他“恶意软件”,并且通常在其脚本中使用某种形式的加密。实际上只有很多方法可以将脚本加密到可以在需要时解密的地方!

所以我真的没有任何其他答案。