Ово је још један савет који нам може помоћи у одређеним ситуацијама. Овај пост радим више као подсетник, јер знам да ће ми то кад тад поново затребати хахаха.
Када радимо неки скрипт у треснути, а корисник мора да унесе ИП адресу, да бисмо касније (скрипта) урадили нешто користећи ту ИП адресу, да ли знате где све може да пође по злу? ... да корисник НЕ унесе ИП, да стави било какву глупост или непотпуну ИП или нешто слично, они који програмирају знају на шта мислим ... јер то мора бити програмирано мислећи да ће се догодити и најапсурдније О_О.
Да би се избегла ова ситуација, постоје функције или методе за валидацију ИП-а, односно за проверу да ли су подаци које је корисник унео заправо ИП или не.
Овде их остављам:
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 уместо басх хахаха.
Па ништа друго за додати, постоје функције за ово у Питон, Перл и друге језике ... у ствари, овај који вам показујем није једини начин за потврду ИП-ова треснути, али било ми је јако добро, зато га и делим 🙂
поздрави
Савршен! Врло занимљиво. Хвала пуно.
Хвала вам што сте навратили и коментарисали 😀
Сјајно! сада покушајмо да прилагодимо ово „ако [[$ ип = ~ ^ [0-9] {1,3} \. [0-9] {1,3} \. [0-9] {1,3} \ . [0-9] {1,3}]]; " тако да детектује када је ипв6 погрешно написан ... насилно ... о_0 неред који се мора ставити у ХЕКСадецимал и његових 128 бита.
Наравно, ово је хипотетички случај који сам покренуо 🙂
За ИПв6 ... проклетство, ја се ни не шалим ... пусти то ... ако чак ни добро не разумем о чему се ради у ИПв6 (операцији), не покушавам ни да потврдим ИП ЛОЛ!
хехе, ако је истина, застрашујуће је размишљати о томе, али приступ постоји 😛
Већ ради, само покрените ./сцрипт а не сх скрипту.
Да наравно, ако направите сх скрипту, он ће покушати да је протумачи са сх ... морали бисте да урадите басх скрипту да би била иста као ./сцрипт.сх 😉
Здраво, хвала на помоћи, било је од велике помоћи.