使用 $_REQUEST 的危险:虚假的便利
虽然 $_REQUEST 变量可以提供暂时的缓解,但它掩盖了一个根本问题:可能会导致潜在的安全漏洞和错误
过多 Cookie 包含的陷阱
与表单提交参数($_GET 和 $_POST)不同,cookie 是不同的实体,不应以相同的方式处理方式。默认情况下,$_REQUEST 结合了所有三个源:$_GET、$_POST 和 $_COOKIE。当 cookie 名称与表单参数重合时,这可能会导致冲突,从而导致该参数被 cookie 的值覆盖。
当多个应用程序驻留在同一个网站中时,这可能会特别成问题,因为它可能会导致到无意的形式故障。即使只有少数用户维护旧 cookie,后果也可能难以预测且难以诊断。
降低风险
为了避免这些陷阱,建议避开 $_REQUEST。在需要组合 GET 和 POST 数组的场景中,最好手动组装它。
在 PHP 5.3 及更高版本中,您可以通过设置 request_order 配置来更改 $_REQUEST 的默认行为以排除 cookie到“GPC”。但是,如果这不可行,手动构建组合数组仍然是更安全的方法。
以上是为什么在 PHP 中使用 `$_REQUEST` 有风险?的详细内容。更多信息请关注PHP中文网其他相关文章!