【发布时间】:2023-03-14 13:11:01
【问题描述】:
我有点迷茫,PHP中有这么多函数,有的用这个,有的用那个。有些人使用:htmlspecialchars()、htmlentities()、strip_tags() 等
哪个是正确的,你们通常用什么?
这是正确的吗(如果有的话,请给我一个更好的建议):
$var = mysql_real_escape_string(htmlentities($_POST['username']));
这一行可以防止MySQL注入和XSS攻击??
顺便说一句,除了 XSS 攻击和 MySQL 注入之外,我还有什么需要注意的吗?
编辑
总结:
如果我想将字符串插入数据库,我不需要使用htmlentities,只需使用mysql_real_escape_string。显示数据的时候用htmlentities(),是这个意思吗??
总结:
-
mysql_real_escape_string插入数据库时使用 -
htmlentities()输出数据到网页时使用 -
htmlspecialchars()什么时候用过? -
strip_tags()什么时候用过? -
addslashes()什么时候用过?
有人可以填写问号吗?
【问题讨论】:
-
strip_tags() 可能不安全 securiteam.com/unixfocus/5UP0C15DFI.html
-
你可能关心 CSRF 和目录横向;修复目录横向的简单方法是
basename(realpath($path))。
标签: php code-injection