неустранимая ошибка: вызов неопределенной функции validate_ip() в function.php

#php

#php

Вопрос:

 // проверьте общий IP-адрес интернета / интернет-провайдера
, если (!empty($_SERVER['HTTP_CLIENT_IP']) amp;amp; validate_ip($_SERVER['HTTP_CLIENT_IP'])) {
 возвращает $_SERVER['HTTP_CLIENT_IP'];
 }

 // проверьте, проходят ли IP-адреса через прокси
, если (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
 // проверьте, существует ли несколько IP-адресов в var
if (strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') !== ложь) {
 $iplist = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
 foreach ($iplist как $ip) {
 если (validate_ip($ip))
 возвращает $ip;
 }
 } else {
if (validate_ip($_SERVER['HTTP_X_FORWARDED_FOR']))
 возвращает $_SERVER['HTTP_X_FORWARDED_FOR'];
 }
 }
if (!empty($_SERVER['HTTP_X_FORWARDED']) amp;amp; validate_ip($_SERVER['HTTP_X_FORWARDED']))
 возвращает $_SERVER['HTTP_X_FORWARDED'];
 if (!empty($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) amp;amp; validate_ip($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
 возвращает $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
 if (!empty($_SERVER['HTTP_FORWARDED_FOR']) amp;amp; validate_ip($_SERVER['HTTP_FORWARDED_FOR']))
 возвращает $_SERVER['HTTP_FORWARDED_FOR'];
 if (!empty($_SERVER['HTTP_FORWARDED']) amp;amp; validate_ip($_SERVER['HTTP_FORWARDED']))
 возвращает $_SERVER['HTTP_FORWARDED'];

 // возвращает ненадежный ip, поскольку все остальное не удалось
вернуть $_SERVER['REMOTE_ADDR'];
 }

 $url = "http://ipinfo.io /".get_ip_address()."/json";

 $json = file_get_contents($url);

 $obj = json_decode($json);

Пожалуйста, проверьте это http://screencast.com/t/E9mlGvUt8J

Комментарии:

1. Где находится функция с именем validate_ip ?

2. quite sure validate_ip не является стандартной функцией php, что означает, что либо вы ее создали, либо она является частью фреймворка, о котором вы не упомянули.

Ответ №1:

У вас нет функции validate_ip(). Для проверки IP-адреса в php вы можете использовать это: filter_var($ip_a, FILTER_VALIDATE_IP)