我正在使用htmlspecialchars()
功能来防止 XSS 攻击。我对以下将数据存储在数据库中的更好方法表示怀疑。
方法一:应用函数后存储用户输入值htmlspecialchars()
。使用它,用户输入"<script>"
将变为“<script>” .
方法2:按原样存储用户输入并htmlspecialchars()
在检索数据并将其显示在页面上时应用方法。
我怀疑的原因是我相信使用方法1会有数据库开销,而使用方法2数据需要在通过php请求时一次又一次地转换。所以我不确定哪个更好。
有关更多信息,我正在使用htmlspecialchars($val, ENT_QUOTES, "UTF-8")
它来转换 ' 和 " 。
请帮助我清除我的疑问。如果可能,也提供解释。
谢谢。