我使用filter_input的方式有什么问题?

时间:2017-01-18 16:08:16

标签: php

我被告知我应该使用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')会产生空字符串。

为什么?

1 个答案:

答案 0 :(得分:1)

这是旧版本的php中的一个错误。你可以使用

echo "filter:input " . filter_input(INPUT_ENV, 'REMOTE_ADDR', FILTER_VALIDATE_IP);

或使用

echo "filter:input " . filter_input($_SERVER['REMOTE_ADDR']);