【问题标题】:Where can I find a good coverage of standard Data Sanitization Techniques?我在哪里可以找到标准数据清理技术的良好覆盖范围?
【发布时间】:2011-11-11 10:55:18
【问题描述】:

我有三本关于 PHP 或 PHP 和 MySQL 的书,其中一本可能有理由期望找到一些有关数据清理的内容,但我没有任何运气。是否有可靠的在线资源涵盖了清理数据的基础知识,无论是在将数据放入数据库之前还是在从数据库中提取数据之后显示之前?

【问题讨论】:

    标签: php mysql sanitization


    【解决方案1】:

    Stackoverflow 就是这样的资源。您的问题每天被问两次。

    我之前就这个话题写了一个相当不错的答案:In PHP when submitting strings to the database should I take care of illegal characters using htmlspecialchars() or use a regular expression?

    长话短说:对于动态 mysql 查询创建,您有 四种 不同的转义情况:

    • 字符串数据
    • int 数据
    • 标识符
    • 运营商

    而臭名昭著的 PDO 仅涵盖其中的 两个

    对于带有 ENT_QUOTES 的 HTML htmlspecialchars 来说已经足够了。
    但是,还有很多其他情况,例如文件名清理、邮件注入等

    【讨论】:

      【解决方案2】:

      Chris Shifflet 就此写了一本书,名为 Essential PHP Security

      【讨论】:

        【解决方案3】:

        使用PDO和binding或者适合mysql的escape string function来输入数据。

        使用htmlspecialcharsENT_QUOTES 以及正确的数据字符集以显示输出。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-10-08
          • 2011-04-18
          • 1970-01-01
          • 1970-01-01
          • 2010-11-18
          • 2017-10-29
          • 2015-06-10
          相关资源
          最近更新 更多