您的位置:首页 > 其它

搜索引擎优化-黑帽技术

2014-05-04 22:54 260 查看
黑帽

百度百科:笼统的说,所有使用作弊手段或可疑手段的,都可以称为黑帽SEO。

比如说垃圾链接,隐藏网页,桥页,关键词堆砌等等。

近一两年,最典型的黑帽搜索引擎优化是,用程序从其他分类目录或搜索引擎抓取大量搜索结果做成网页,

然后在这些网页上放上Google Adsense。这些网页的数目不是几百几千,而是几万几十万。所以即使大部分网页排名都不高,

但是因为网页数目巨大,还是会有用户进入网站,并点击Google Adsense广告。

白帽搜索引擎营销人员受制于规则,遵循搜索引擎服务条款。

黑帽技术分析

如果希望获取某个关键词,那么在查看搜索引擎结构时,将你的站点和竞争者的进行对比,通常是很有用的

。吐过你的竞争者之一运用了黑帽技术,那么即时只为了这个原因,这个技术也是只得去理解的。

1.避免攻击

一些黑帽搜索引擎营销人员通过有漏洞的或不严格的软件,来将指向他们网站的连接放到你的站点上,

以增加它们的排名。这可以通过博客回帖或者其他有缺陷的脚本进行。一般都会利用工具来定位

这些脆弱点。所以更新第三方软件是很有必要的。

2.HTML插入攻击

输入数据校验和转义是个常见的安全问题,但是大部分Web开发人员只在SQL内容中进行这项工作。

大部分有经验的Web开发人员知道,在将数据发送到SQL数据库之前,必须对数据进行转义或清理。

下面是没有转义的代码:

<?php

echo 'Your query for' .

$_GET['parameter'] .

'has no results. ';

?>

下面是正确对输入数据进行转义的代码;

<?php

echo 'Your query for' .

htmlspecialchars($_GET['parameter']) .

' has no results.' ;

?>

3.使用Nofollow避免回帖攻击

很多黑帽垃圾网站利用博客或者贴吧留言回帖功能,发布大量垃圾信息,指向它们的Web站点。

当站点上包含有链接指向不希望链接的站点时,可以使用

<a rel="nofollow" href="http://too.bad.com">Bad site!</a>

但是不能每个网站都自己手动添加,所以需要自动脚本来完成。

下面创建自动脚本只允许白名单中的链接地址被搜索引擎追踪,步骤如下:

(1)在include文件夹中创建文件nofollow.inc.php

<?php

require_once 'config.inc.php';

function onFollowLinks($str)

{

return preg_replace_callback("#(<a.*?>)#i",create_function('$matches','return fixLink($matches[1]); '),$str);

}

function fixLink($input)

{

$whitelist = $GLOBALS['whitelist'];

if (preg_match('#rel\s*?=\s*?[\'"]?.*?nofollow.*?[\'"]?#i', $input))

{

return $input;

}

preg_match('#href\s*?=\s*?[\'"]?([^\'"]*)[\'"]?#i',$input,$captures);

$href = $captures[1];

if (!preg_match('#^\s*http://# ',$href))

{

return $input;

}

$parsed=parse_url($href);

$host=$parsed['host'];

if (in_array($host,$whitelist))

{

return $input;

}

$x=preg_replace('#(rel\s*=\s*([\'"]?))((?(3)[^\'"]*|[^\'"]*))([\'"]?)#i','\\1\\3,nofollow\\4',$input);

if ($x!=$input)

{

return $x;

}

else

{

return preg_replace('#<a#i','<a rel="nofollow" ',$input);

}

}

?>

(2)修改include文件中config.php文件,就是添加白名单,这里允许域名为lu.com和本地链接被追踪

<?php

define ('SITE_DOMAIN','http://localhost/include/media');

$GLOBALS['whitelist']=array('http://localhost/include','lu.com');

?>

(3)comments.php文件

<?php

require_once 'nofollow.inc.php';

?>

<html>

<head>

<title>test</title>

</head>

<body>

<h1>old commends</h1>

<?php

echo onFollowLinks('<p>Take a look at <a href="http://too.much.spam">cool@@talink</a>!</p>');

echo onFollowLinks('<p>We test<a href="lu.com">link</a>ta</p>');

?>

</body>

</html>

(4)加载http://localhost/include/commnets.php



查看源代码可发现,lu.com允许被跟踪,而第一个被nofollow,实验成功

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: