想让我的用户';s提供的文本输入可以安全地显示在聊天框中(去掉所有html和xss漏洞)


Want to make my user's supplied text input safe to display in the chatbox (strip all html and xss exploits)

我想从用户提供的输入中删除所有html和跨站点脚本漏洞,因为用户提供的所有输入都会在聊天框中显示给其他用户。

我计划在将提供的输入插入数据库之前,通过一个过滤器(如htmlpurifier)运行它,然后每次读取数据库都不必过滤它

htmlpurifier似乎有些过头了,但可能有必要确保不使用跨站点脚本漏洞?然而,即使有了这个过滤器,我也看不出有什么方法可以去除之类的东西

<img src="http://example.com" />

来自输入。

有没有一个工具/类/函数可以做我想做的事?(删除所有html并删除XSS漏洞)请记住,这只适用于聊天框,而不是整个网站,但它确实需要快速,因为聊天框有许多同时使用的用户。

谢谢。

有几种方法可以实现这一点,在没有看到代码的情况下,实际上不可能给出具体的例子,但请查看诸如preg_match、preg_filter、htmlspecailchars之类的东西,这可能会持续一段时间,因此请通读php字符串函数和PCRE。

此外,当向数据库发布内容时,有预先构建的数据库驱动程序可以做到这一点。查看PHP数据对象或mysqli。在我看来,你应该把重点放在PHP数据对象上,因为它往往更容易保持安全。