【问题标题】:Sanitize input before storing into database在存储到数据库之前清理输入
【发布时间】:2016-04-23 06:53:45
【问题描述】:

首先,我有一个接受用户输入的 html 编辑器。我想将纯 html 标签存储在数据库中,并满足出现的引号(sql 注入)。

例如,

$input = "<h1><strong><span style="font-size:36px">I'm waiting</span></h1>";

我只需要满足 我正在等待 的引用,而不是在存储到数据库之前出现在 html 标记之间的引用。有什么推荐的方法吗?

ps:在这种情况下,请忽略带有准备好的语句的 PDO(或 mysqli)。

【问题讨论】:

  • 您尝试使用htmlentities()
  • 你从数据库收到了什么??
  • 为什么要区别对待html标签和中间的文本。它们都是用户输入,也是 sql 注入的安全风险
  • 不使用任何转义函数/准备好的语句,除此之外的任何东西都会让您面临 SQL 注入。

标签: php html htmlspecialchars addslashes


【解决方案1】:

您应该使用http://php.net/manual/en/function.mysql-real-escape-string.php 确保不会对您进行 sql 注入。

【讨论】:

  • 告诉某人使用已弃用的方法不是一个好主意。
  • @MattStephens,另一方面,告诉某人某些东西已被弃用而不告诉使用什么是非常有帮助的
猜你喜欢
  • 1970-01-01
  • 2013-02-04
  • 2011-01-04
  • 1970-01-01
  • 2014-01-15
  • 2013-08-21
  • 1970-01-01
  • 2020-06-13
  • 2013-06-16
相关资源
最近更新 更多