如何在PHP中正确转义html表单输入默认值?

Rya*_*yan 62 html php forms xss

给出以下两个html/php片段:

$_POST

$_POST

我需要为回显$_POST变量使用什么字符编码?我可以使用任何内置的PHP函数吗?请假设这些$_POST值尚未编码.没有任何神奇的引语.

rid*_*rid 94

使用htmlspecialchars($_POST['firstname'])htmlspecialchars($_POST['content']).

在将字符串htmlspecialchars()显示给用户之前,始终将其转义.

  • 注意:在`<input>`标记中对value属性使用双引号很重要. (14认同)
  • 除非你指定`ENT_QUOTES`作为第二个`htmlspecialchars()`参数,否则单引号不会被转义.因此,`$ _POST`值中出现的任何单引号都会突破`<input>`字段. (11认同)
  • 注意:不要试图使用htmlentities().这打破了UTF-8字符.正如rid所说,使用htmlspecialchars(). (5认同)