在我的服务器上,我关闭了 magic_quotes。当用户从表单将内容保存为我的数据库中的文章时,我使用
$text = mysql_real_escape_string($_POST['text']);
以防止 SQL 注入。
这是我的输入<img src="image.png"></img>
,这就是它保存在数据库中的内容<img src="image.png"></img>
当我echo htmlentities($row['text']);
在<img src="image.png"></img>
屏幕上打印时,在查看源代码时我得到<img src="image.png"></img>
.
我的问题是
- 不应该像
<img src=\"image.png\"></img>
防止 SQL 注入那样保存在数据库中吗? - 是
htmlentities
防止 XSS 攻击的好选择吗? - 我应该打开magic_quotes吗?