Viv*_*ela 5 php mysql xss htmlspecialchars
我正在使用htmlspecialchars()函数来防止XSS攻击.我怀疑从下面将数据存储在数据库中的更好方法是什么.
方法1:应用htmlspecialchars()函数后存储用户输入值.使用它,用户输入"<script>"将变为"< script>" .
方法2:按原样存储用户输入并htmlspecialchars()在检索数据并在页面上显示时应用方法.
我怀疑的原因是我相信使用方法1会在数据库上产生开销,而使用方法2数据需要在通过php请求时反复转换.所以我不确定哪一个更好.
有关更多信息,我正在使用,htmlspecialchars($val, ENT_QUOTES, "UTF-8")以便转换'和'.
请帮我清除疑惑.如果可能,还提供说明.
谢谢.
dec*_*eze 10
HTML仅在必要时转义数据,这让您有信心知道自己在做什么.这个:
echo htmlspecialchars($data);
Run Code Online (Sandbox Code Playgroud)
比以下更好:
echo $data; // The data should already come escaped from the database.
// I hope.
Run Code Online (Sandbox Code Playgroud)