为了避免SQL注入和XSS,我们使用函数htmlspecialchars()或其他类似escapeString。
如果我们每次构造SQL查询并获得结果时都必须使用此函数,那么为什么函数
$results->fecthArray();
不直接应用函数htmlspecialchars?
答案 0 :(得分:1)
当编程/指令语言发生更改时,就会发生注入攻击。例如,从PHP到SQL,在SQL服务器处理之前,您需要mysqli_real_escape_string
来转义查询字符串。
要回答您的问题,$results
仍然是PHP变量,您只需要在输出HTML表单之前执行转义。大多数人不会立即这样做,有些人甚至可能不会输出到HTML,因此该功能不需要自动应用htmlspecialchars
。