[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Говнокод?
Invis1ble
Говнокод?
да [ 11 ]  [35,48%]
нет [ 1 ]  [3,23%]
а что это такое? [ 1 ]  [3,23%]
Всего голосов: 31 ( 1 )
  // Check if an IP number is valid and IPv4 formatted
// @param string $ip The IP number you want to check
// @return bool True if IP number is valid, otherwise false

public function ip_valid($ip)
{
$ip_array = explode(".",$ip);
if(sizeof($ip_array)==4&&is_numeric($ip_array[0])&&$ip_array[0]<=255&&$ip_array[0]>=0&&is_numeric($ip_array[1])&&$ip_array[1]<=255&&$ip_array[1]>=0&&
is_numeric($ip_array[2])&&$ip_array[2]<=255&&$ip_array[2]>=0&&is_numeric($ip_array[3])&&$ip_array[3]<=255&&$ip_array[3]>=0)
{
return true;
}
else
{
return false;
}
}

?



Спустя 3 минуты, 46 секунд (30.07.2012 - 15:22) redreem написал(а):
ну условие "в лоб". конечно можно гораздо изящнее и производительнее.

Спустя 6 минут, 21 секунда (30.07.2012 - 15:28) Invis1ble написал(а):
filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) - разве не тоже самое делает? )

Спустя 1 минута, 54 секунды (30.07.2012 - 15:30) inpost написал(а):
Invis1ble
Вроде предельно очевидно и ясно, и и скрипт не требует расширения, то решение в лоб нормальное. Длинное название переменной лишь смущает, можно было бы сократить на просто 1 букву t smile.gif Компактнее было бы.
А насчёт filter_var, то он неправильно проверяет email в каких-то случаях, на сколько верно работает с ip - это надо тестировать.

Спустя 3 минуты, 29 секунд (30.07.2012 - 15:33) Winston написал(а):
Новичок писал скорее всего, который не знает о существовании родных функций..

Спустя 2 минуты, 1 секунда (30.07.2012 - 15:35) Invis1ble написал(а):
наверное.. )

Спустя 46 секунд (30.07.2012 - 15:36) redreem написал(а):
я вот давно уж не "новичек", но вот насчет filter_var - не сталкивался как-то smile.gif

Спустя 2 минуты, 22 секунды (30.07.2012 - 15:39) Invis1ble написал(а):
А я полчаса назад узнал, что 3-им параметром можно флаги передавать полезные :)
if (filter_var($domain, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE))
{
// ...
}


_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.