Filtre PHP -Validare și Sanitizare

PHP JSON și funcții de apel invers

În acest articol, veți învăța câteva subiecte utile PHP în funcție de titlu, filtre și funcții de apel invers. Să începem cu filtrele.

Filtre PHP

Filtrele PHP sunt folosite pentru a igieniza și valida datele de intrare.

Igienizare: Pentru a elimina orice caractere ilegale din datele de intrare.

Validare: Proces de determinare dacă datele de intrare sunt în formă adecvată.

Filtrele PHP asigură igienizarea și validarea datelor înainte de a trimite cererea.

De ce este importantă igienizarea și validarea?

Să presupunem că aveți un câmp de introducere pe pagina dvs. web, unde utilizatorul își poate introduce adresa. Hackerii pot trimite orice script în acel câmp de intrare care poate merge la server prin cerere și îi permite hackerului să spargă sistemul, Sanitization nu permite niciun script să ruleze pe partea serverului.

Pe de altă parte, să presupunem că aveți o pagină web de conectare, care necesită un e-mail și o parolă de la utilizator. Validarea verifică dacă câmpul de e-mail este completat cu un format valid de e-mail și câmpul de parolă minim și maxim nu este încălcat.

Extensie de filtru PHP

Extensia de filtru PHP este concepută pentru a face validarea datelor mai rapidă și mai ușoară. Extensia de filtru PHP conține multe funcții încorporate care vă ajută să verificați cu ușurință datele de intrare.

lista_filtre funcția în PHP returnează toate funcțiile disponibile în extensia de filtru.

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

Care sunt sursele în care este necesară filtrarea datelor?

Următoarele surse pot introduce date extern și necesită filtrare.

  • Câmpuri de introducere într-un formular
  • Fursecuri
  • Datele serviciilor web
  • Variabilele serverului
  • Rezultatele interogărilor bazei de date

Funcția Filter_var în PHP

Această funcție igienizează și filtrează datele stocate în variabilă. Acceptă doi parametri. Primul parametru este variabila asupra căreia doriți să aplicați filtrul. Al doilea parametru este tipul de filtru de aplicat variabilei. Vom afla acum câteva tipuri importante de filtre disponibile în PHP.

Cum să dezinfectez un șir în PHP?

Filtrul FILTER_SANITIZE_STRING elimină toate etichetele HTML din șir. Atacatorii web pot trimite scripturi ca parte a atributelor etichetei HTML. Prin urmare, etichetele HTML sunt dăunătoare pentru a permite în șir. Uită-te la următorul exemplu.

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

Cum se validează un număr întreg în PHP?

FILTER_VALIDATE_INT verifică dacă numărul este un întreg sau nu. Al doilea parametru deține filtrul funcției filer_var, iar primul parametru conține numărul. Parcurgeți exemplul de mai jos.

<?php
$int = 100;

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

Notă: Funcția filter_var cu FILTER_VALIDATE_INT consideră 0 ca un număr non-întreg. Deci, dacă trebuie să includeți 0 în numere întregi, puteți modifica condiția if din exemplul de mai sus pentru a permite 0.

Cum se validează adresele IP în PHP?

FILTER_VALIDATE_IP verificări de filtru pentru adresa IP validă. Primul parametru este adresa IP, iar al doilea parametru este numele filtrului din funcția 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");
}
?>

Cum să igienizezi și să validezi e-mailul în PHP?

filter_var efectuează atât validarea, cât și igienizarea e-mailului transmis ca al doilea parametru acestei funcție. Pentru a dezinfecta e-mailul, utilizați FILTER_SANITIZE_EMAIL mai întâi cu funcția filer_var și apoi pentru validarea e-mailului, utilizați FILTER_VALIDATE_EMAIL filtru. Uită-te la exemplul de mai jos.

<?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");
}
?>

Cum să dezinfectez URL-ul în PHP?

Transmiteți adresa URL ca prim parametru la funcția filer_var și FILTER_VALIDATE_URL ca al doilea parametru. Va elimina toate caracterele ilegale din URL. Este foarte util să filtrezi.

<?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");
}
?>

Ce este o excepție și cum se aruncă o excepție în PHP?

O excepție este un obiect care spune că apare o eroare în timpul execuției scriptului. Funcțiile și clasele PHP generează excepții, iar funcțiile definite de utilizator pot, de asemenea, arunca excepții.

Excepțiile sunt o modalitate eficientă de a opri o funcție fără a produce rezultate greșite la sfârșit.

arunca cuvântul cheie trimite excepții. Încearcă să prinzi block captează excepțiile aruncate de blocul de cod. Dacă excepțiile nu sunt capturate, va da o eroare fatală excepție neprinsă.

Încerca blocul consta din blocul de cod pentru a permite executarea. Captură blocul se execută numai atunci când blocul try aruncă o excepție. Puteți obține informații despre excepție în blocul catch folosind obiectul excepție. Priviți următorul exemplu în care împărțirea cu 0 excepții este aruncată și capturată în blocul 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.";
}
?>

Pentru o referință completă la filtre, puteți consulta aici.

PHP JSON și funcții de apel invers
închide

Rămâneți la curent cu PHP!

Nu trimitem spam!

en English
X
Derulaţi în sus