- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
<?php
if (isset($_SERVER['HTTP_X_REAL_IP'])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];
} elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$_SERVER['REMOTE_ADDR'] = $_SERVER['REMOTE_ADDR'];
}
$ip = $_SERVER['REMOTE_ADDR'];
Я уже молчу о том, что HTTP_X_FORWARDED_FOR может содержать уязвимые строки и в дальнейшем он никак не фильтрируется.
Во вторых, нужно просто один раз нормально настроить сервер и получать данные от REMOTE_ADDR или HTTP_X_REAL_IP.