PHP: как проверить IP-адрес скрипта invoker - PullRequest
0 голосов
/ 16 февраля 2011

Мне нужно добавить оператор if поверх моего php-скрипта, чтобы проверить ip инициатора скрипта:

if (invoker_ip = "123.123.123.123") {
    .. code here ..
}

скрипт - это просто файл script.php на моем сервере

спасибо

Ответы [ 4 ]

3 голосов
/ 16 февраля 2011
$ip = '123.123.132.132';

if ($_SERVER['REMOTE_ADDR'] === $ip) {
    // This will only excexuted if the IP matches
    echo 'IP does match :)';
} else {
    echo 'IP does not match!';
}
2 голосов
/ 16 февраля 2011

Использование:

$invoker_ip = $_SERVER['REMOTE_ADDR'];

Тем не менее, это значение не будет иметь значения, если пользователь находится за прокси-сервером.Реальный ip может быть найден в заголовке HTTP, например HTTP_CLIENT_IP или HTTP_X_FORWARDED_FOR, но ему нельзя доверять(заголовок легко изменить)

2 голосов
/ 16 февраля 2011

Ask $ _ SERVER ['REMOTE_ADDR'] , но остерегайтесь прокси.

2 голосов
/ 16 февраля 2011
invoker_ip = $_SERVER['REMOTE_ADDR']
...