俄罗斯搜索中毒?要返回哪个HTTP标头?

时间:2013-10-24 14:26:38

标签: apache seo http-headers

在我管理的两个网站上,我们管理的一个安全例程已经检测到一些有问题的查询字符串,如果IP没有被欺骗,则主要来自俄罗斯联邦。

例如/member.php?data=phentermine-prices'"/member.php?data=get-online-viagra'"

我们使用SQL注入标记的URI(在本例中为引号)的做法是使用PHP header("Location:")并将它们引导到别处。

我的问题是这是否足够或是最佳做法。我知道该网站没有受到损害,因为我有cron作业在几分钟内提醒我任何修改或新文件,但我仍然担心聚合网站的反向链接中毒。我应该发送403或404或301 http标头吗?

请记住,拒绝或重定向的预定接收者是来自Google等人的合法蜘蛛,他们都遵循这些在SEO坏人网站上托管的虚假反向链接。我们希望让Google知道这些因我们对传入请求的处理而言是虚假的。

4 个答案:

答案 0 :(得分:1)

每个人都没有普遍的情况。如果PHP中的问题检测适合您 - 只需使用它。它更容易,更灵活。如果您发现您认为无效/非法的网址使用标准HTTP响应:

header( 'HTTP/1.1 403' );

但是这可能表明某些事情是禁止的,因此可能无法阻止攻击 - 在这种情况下使用:

header( 'HTTP/1.1 404' );

如果我是你,我不会重定向。重定向时 - 您必须重定向到某个地方。此页面包含的位置和内容是什么?您为攻击您网站的人提供的信息越少越好。

答案 1 :(得分:1)

如果我在PHP脚本中检测到攻击者,我还会在文件中添加sleep(2),因此黑客会受到限制。我有一些好男人试图破解Joomla,这是阻止他们的唯一方法。简单的HTTP标头(404,403,500 ...)并没有阻止他们从我的服务器ddos。他们使用了来自世界各地的许多不同的IP地址(可能是僵尸网络),所以我无法阻止IP。

我认为如果他们知道自己拥有正确的URI,他们就不关心HTTP标头。但是如果他们的剧本在得到回复之前必须等待两秒钟,那么攻击我的成本太高了。

答案 2 :(得分:0)

这既不够,也不是最佳做法。

我不知道你的服务器设置是什么,但就PHP而言,你可以编写一个小的php处理程序来检测那些查询字符串,然后根据请求URI的IP在htacces中写一个拒绝规则。 / p>

如果您可以向我提供有关您的服务器设置的更多详细信息,我很乐意扩展您的响应。

答案 3 :(得分:0)

你正在使用PHP,所以我猜你在Apache服务器上? - 如果是这样,那么您可以使用 mod_rewrite 在请求到达您的应用程序之前停止请求。

您可以考虑一些技巧:

  1. 从IP地址范围过滤:

    RewriteCond%{REMOTE_ADDR} ^ 118 \ .87 \。

  2. 过滤掉可疑查询表达式:

    RewriteCond%{QUERY_STRING} ^。(viagra | phentermine | pharma | meds)。

  3. this tutorial

    中的更多内容

    谷歌有一个拒绝“非自然链接”的工具有一个tutorial here - 谷歌也有一个user guide

    您可以将虚假请求引导至记录引荐来源网址的脚本 - 这将有助于您的黑名单文件。