Php:我如何防止用户写的url链接攻击?

时间:2009-11-18 18:31:08

标签: php security

当用户在评论中输入网址时,该网址将成为链接。

如何防止来自这些链接的攻击?我可以采取的任何措施?

感谢名单

6 个答案:

答案 0 :(得分:3)

除了节制外,你无能为力。计算机无法确定链接是否合理。你可以检查黑名单,你可以检查域中的一些单词,但除此之外你没有多少可以做,对不起......

答案 1 :(得分:2)

  1. 您可以编写自己的过滤系统,根据垃圾词来标记帖子,并检查垃圾邮件或成人相关内容的链接

  2. 使用像Aksimet这样的第三方工具来检查你

  3. 使用审核系统,以便任何包含链接的帖子都必须得到您的批准。

  4. 以上所有内容。你甚至可以在那里扔一个CAPTCHA来减慢机器人的速度。

答案 2 :(得分:2)

这会在本地清理您的网址,但如果用户点击该链接,则会对恶意外部网站产生零影响:

$url = "http://www.mytesturl.com";
$url = filter_var($var, FILTER_SANITIZE_URL);

过滤器会移除所有字符, 字母,数字 $ -_。+!*'(),{} | \\ ^〜 []'<>#%“; /?@&安培; =

答案 3 :(得分:1)

不允许在评论中使用链接标记? 使用php strip_tags函数从提交的注释中删除html标记(您也可以添加允许该函数使用的标记列表)。

答案 4 :(得分:1)

你可以使用黑名单(不会捕捉大多数东西),白名单(它会阻止大多数无害链接),或者使用重定向屏幕警告用户“不要成为白痴,这个链接可能是恶意的“(这不会阻止链接,但是让你说你警告用户,这是他们自己的错)。选择你的毒药。

答案 5 :(得分:0)

结帐mollom.com,此第三方服务仅在用户显示为垃圾邮件时才会提示用户选择CAPTCHA。