Проверите да ли је тачан ИП или није у басху (функција за потврду ИП-а)

Ово је још један савет који нам може помоћи у одређеним ситуацијама. Овај пост радим више као подсетник, јер знам да ће ми то кад тад поново затребати хахаха.

Када радимо неки скрипт у треснути, а корисник мора да унесе ИП адресу, да бисмо касније (скрипта) урадили нешто користећи ту ИП адресу, да ли знате где све може да пође по злу? ... да корисник НЕ унесе ИП, да стави било какву глупост или непотпуну ИП или нешто слично, они који програмирају знају на шта мислим ... јер то мора бити програмирано мислећи да ће се догодити и најапсурдније О_О.

Да би се избегла ова ситуација, постоје функције или методе за валидацију ИП-а, односно за проверу да ли су подаци које је корисник унео заправо ИП или не.

Овде их остављам:

function validar_ip()
{
local  ip=$ipdudosa
local  stat=1
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]];
then
OIFS=$IFS
IFS='.'
ip=($ip)
IFS=$OIFS
[[ ${ip[0]} -le 255 && ${ip[1]} -le 255  && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]] stat=$?
fi
return $stat
}

Када корисник унесе „нешто“, то нешто ће бити вредност променљиве сумњив ... код би био:
echo "   Inserte lo que desea comprobar si es una IP."
read "ipdudosa"

А сада ћемо назначити да потврдимо садржај или вредност сумњив са горњом функцијом, а ово ће проверити да ли је то заправо ИП или не. Ако је ИП, то ће рећи, ако није, рећи ће нам да НИЈЕ ИП:

if validar_ip ipdudosa;
then echo "Sí, es una IP correcta :D";
else
echo "No, eso NO es una IP";
fi

Комплетну скрипту остављам овде:

Функција за потврду ИП-а (пример)

Погледајте добро да на почетку изјављујем да је: #! / бин / басх ... ако ставе # / Бин / сх Ово неће успети, провео сам скоро 2 дана борећи се и протестујући јер функција није функционисала код мене и било је то што сам имао на sh уместо басх хахаха.

Па ништа друго за додати, постоје функције за ово у Питон, Перл и друге језике ... у ствари, овај који вам показујем није једини начин за потврду ИП-ова треснути, али било ми је јако добро, зато га и делим 🙂

поздрави


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   езитоц дијо

    Савршен! Врло занимљиво. Хвала пуно.

    1.    КЗКГ ^ Гаара дијо

      Хвала вам што сте навратили и коментарисали 😀

  2.   тарегон дијо

    Сјајно! сада покушајмо да прилагодимо ово „ако [[$ ип = ~ ^ [0-9] {1,3} \. [0-9] {1,3} \. [0-9] {1,3} \ . [0-9] {1,3}]]; " тако да детектује када је ипв6 погрешно написан ... насилно ... о_0 неред који се мора ставити у ХЕКСадецимал и његових 128 бита.

    Наравно, ово је хипотетички случај који сам покренуо 🙂

    1.    КЗКГ ^ Гаара дијо

      За ИПв6 ... проклетство, ја се ни не шалим ... пусти то ... ако чак ни добро не разумем о чему се ради у ИПв6 (операцији), не покушавам ни да потврдим ИП ЛОЛ!

      1.    тарегон дијо

        хехе, ако је истина, застрашујуће је размишљати о томе, али приступ постоји 😛

  3.   Алејандро Мора дијо

    Већ ради, само покрените ./сцрипт а не сх скрипту.

    1.    КЗКГ ^ Гаара дијо

      Да наравно, ако направите сх скрипту, он ће покушати да је протумачи са сх ... морали бисте да урадите басх скрипту да би била иста као ./сцрипт.сх 😉

  4.   Анатхур дијо

    Здраво, хвала на помоћи, било је од велике помоћи.