【发布时间】:2009-11-27 17:21:09
【问题描述】:
目前,我在基于 PHP 的 CMS 上做了大量工作,并且在使用它的同时,我想将用户输入的所有处理和清理工作转移到一个中心位置。 (目前,这里是 $_REQUEST,那里是 $_GET,等等)。
我非常喜欢 filter_input() 并希望将它用于基本卫生,但我不清楚这个函数是否真的可以用于生产。例如,documentation 为 $type 命名以下参数
INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV, INPUT_SESSION (not implemented yet) and INPUT_REQUEST (not implemented yet).
该功能从 5.2.0 开始存在,为什么还没有实现两个关键元素?如果我想从 $_REQUEST 获取数据,您必须使用用户提供的注释中的解决方法。这有什么特殊原因吗?此功能是否仍处于某种测试阶段?作为处理传入数据的第一个调用是否值得信赖?
也许熟悉 PHP 开发过程的人可以对此有所了解。
【问题讨论】:
-
并且在 2015 年似乎仍然没有实现 $_SESSION 至少没有检查其他人但我只是再次拿起 php 球,但 filter_var 是一种解决方法。
-
INPUT_SESSION和INPUT_FILES未实现(尽管$_FILES呈现多维用例,默认情况下与其他用例不同)。将filter_var_array()用于$_SESSION。我可能还会注意到,也没有“INPUT_DATABASE”,但你仍然有责任。再次尝试filter_var_array()。