【问题标题】:User input validation before sanitizing?消毒前的用户输入验证?
【发布时间】:2014-10-02 15:39:02
【问题描述】:

如果我想验证用户输入,是否需要事先对其进行清理?

$age = $_POST['age'];
if ($age == 18) {
    echo 'is 18';
}
else
{
    echo 'Is not 18';
}

这个例子是否让我容易受到攻击?我应该在 if/else 块之前清理年龄吗?

$age = htmlentities($_POST['age'])

$age = stripslashes($_POST['age'])

【问题讨论】:

  • 总是先消毒。
  • @JayBlanchard 你能解释一下为什么我不打算输出输入或将其添加到数据库中吗?谢谢
  • 这只是一个好习惯。

标签: php validation html-entities sanitize


【解决方案1】:

这里没有任何攻击的可能性。输入字符串不会被评估为代码或试图以任何方式执行。您只是将一个字符串与另一个字符串/数字进行比较,这是一种安全操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 2017-09-11
    相关资源
    最近更新 更多