【问题标题】:Data Sanitization in PHP [closed]PHP中的数据清理[关闭]
【发布时间】:2012-02-28 05:06:42
【问题描述】:

有人可以推荐一个最新的 PHP 数据清理库吗?

我正在寻找一个提供一组数据清理功能的库。电子邮件验证/清理(删除那些 %0A、\r...)、剥离 htlm(stripslashes(htmlentities)、删除脚本、SQL 注入……与用户提交的数据相关的任何形式的利用。

CakePHP 清理类(不是“框架”)看起来不错.. ?

【问题讨论】:

  • 请定义“数据清理”。您是要删除 html 实体、只是潜在的 xss 攻击还是 sql 注入攻击?

标签: php sanitization


【解决方案1】:

查看PHP Filter

【讨论】:

【解决方案2】:
【解决方案3】:
$firstName = $_POST['fname'];
$new_string = filter_var($firstName, FILTER_SANITIZE_STRING);
echo $new_string;

【讨论】:

  • PHP 过滤器已作为答案发布。
【解决方案4】:

CakePHP 是一个框架,而不是一个卫生库。

编写自己的清理函数可能更容易。

【讨论】:

  • 我只打算使用 sanitize.php 文件。
  • 很公平,我没有点击链接。
【解决方案5】:

没有数据清理这样的东西。数据本身并不危险——它的使用环境决定了它的安全或不安全。这意味着在输入时尝试验证/清理数据是没有意义的。相反,您应该在输出时正确转义它。另请参阅我的answer here

【讨论】:

  • 如果您需要在输入中允许标记,但又不想受到 xss 攻击,那么在输入时验证/清理数据并非“毫无意义”。为什么要存储危险的输入?
  • 我认为这是一个极端情况,我会为此使用 HtmlPurifier。
【解决方案6】:

当您需要保留 html 标记时,用于过滤 xss 攻击:htmlpurifier

如果不需要保留html标记,可以使用htmlspecialcharshtmlentities

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 2013-11-11
    • 2020-04-17
    • 2012-03-03
    相关资源
    最近更新 更多