PHP Filtri - Validacija in Sanitizacija

P

V tem članku se boste naučili nekaj uporabnih tem PHP glede na naslov, filtre in funkcije povratnega klica. Začnimo s filtri.

PHP filtri

PHP filtri se uporabljajo za saniranje in potrditev vhodnih podatkov.

Sanitizacija: Za odstranitev vseh nedovoljenih znakov iz vhodnih podatkov.

Potrditev: Postopek ugotavljanja, ali so vhodni podatki v pravilni obliki.

PHP filtri poskrbijo za saniranje in potrditev podatkov pred pošiljanjem zahteve.

Zakaj sta sanacija in validacija pomembna?

Recimo, da imate na svoji spletni strani vnosno polje, kamor lahko uporabnik vnese svoj naslov. Hekerji lahko v to vnosno polje pošljejo kateri koli skript, ki lahko gre na strežnik prek zahtevka in hekerju omogoči, da razbije sistem, Sanitization ne dovoljuje izvajanja nobenega skripta na strani strežnika.

Po drugi strani pa recimo, da imate spletno stran za prijavo, ki od uporabnika zahteva e-pošto in geslo. Validacija preveri, ali je e-poštno polje izpolnjeno z veljavno obliko e-pošte in gesla, najmanjša in največja dolžina polja ni kršena.

Razširitev filtra PHP

Razširitev filtra PHP je zasnovana tako, da omogoča hitrejše in enostavnejše preverjanje podatkov. Razširitev filtra PHP vsebuje številne vgrajene funkcije, ki pomagajo pri preprostem preverjanju vhodnih podatkov.

seznam_filtrov funkcija v PHP vrne vse funkcije, ki so na voljo v razširitvi filtra.

 <?php
  foreach (filter_list() as $id =>$filter) {
    echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
  }
  ?>

Kateri so viri, kjer je potrebna filtracija podatkov?

Naslednji viri lahko vnašajo podatke od zunaj in potrebujejo filtracijo.

  • Vnosna polja v obrazcu
  • Piškotki
  • Podatki spletnih storitev
  • Spremenljivke strežnika
  • Rezultati poizvedb v bazi podatkov

Funkcija Filter_var v PHP

Ta funkcija očisti in filtrira podatke, shranjene v spremenljivki. Sprejema dva parametra. Prvi parameter je spremenljivka, za katero želite uporabiti filter. Drugi parameter je vrsta filtra, ki se uporablja za spremenljivko. Zdaj se bomo naučili nekaj pomembnih vrst filtrov, ki so na voljo v PHP.

Kako sanirati niz v PHP?

Filter FILTER_SANITIZE_STRING odstrani vse oznake HTML iz niza. Spletni napadalci lahko pošljejo skripte kot del atributov oznake HTML. Zato so oznake HTML škodljive, če jih dovolite v niz. Poglejte si naslednji primer.

<?php
$str = "<h1>Hello World!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>

Kako preveriti celo število v PHP?

FILTER_VALIDATE_INT preveri, ali je število celo število ali ne. Drugi parameter vsebuje filter funkcije filer_var, prvi parameter pa številko. Pojdite skozi spodnji primer.

<?php
$int = 100;

if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
  echo("Integer is valid");
} else {
  echo("Integer is not valid");
}
?>

Opomba: funkcija filter_var s FILTER_VALIDATE_INT šteje 0 kot necelo število. Torej, če morate v cela števila vključiti 0, lahko spremenite pogoj if v zgornjem primeru, da dovoli 0.

Kako preveriti IP naslove v PHP?

FILTER_VALIDATE_IP filter preveri veljaven naslov IP. Prvi parameter je naslov IP, drugi parameter pa je ime filtra v funkciji filter_var.

<?php
$ip = "127.0.0.1";

if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
  echo("$ip is a valid IP address");
} else {
  echo("$ip is not a valid IP address");
}
?>

Kako očistiti in potrditi e-pošto v PHP?

filter_var izvaja tako preverjanje kot sanacijo e-pošte, posredovane kot drugi parameter tej funkciji. Če želite očistiti e-pošto, uporabite FILTER_SANITIZE_EMAIL najprej s funkcijo filer_var, nato pa za preverjanje e-pošte uporabite FILTER_VALIDATE_EMAIL filter. Poglejte si spodnji primer.

<?php
$email = "john.doe@example.com";

// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

// Validate e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
  echo("$email is a valid email address");
} else {
  echo("$email is not a valid email address");
}
?>

Kako očistiti URL v PHP?

Posredujte URL kot prvi parameter funkciji filer_var in FILTER_VALIDATE_URL kot drugi parameter. Odstranil bo vse nedovoljene znake iz URL-ja. Zelo koristno je filtrirati.

<?php
$url = "https://www.w3schools.com";

// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);

// Validate url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
  echo("$url is a valid URL");
} else {
  echo("$url is not a valid URL");
}
?>

Kaj je izjema in kako v PHP vstaviti izjemo?

Izjema je predmet, ki pove, da se med izvajanjem skripta pojavi neka napaka. Funkcije in razredi PHP sprožijo izjeme, uporabniško definirane funkcije pa lahko sprožijo tudi izjeme.

Izjeme so učinkovit način za zaustavitev funkcije, ne da bi na koncu ustvarili napačne rezultate.

O met ključna beseda pošilja izjeme. Poskusi ujeti blok zajame izjeme, ki jih vrže kodni blok. Če izjeme ne zajamejo, bo dala usodno napako neulovljene izjeme.

Poskusite blok je sestavljen iz bloka kode, ki omogoča izvedbo. wrestling blok se izvede samo, ko blok try vrže izjemo. Informacije o izjemi lahko dobite v bloku catch z uporabo predmeta izjeme. Poglejte naslednji primer, v katerem je deljenje z izjemami 0 vrženo in zajeto v bloku catch.

<?php
function divide($dividend, $divisor) {
  if($divisor == 0) {
    throw new Exception("Division by zero");
  }
  return $dividend / $divisor;
}

try {
  echo divide(5, 0);
} catch(Exception $e) {
  echo "Unable to divide.";
}
?>

Za popolno sklicevanje na filtre se lahko obrnete tukaj.

Dodaj komentar

Mreža mentorjev

Naučite se PHP od A do Ž