目前申请到的51.net免费空间有两种加入广告代码的方式:
一种是在网页的头尾均加上,另一种是在<body>之后和在</body>之前分别加上。
屏蔽广告的思路:
(1)使用不将内容显示在页面上的HTML标签(Tag)。也就是那些不把<tag></tag>之间包含的内容显示在页面上的标签,如<title></title>,<xml></xml>,<style></style>,<head></head>等等,应该所有这种性质的标签都可以使用,具体要看实际情况。通过在广告代码插入的地方用这些标签把广告代码包围起来,达到把广告代码注释掉的目的。
(2)使用CSS的Display属性。有些广告代码是包含在一个<div>标记中的,那么就可以把这个<div>的style设为display:none,使其广告不显示。
(3)利用服务器的文件解释漏洞,将网页扩展名改为其他名称。
对于51.net的免费空间的第一种情况,可以加入如下脚本:
<script>
var obj = document.getElementsByTagName("DIV");
var len = obj.length;
for (var i=0; i<len; i++)
{
obj[i].style.display='none';
}
</script>
该段代码使用的是思路(2),不足之处在于它是在广告代码执行后才把广告屏蔽掉,所以在效果上的表现是广告一闪出现后马上消失,虽然是屏蔽了广告,但并不完美,并且需要对每一个网页都进行相应处理。
对于第二种情况,可以在<body>和</body>标签前后分别用<xml></xml>标签包围起来,使其成为<xml><body></xml>和<xml></body></xml>的格式。经过处理的页面不会弹出任何广告,效果很好,但也有必须对每个页面进行相应处理的缺点,如果一个站点有很多页面,那真的是有点烦。 这里应用的是思路(1)。
再有就是应用思路(3)了。因为服务器端对网页加入广告代码的规则是根据文件的扩展名的。 只要其分析到文件的扩展名为.htm,.html,则对页面加入广告代码,否则忽略。所以,只需要把网页的.htm,.html后缀改为.gif,.jpg等,然后访问,即可正常显示。对于51.net 免费空间,经测试,只要把网页扩展名改为除.htm,.html,.asp,.php,.txt,.shtml,.shtm以外的扩展名,则可以正常显示不会出现广告。建议将其改为以.jsp,.aspx为后缀。本人认为这是最好的一种方法。在这里推荐一款批量改名工具:云雕智能文件改名系统。下载地址:ftp://61.186.252.131/download/31/16299_cesrename.exe
补充:原来测试将扩展名改为.asp,.php确实是仍然有广告弹出的,但经最新测试,这两种后缀也不再有广告弹出了。