2012-11-07 67 views
2

我写了一个体面的管理界面,包括库存管理,内容管理和博客。现在是它的时间来锁定它,并使其安全(是的,我应该从一开始就这样做...混淆了htmlspecialchars,real_escape_string等

对于博客的创建/编辑,我使用ckeditor将HTML输出发布到editblog.php。此外,我使用标题,作者等简单的文本输入...

我很担心,因为博客将有img src =“uploads/etc.jpg”,以及divs,跨度等。当我清理这些数据时,如何确保所有这些引号和斜线可以安全地插入到我的SQL数据库中,我该怎么做才能将它吐出来放在前端? m也有关系,因为如果博客“引用”某些内容,我不希望这会与eithe混淆河

简单的输入像标题,作者等我正在使用$ title = mysqli_real_escape_string($ title) 但是那足够吗?如何在避免攻击的同时保留用户的预期输入?

我已经完成了我的研究,但我仍然没有得到它。我希望有人能打破它简单好用的我...

回答

1

尼斯和简单...

你总是为消毒的背景下,你想要写。

这些技术将保留用户的输入,但会阻止输入被解释为特定上下文中的代码。

当你要查询的数据库,你担心SQL注入攻击:

  • 使用mysql_real_escape_string消毒SQL数据库查询。

当你想显示的东西(如HTML),将被浏览器解析,你担心跨站点脚本:

  • 使用用htmlspecialchars消毒的HTML输出。

这将提供基本的安全级别。