如何在PHP中转义输出

Chr*_*ism 3 php security xss escaping

我是新手,只是为了清楚.我听到很多关于逃避数据以防止XSS攻击的事情.我该怎么做呢?

这就是我目前正在做的事情 -

$s = mysqli_real_escape_string($connect,$_POST['name']));
Run Code Online (Sandbox Code Playgroud)

这够了吗?谢谢

Sup*_*Spy 7

如果将数据输出到html,则应使用htmlspecialchars() else,如果要将数据存储在数据库中,则应使用mysqli_real_escape_string()转义字符串并转换数字(或使用两者的预准备语句)并保护标识符/运算符基于白名单的过滤机.

如果以正确的方式使用它们,这些方法都是您所需要的.


Tok*_*okk 5

您应该使用htmlspecialchars而不是mysqli_real_escape_string进行输出。

  • 是的,当您将不受信任的数据输出到数据库时,您可以使用 `mysqli_real_escape_string($something)` 或 `$pdo->quote($something)` 或准备好的语句。当您通过将某些内容回显到他/她收到的 html 页面中向用户输出不受信任的数据时,您可以使用 `htmlspecialchars($something, ENT_QUOTES);` (4认同)