作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我管理的两个网站上,我们的一个安全例程一直在检测一些有问题的查询字符串,如果 IP 没有被欺骗,这些查询字符串主要来自俄罗斯联邦。
例如 /member.php?data=phentermine-prices'"
或 /member.php?data=get-online-viagra'"
我们对带有 SQL 注入(inject)标记的 URI(在本例中为引号)的做法是使用 PHP header("Location:")
并将它们定向到其他地方。
我的问题是这是否足够或最佳实践。我知道该站点没有受到损害,因为我有 cron 作业可以在几分钟内提醒我任何修改过的文件或新文件,但我仍然担心来自聚合站点的反向链接中毒。我应该改为发送 403、404 或 301 http header 吗?
请记住,拒绝或重定向的预期接收者是来自 Google 等的合法蜘蛛,它们都遵循这些托管在 SEO 坏人网站上的虚假反向链接。我们希望通过处理传入请求让 Google 知道这些是虚假的。
最佳答案
没有适合所有人的通用方案。如果 PHP 中的问题检测对您有用 - 只需使用它。它更容易和更灵活。如果您发现您认为无效/非法的网址,请使用标准 HTTP 响应:
header( 'HTTP/1.1 403' );
但这可能表明某物存在并且被禁止,因此可能无法阻止攻击 - 在这种情况下使用:
header( 'HTTP/1.1 404' );
如果我是你,我不会重定向。重定向时 - 你必须重定向到某个地方。此页面将包含哪些内容?您向任何攻击您网站的人提供的信息越少越好。
关于apache - 俄罗斯搜索中毒?要返回哪个 HTTP header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19568694/
我是一名优秀的程序员,十分优秀!