为了避免直接访问超级全局变量$_SERVER数组,我们可以使用PHP提供的内置函数filter_input()和filter_input_array()来获取$_SERVER数组的值。
示例代码如下:
$server = filter_input_array(INPUT_SERVER);
// 获取$_SERVER数组中的值
$remoteAddr = $server['REMOTE_ADDR'];
$userAgent = $server['HTTP_USER_AGENT'];
// 或者使用filter_input()函数逐个获取$_SERVER数组的值
$remoteAddr = filter_input(INPUT_SERVER, 'REMOTE_ADDR');
$userAgent = filter_input(INPUT_SERVER, 'HTTP_USER_AGENT');
使用filter_input()函数或filter_input_array()函数可以过滤和验证输入值,从而提高代码的安全性。此外,还可以通过指定过滤器类型和选项进一步过滤输入值。
需要注意的是,filter_input()和filter_input_array()函数在使用时需要指定输入类型,例如INPUT_SERVER用于获取$_SERVER数组的值。