现在我试图过滤所有变量以保护我的网站免受xss的攻击。 我在这里和那里读了一些东西,对我而言,最好的方法就是将我需要的所有字符列入白名单 对于我使用的数字
$adrnr = preg_replace("/[^0-9]/", "", $adrnr);
但是,如果谈到单词我自德语以来就有问题我需要将ü,ä,ö和ß列入白名单吗?
答案 0 :(得分:1)
虽然您可以(甚至应该)过滤/转换/验证您的输入,但必须为您的输出执行XSS预防,因为您需要做的是基于上下文。 htmlspecialchars()
可以将您保存在输出中的很多位置,但不是全部。请参阅OWASP XSS Prevention Cheat Sheet。
对于德语名称的输入验证,您可以使用:
preg_match('/^[a-zA-ZäöüßÄÖÜ ]+$/', $nachname)
答案 1 :(得分:0)
您只需使用htmlspecialchars来转义HTML字符。