【发布时间】:2011-03-15 06:37:27
【问题描述】:
我有一个网站,无法使用 html_entities() 或 html_specialchars() 来处理用户输入数据。相反,我添加了一个自定义函数,它最终是一个函数,它使用数组 $forbidden 来清除输入字符串中所有不需要的字符。目前,由于 sql 注入/浏览器劫持,我将 ''、"'" 作为不需要的字符。我的网站以 utf-8 编码 - 我是否必须向该数组添加更多字符,即字符“
感谢您的帮助,
梅尼
【问题讨论】:
-
为什么不能使用 htmlentities()?
-
因为它使用 kyrillic 字符会做一些奇怪的事情,我希望启用这些字符以供用户输入。
-
您是否尝试过使用带有可选字符集参数的 htmlentities()?
-
你不能使用带有utf8编码的htmlspecialchars?有关编码类型,请参阅文档:php.net/manual/en/function.htmlspecialchars.php
-
嗯,是的,我可以将 utf-8 与 htmlentities 一起使用,但是当我这样做时,在我的数据库中,像Начало 这样的词将显示为 Явл& #1077;ние абсолютного зла,这有点难以阅读......所以我需要的是一种可能性,以原样保存Начало,同时,没有安全性问题...
标签: php security sql-injection