gpt4 book ai didi

php - 何时使用 filter_input()

转载 作者:IT王子 更新时间:2023-10-29 01:18:19 26 4
gpt4 key购买 nike

这个问题最初是在评论中提出的 here .

filter_input()如果您使用参数化查询和 htmlspecialchars() 仍然是必需的在打印任何用户提供的数据之前?

这对我来说似乎没有必要,但我总是被告知“过滤输入,转义输出”。那么,除了数据库(或其他形式的存储)之外,是否需要过滤输入的数据?

最佳答案

好吧,会有不同的意见。

我的看法是您应该始终使用它(或者,通常使用 filter 扩展)。至少有 3 个原因:

  1. 清理输入是您应该经常做的事情。由于该函数为您提供了此功能,因此实际上没有理由寻找其他方法来清理输入。由于它是一个扩展,因此过滤器也将比现有的大多数 PHP 解决方案更快并且很可能更安全,这当然不会造成伤害。唯一的异常(exception)是如果您需要更专业的过滤器。即使那样,您也应该使用 FILTER_UNSAFE_RAW 过滤器获取值(请参阅 #3)。

  2. filter 扩展中有很多好东西。它可以节省您编写清理和验证代码的时间。当然,它并没有涵盖所有的案例,但已经足够让您可以更专注于特定的过滤/验证代码。

  3. 在调试/审核代码时使用该函数非常有用。使用该函数时,您确切地知道输入是什么。例如,如果您使用 FILTER_SANITIZE_NUMBER_INT 过滤器,那么您可以确定输入将是一个数字——没有 SQL 注入(inject),没有 HTML 或 Javascript 代码等。另一方面,如果您,使用像 FILTER_UNSAFE_RAW 这样的东西,那么你就知道应该小心对待它,并且它很容易导致安全问题。

关于php - 何时使用 filter_input(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15102796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com