Šis ir vēl viens padoms, kas mums var palīdzēt noteiktās situācijās. Es šo ierakstu daru vairāk kā atgādinājumu, jo zinu, ka man tas kaut kad atkal būs vajadzīgs hahaha.
Kad mēs veidojam kādu scenāriju stipri iesist, un lietotājam jāievada IP adrese, lai vēlāk mēs (skripts) kaut ko darītu, izmantojot šo IP adresi, vai zināt, kur viss varētu noiet greizi? ... ka lietotājs NEVADA IP, lai liktu nejēdzības, nepilnīgu IP vai tamlīdzīgi, tie, kas ieprogrammē, zina, ko es domāju ... jo ir jāprogrammē, domājot, ka notiks pat visjēdzīgākais O_O.
Lai izvairītos no šīs situācijas, ir funkcijas vai metodes IP validēšanai, tas ir, lai pārbaudītu, vai lietotāja ievadītie dati patiešām ir IP vai nav.
Šeit es viņus atstāju:
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
}
Kad lietotājs ievadīs “kaut ko”, tas būs mainīgā vērtība apšaubāms ... kods būtu:
echo " Inserte lo que desea comprobar si es una IP."
read "ipdudosa"
Un tagad mēs norādīsim, lai apstiprinātu vietnes saturu vai vērtību apšaubāms ar iepriekš minēto funkciju, un tas pārbaudīs, vai tas tiešām ir IP vai nav. Ja tas ir IP, tā to teiks, ja tā nav, tā mums pateiks, ka tas NAV IP:
if validar_ip ipdudosa;
then echo "Sí, es una IP correcta :D";
else
echo "No, eso NO es una IP";
fi
Es atstāju pilnu skriptu šeit:
Funkcija IP validēšanai (piemērs)
Izskaties labi, ka sākumā es paziņoju, ka tas ir: #! / bin / bash ... ja viņi ieliek # / Bin! / Sh Tas nedarbosies. Es pavadīju gandrīz 2 pilnas dienas, cīnoties un protestējot, jo funkcija nedarbojās, un man bija sh nevis bash hahaha.
Nu nekas cits nav jāpiebilst, tam ir funkcijas Pitons, Perl un citas valodas ... patiesībā šī, kuru es jums parādīju, nav vienīgais veids, kā validēt IP stipri iesist, bet man tas ir bijis ļoti labi, tāpēc es ar to dalos 🙂
Sveicieni
Lieliski! Ļoti interesanti. Liels paldies.
Paldies, ka apstājāties un komentējāt
Lieliski! tagad mēģināsim pielāgot šo “ja [[$ ip = ~ ^ [0-9] {1,3} \. [0-9] {1,3} \. [0-9] {1,3} \. [0-9] {1,3}]]; " lai tas atklātu, kad ipv6 ir uzrakstīts nepareizi ... vardarbīgi ... o_0 haoss, kas jāieliek heksadecimālā un tā 128 bitu.
Protams, tas ir hipotētisks gadījums, kuru es izvirzīju 🙂
Uz IPv6 ... sasodīts, es pat nejokoju ... palaidu to vaļā ... ja pat labi nesaprotu, kas ir IPv6 (darbība), es pat nemēģinu validēt IP LOL!
hehe, ja tā ir taisnība, ir drausmīgi par to domāt, bet pieeja pastāv 😛
Tas jau darbojas, vienkārši palaidiet ./script un nevis sh skriptu.
Jā, protams, ja jūs izmantojat sh skriptu, tas mēģinās to interpretēt ar sh ... jums būs jādara bash skripts, lai tas būtu tāds pats kā ./script.sh 😉
Sveiki, paldies par jūsu palīdzību, tā bija ļoti noderīga.