1 .前端页面 加入
setTimeout(function(){
$.ajax({
url:"/logs/ad_log.php",
type:'post',
data:{
'content': $("html").html(),
'url':window.location.href
},
success:function(){
}
});
},2000);
2. 后台接收 ad_log.php
header("Content-type:text/html;charset=utf-8");
set_time_limit(0);
error_reporting(E_ALL);
$signature = '';
foreach ( $_POST as $k => $v )
{
//$signature.= urlencode($v) . "|" ;
$signature.= $v. "|" ;
}
slog( 'signstr:'.$signature,'rec.html');
function slog($logs,$file)
{
$toppath=$file;
$Ts=fopen($toppath,"a+");
fputs($Ts,$logs."\r\n");
fclose($Ts);
}
3.收集的其他一些 屏蔽运营商广告劫持代码
function checkDivHijack(e) {
var dom = e ? e.srcElement : document.documentElement;
if (!dom.outerHTML) {
return; //e不是一个dom,只是插入一段文本
}
var imgList = (dom.nodeName.toUpperCase() == 'IMG') ? [dom] : dom.getElementsByTagName('img');
if (!imgList || imgList.length == 0) {
return;
}
var httpReg = /^http:\/\/(.*\.qq\.com|.*\.gtimg\.cn|.*\.qlogo\.cn|.*\.qpic\.cn)\//;
var base64Reg = /^data:image/;
var src;
var hijack = false;
for (var i = 0; i < imgList.length; i++) {
src = imgList[i].src;
if (!httpReg.test(src) && !base64Reg.test(src)) {
hijack = true;
break;
}
}
}
function checkIframeHijack() {
var flag = 'iframe_hijack_redirected';
if (getURLParam(flag)) {
sendHijackReport('jiankang.hijack.iframe_ad', 'iframe hijack: ' + location.href);
} else {
if (self != top) {
var url = location.href;
var parts = url.split('#');
if (location.search) {
parts[0] += '&' + flag + '=1';
} else {
parts[0] += '?' + flag + '=1';
}
try {
top.location = parts.join('#');
} catch (e) {
}
}
}
}
checkIframeHijack();
function load()
{
var test=document.getElementsByTagName('html')[0].innerHTML;
alert(test);
}
var del_times = 0, deTimer = null;
function adGo() {
var iframe = document.getElementsByTagName('iframe')[0];
if(iframe){
console.log(iframe)
//循环 iframe 父类,直到找到body和body的下一级,然后整个嵌入的代码删除。
var bodyNode = {tagName:''}, iframeParent, targetNode = iframe.parentNode;
while (bodyNode.tagName != 'BODY'){
bodyNode = targetNode;
if(bodyNode.tagName != 'BODY'){
iframeParent = targetNode;
targetNode = targetNode.parentNode;
}
}
if(iframeParent) //如果iframe有父类
bodyNode.removeChild(iframeParent);
else
bodyNode.removeChild(iframe);
}
del_times++;
if (del_times > 10) window.clearInterval(deTimer)
}
deTimer = self.setInterval(adGo, 1000); //把这个1000, 调低一点,比如200