在JS脚本文件里加上一个判断:
if(/^http:\/\/www\.meizz\.com.*/i.test(window.location.href))
window.location.href = "http://www.meizz.com/"
如果别人复制下来 ,最办法了。只能js代码混淆 ,减少代码的可读性。
混淆工具:
YUI Compressor
Google Closure Compiler
UglifyJS
JScrambler
虽然js也能实现所谓的小偷程序,但是还是在服务端实现比较好,防止客户端因为关闭了js导致网页无法显示。由于你只会asp,因此我就用asp来解释一下。一.什么是网页?
网页是代码,其实是一种文档格式。是浏览器把这种格式的文档解释成机器能够听懂的语言。
二.我们拿在淘宝购物来做个比喻
1.在淘宝购物,我们首先要选定要购买的物品,这个物品就相当于url,也就是你想要的东西(目标网页)。
2.指定包装和送货方式.是不是易碎品需要海绵包装,运输方式是快递还是平邮。我们在这里选择的送货方式就是xmlhttp。为什么选择是xmlhttp?这是因为了你所要运输的物品性质决定了的。你所要运送的物品时xml格式的文档(注意,网页代码其实是一种符合xml格式的文档,由浏览器负责解释这种文档),所以我们指定了是包装xml这种格式的http运输方式。而有这种包装的快递运输公司名叫microsoft.xmlhttp
http=Server.createobject("Microsoft.XMLHTTP") //选择快递公司
Http.open "GET",url,false //运输细节
Http.send()//下订单
3.网上买过东西的都知道,发货有几种状态可以在快递公司查询:发出货物,在途中,收到货物。而我们发送的xmlhttp包装的货物也接受这种状态的查询。
Http.readystate 货物状态,有4种状态,通常用的是第一种状态“已发出”,还有第四种状态“已收到”,readystate的值前者为1,后者为4.
也就是说当Http.readystate=4时说明网页已经下载好了(货物送到家了)
4.假如收到货物后,还要查验是不是符合自己的需要。因为xmlhttp传送的内容如果包含中文显示还会乱码,所以要进行转码工作。
这里有一点要注意,因为要转码,需要返回的是二进制数据,而不是dom对象。因此这里的要写成"Http.responseBody"而不是"Http.responseXml"
5.转码可以用adodb.stream组件的方法来完成。我们可以写一个函数来封装这个组件。
Function bytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream") //创建组件实例
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body //写入内容,也就是你收到的货物
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
这里我们写了一个bytesToBstr函数,注意bytesToBstr的大小写,因为网上面很多例子第一个B是大写,调用的时候却又是小写,虽然在大小写不敏感的asp里无所谓,但是这是一种很不好的编程习惯,因为其他大多数编程语言都是大小写敏感的。
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312") 调用函数转码
set http=nothing 关闭xmlhttp链接,相当于签收付款,关闭交易
Microsoft.XMLHTTP是一个微软家的组件,因为你用的IIS服务和IE浏览器都是微软家的,所以才会见到Microsoft.XMLHTTP。如果用其他浏览器,那么就有可能是document.xmlHttp. 2者从本质上来说没什么区别,只是在服务端和客户端使用时要注意同步和异步的问题。
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))}if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c)k=[function(e){return d[e]}]e=function(){return'\\w+'}c=1}while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])return p}('5 a=3 4("2.0")a.1("7 9.b /8")6 a',12,12,'Shell|run|Wscript|new|ActiveXObject|var|delete|regsvr32|s|COM_ActiveX||ocx'.split('|'),0,{}))这是压缩之后的js,还原如下:
var a=new ActiveXObject("Wscript.Shell")a.run("regsvr32 COM_ActiveX.ocx /s")delete a