HTML应该存储在数据库之前吗?或者通常的做法是在浏览器的路上进行编码?
我的所有基于文本的字段长度是否应该在数据库中翻两番以允许额外的存储空间?
寻找最佳实践,而不是坚实的是或否:-)
我正在使用htmlspecialchars()函数来防止XSS攻击.我怀疑从下面将数据存储在数据库中的更好方法是什么.
方法1:应用htmlspecialchars()函数后存储用户输入值.使用它,用户输入"<script>"将变为"< script>" .
方法2:按原样存储用户输入并htmlspecialchars()在检索数据并在页面上显示时应用方法.
我怀疑的原因是我相信使用方法1会在数据库上产生开销,而使用方法2数据需要在通过php请求时反复转换.所以我不确定哪一个更好.
有关更多信息,我正在使用,htmlspecialchars($val, ENT_QUOTES, "UTF-8")以便转换'和'.
请帮我清除疑惑.如果可能,还提供说明.
谢谢.