我被告知我应该使用filter_input而不是直接访问$ _SERVER
所以我做了这个简单的2行代码
echo "filter:input " . filter_input(INPUT_SERVER,'REMOTE_ADDR');
echo "SERVER:" .$_SERVER['REMOTE_ADDR'] ;
很简单。我希望它们都能完全相同。
这就是我得到的
filter:输入SERVER:202.80.212.17
显然,filter_input(INPUT_SERVER,'REMOTE_ADDR')会产生空字符串。
为什么?
答案 0 :(得分:1)
这是旧版本的php中的一个错误。你可以使用
echo "filter:input " . filter_input(INPUT_ENV, 'REMOTE_ADDR', FILTER_VALIDATE_IP);
或使用
echo "filter:input " . filter_input($_SERVER['REMOTE_ADDR']);