从xss攻击中的用户输入中过滤元字符

时间:2011-02-09 16:29:15

标签: php xss

如果我这样做

,请在管理员登录页面上的我的网站上

http://www.domain.com/admin/index.php/%22onclick=document.location="http://www.google.com">

然后点击页面实际重定向的某个位置。我读了一些我需要过滤元字符的地方。但经过几个小时的谷歌搜索,我无法知道如何阻止这一点。以上从我所看到的不是得到或发布。我怎么能阻止这样的事情?

2 个答案:

答案 0 :(得分:1)

不,不要进行任何角色过滤/按摩。您需要做的是将所有用户输入视为邪恶病毒而不管它是如何发送给您的,并将其处理为此类。

如何生成此链接?这是你写的东西还是其他用户放入某种CMS的东西?

我不确定是否有足够的信息可以直接帮助您,但您绝不应该重定向用户传递到您网页的任何数据。相反,使用他们传递的信息来确定他们应该去哪里。

答案 1 :(得分:0)

我同意其他人的说法,如果你的脚本执行传入QUERY_STRING的任意JavaScript或任何参数,那么你的脚本会出现严重错误。

“执行此操作以处理80%的威胁”要做的事情是编写一个替换%&的scrubInput()函数。 ; <和>到their respective metacharacter codes。这不包括存储在数据库中的所有攻击向量,但是;将照顾很多这些。