Javascript域名保护脚本

时间:2013-12-28 05:27:16

标签: javascript javascript-events

我制作了一个.js文件,我想保护它一点。只是从小型的leechers,显然更先进的人将能够弄明白。

我想添加到我的脚本中,检查文件正在哪个域上运行。如果它不是我的两个域(example1.comexample2.com),它将重定向到我的域。有点像iframe破坏者。

然后我可以采用整个代码并对其进行一些模糊处理。我的目的是阻止某人下载.js并在他们的服务器上使用它。

我的代码:

if(typeof(width)=='undefined')width=655;
if(typeof(height)=='undefined')height=540;
if(width<655)width=655;if(height<540)height=540;
if(width<height)height=width;
document.write('<ifr'+'ame src="/streams/hd/'+ ch+'.php" scrolling=no frameborder=0 width='+ width+' height='+ height+' scrolling=no allowtransparency=true id=thatframe ></ifr'+'ame>');

我可以添加一些内容,只允许脚本在我的网站上运行吗? example1.comexample2.com

3 个答案:

答案 0 :(得分:0)

使用返回主机名的document.location.host,然后检查脚本,如

var _host = document.location.host;
if( _host == "example1.com" || _host == "example2.com" ){
    // do things for example1.com
}

如果您想保护您的JS文件,请使用jscompress压缩版本。

答案 1 :(得分:0)

非常基本的解决方案,我知道有更好的方法来获取当前的URL。

if (document.URL.indexOf('http://example.com') == 0) {
   // Then you're on example.com.
}

请注意,这也适用于子文件夹,例如: http://example.com/foo/bar

答案 2 :(得分:0)

您也可以像这样使用document.domain(MDN Reference for document.domain)

var allowedDomains = ['example1.com', 'example2.com'];

if (allowedDomains.indexOf(document.domain) == -1) {
  // Code to redirect here
}