我是否安全地消毒了textarea

时间:2014-02-12 22:31:28

标签: php mysqli xss sanitization

我一直用它来清理xss-injects中的textareas,我还没有遇到任何问题但是因为我一直在google上阅读,我不确定这是否是一种安全的方法。

$comment = nl2br(htmlspecialchars($_POST['comment']));

然后我使用mysqli和bind_param()将它插入我的数据库;防止sql-inject

而且我只是按<p><?php echo $info['comment']; ?></p>

输出它

这是一种安全的方式吗?

我想要做的就是清理然后将其存储在我的数据库中然后输出它,并使用工作线路。

提前致谢,

2 个答案:

答案 0 :(得分:3)

使用数据库库提供的转义按原样存储。 nl2br,如果需要htlmentities/specialchars,则显示它。

答案 1 :(得分:1)

你根本就没有消毒。

如上所述,您需要使用转义数据库库提供的内容,因为转义方法因数据库类型而异。

从历史上看,您使用的是mysql_real_escape_string(),但自PHP 5.5.0起,现在已弃用。