Php 筛选器输入(输入服务器和请求URI)返回NULL
问题:筛选\u输入(输入\u服务器,'REQUEST\u URI')返回空值,与$\u服务器['REQUEST\u URI']不同 知道如何解决这个问题吗?我假设这是服务器上的问题 示例: 返回字符串(1)“/” 返回空值Php 筛选器输入(输入服务器和请求URI)返回NULL,php,Php,问题:筛选\u输入(输入\u服务器,'REQUEST\u URI')返回空值,与$\u服务器['REQUEST\u URI']不同 知道如何解决这个问题吗?我假设这是服务器上的问题 示例: 返回字符串(1)“/” 返回空值 var_dump( filter_input( INPUT_SERVER, 'REQUEST_URI' ) ); 同样的问题也发生在 filter_input( INPUT_POST, 'name' ); 我使用以下方法作为解决方法: filter_var( $_POST
var_dump( filter_input( INPUT_SERVER, 'REQUEST_URI' ) );
同样的问题也发生在
filter_input( INPUT_POST, 'name' );
我使用以下方法作为解决方法:
filter_var( $_POST[$name], $filter ); // $filter is a reference in the function I'm using
filter_var( $_SERVER[$name], $filter );
filter_var( $_GET[$name], $filter );
这是按照建议发布的,您应该使用$\u服务器或$\u POST变量
当将INPUT_SERVER和INPUT_ENV与此函数一起使用时,FastCGI似乎会产生奇怪的副作用,产生意外的空值。您可以使用此代码查看它是否影响您的服务器:
如果您想安全起见,使用superglobal$\u服务器和$\u ENV变量将始终有效。您仍然可以毫无问题地使用Get/Post/Cookie的filter_*函数,这是最重要的部分
谢谢我目前正在使用
filter\u var($\u POST或$\u SERVER…
来确保返回的数据是安全的(除去可能通过它传递的有害数据)
filter_var( $_POST[$name], $filter ); // $filter is a reference in the function I'm using
filter_var( $_SERVER[$name], $filter );
filter_var( $_GET[$name], $filter );
<?php
var_dump($_SERVER);
foreach ( array_keys($_SERVER) as $b ) {
var_dump($b, filter_input(INPUT_SERVER, $b));
}
echo '<hr>';
var_dump($_ENV);
foreach ( array_keys($_ENV) as $b ) {
var_dump($b, filter_input(INPUT_ENV, $b));
}
?>