Filtri PHP -Validazzjoni u Sanitizzazzjoni

P

F'dan l-artikolu, titgħallem xi suġġetti PHP utli skont it-titlu, il-Filtri u l-funzjonijiet ta' Callback. Nibdew bil-filtri.

Filtri PHP

Filtri PHP huma wżati biex sanitizzaw u jivvalidaw id-dejta tal-input.

Sanitizzazzjoni: Biex Tneħħi kwalunkwe karattri illegali mid-dejta tal-input.

validazzjoni: Proċess biex jiġi ddeterminat jekk id-dejta tal-input hijiex fil-forma xierqa.

Il-filtri PHP jiżguraw sanitizzazzjoni u validazzjoni tad-dejta qabel ma tibgħat it-talba.

Għaliex is-Sanitizzazzjoni u l-Validazzjoni huma importanti?

Ejja ngħidu li għandek qasam ta' input fuq il-paġna web tiegħek, fejn l-utent jista' jikteb l-indirizz tiegħu. Il-hackers jistgħu jibagħtu kwalunkwe skript f'dak il-qasam tal-input li jista 'jmur lis-server permezz ta' talba u jippermetti lill-hacker ixxaqqaq is-sistema, Sanitizzazzjoni ma tippermettix li xi skript jaħdem fuq in-naħa tas-server.

Min-naħa l-oħra, ejja ngħidu li għandek paġna web tal-login, li teħtieġ email u password mill-utent. Il-validazzjoni tiċċekkja jekk il-qasam tal-email huwiex mimli b'email ta' format validu u l-qasam tal-password minimu u massimu ma jinkisirx.

PHP Iffiltra Estensjoni

L-estensjoni tal-filtru PHP hija mfassla biex tagħmel il-validazzjoni tad-dejta aktar mgħaġġla u eħfef. L-estensjoni tal-filtru PHP fiha ħafna funzjonijiet integrati li jgħinu biex jiċċekkjaw id-dejta tal-input bil-faċilità.

lista_filtru funzjoni fil PHP jirritorna l-funzjonijiet kollha disponibbli fl-estensjoni tal-filtru.

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

X'inhuma s-sorsi fejn hija meħtieġa filtrazzjoni tad-dejta?

Is-sorsi li ġejjin jistgħu jdaħħlu dejta esternament u jeħtieġ filtrazzjoni.

  • Input fields f'forma
  • cookies
  • Data ta' servizzi tal-web
  • Varjabbli tas-server
  • Riżultati ta' Mistoqsijiet ta' Database

Funzjoni Filter_var fil-PHP

Din il-funzjoni kemm sanitize kif ukoll tiffiltra d-dejta maħżuna fil-varjabbli. Jaċċetta żewġ parametri. L-ewwel parametru huwa l-varjabbli li fuqha trid tapplika l-filtru. It-tieni parametru huwa t-tip ta 'filtru li għandu japplika għall-varjabbli. Issa se nitgħallmu xi tipi ta 'filtri importanti disponibbli fil-PHP.

Kif sanitize string fil PHP?

Il-filtru FILTER_SANITIZE_STRING ineħħi t-tags HTML kollha mis-sekwenza. L-attakkanti tal-web jistgħu jibagħtu skripts bħala parti mill-attributi tat-tikketta HTML. Għalhekk, it-tikketti HTML huma ta 'ħsara biex jippermettu fis-sekwenza. Ħares lejn l-eżempju li ġej.

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

Kif Tivvalida Integer fil-PHP?

FILTER_VALIDATE_INT jiċċekkja jekk in-numru huwiex numru sħiħ jew le. It-tieni parametru jżomm il-filtru tal-funzjoni filer_var u l-ewwel parametru jżomm in-numru. Mur permezz tal-eżempju hawn taħt.

<?php
$int = 100;

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

Nota: Il-funzjoni filter_var ma FILTER_VALIDATE_INT tikkunsidra 0 bħala numru mhux sħiħ. Għalhekk, jekk għandek bżonn tinkludi 0 fin-numri interi, tista 'timmodifika l-kundizzjoni jekk tal-eżempju ta' hawn fuq biex tippermetti l-0.

Kif tivvalida l-indirizzi IP fil-PHP?

FILTER_VALIDATE_IP kontrolli filtru għall-indirizz IP validu. L-ewwel parametru huwa l-indirizz IP u t-tieni parametru huwa l-isem tal-filtru fil-funzjoni 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");
}
?>

Kif sanitizza u tivvalida l-Email f'PHP?

filter_var iwettaq kemm validazzjoni kif ukoll sanitizzazzjoni tal-email mgħoddija bħala t-tieni parametru għal din il-funzjoni. Biex sanitize l-email, uża FILTER_SANITIZE_EMAIL l-ewwel bil-funzjoni filer_var, u mbagħad għall-validazzjoni tal-email, uża FILTER_VALIDATE_EMAIL filtru. Ħares lejn l-eżempju hawn taħt.

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

Kif sanitizza l-URL fil-PHP?

Għaddi l-URL bħala l-ewwel parametru għall-funzjoni filer_var u FILTER_VALIDATE_URL bħala t-tieni parametru. Se tneħħi l-karattri illegali kollha mill-URL. Huwa utli ħafna li tiffiltra.

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

X'inhi Eċċezzjoni u kif tarmi eċċezzjoni fil-PHP?

Eċċezzjoni hija oġġett li jgħid li xi żball iseħħ waqt l-eżekuzzjoni tal-iskrittura. Il-funzjonijiet u l-klassijiet PHP jarmu eċċezzjonijiet u l-funzjonijiet definiti mill-utent jistgħu wkoll jarmu eċċezzjonijiet.

L-eċċezzjonijiet huma mod effiċjenti biex titwaqqaf funzjoni mingħajr ma jipproduċu riżultati żbaljati fl-aħħar.

il tarmi keyword tibgħat eċċezzjonijiet. Ipprova qabda block jaqbad l-eċċezzjonijiet mitfugħa mill-blokk tal-kodiċi. Jekk l-eċċezzjonijiet ma jinqabdux, se jagħti żball fatali ta 'eċċezzjoni mhux maqbuda.

Ipprova blokk tikkonsisti mill-blokk tal-kodiċi biex tippermetti l-eżekuzzjoni. lotta block tesegwixxi biss meta l-blokk try throws eċċezzjoni. Tista' tikseb informazzjoni dwar l-eċċezzjoni fil-blokka tal-qbid billi tuża l-oġġett ta' eċċezzjoni. Ħares lejn l-eżempju li ġej li fih id-diviżjoni b'eċċezzjonijiet 0 tintefa' u tinqabad fil-blokka tal-qabda.

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

Għal referenza sħiħa għall-filtri, tista 'tirreferi hawn.

Żid kumment

Netwerk ta' Tuturi

Tgħallem PHP minn A sa Z