Hidlau PHP -Dilysu a Glanweithdra

P
SSL dibynadwy o ddim ond $3.44
Sesiynau a chwcis yn PHP
Swyddogaethau PHP JSON a Callback

Yn yr erthygl hon, byddwch yn dysgu rhai pynciau PHP defnyddiol yn unol â theitl, Hidlau, a swyddogaethau Callback. Gadewch i ni ddechrau gyda'r hidlwyr.

Hidlau PHP

Defnyddir hidlwyr PHP i lanweithio a dilysu'r data mewnbwn.

Glanweithdra: Tynnu unrhyw nodau anghyfreithlon o'r data mewnbwn.

Dilysu: Proses o benderfynu a yw'r data mewnbwn ar ffurf briodol.

Mae hidlwyr PHP yn sicrhau bod glanweithdra a dilysiad data cyn anfon y cais i mewn.

Pam mae Glanweithdra a Dilysu yn bwysig?

Tybiwch fod gennych faes mewnbwn ar eich tudalen we, lle gall y defnyddiwr deipio ei gyfeiriad. Gall yr hacwyr anfon unrhyw sgript yn y maes mewnbwn hwnnw a all fynd at y gweinydd trwy gais a chaniatáu i'r haciwr gracio'r system, nid yw Glanweithdra yn caniatáu i unrhyw sgript redeg ar ochr y gweinydd.

Ar y llaw arall, mae'n debyg bod gennych dudalen we mewngofnodi, sy'n gofyn am e-bost a chyfrinair gan y defnyddiwr. Mae dilysu yn gwirio a yw'r maes e-bost wedi'i lenwi ag e-bost fformat dilys a maes cyfrinair yn cael ei dorri.

Estyniad Hidlo PHP

Dyluniwyd estyniad hidlydd PHP i wneud dilysu data yn gyflymach ac yn haws. Mae'r estyniad hidlydd PHP yn cynnwys llawer o swyddogaethau wedi'u hymgorffori sy'n helpu i wirio'r data mewnbwn yn rhwydd.

rhestr_hidlo mae swyddogaeth yn PHP yn dychwelyd yr holl swyddogaethau sydd ar gael yn yr estyniad hidlo.

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

Beth yw'r ffynonellau lle mae angen hidlo data?

Gall dilyn ffynonellau fewnbynnu data yn allanol ac mae angen ei hidlo.

  • Meysydd mewnbwn ar ffurf
  • Cwcis
  • Data gwasanaethau gwe
  • Newidynnau gweinydd
  • Canlyniadau Ymholiadau Cronfa Ddata

Swyddogaeth Filter_var yn PHP

Mae'r swyddogaeth hon yn glanweithio ac yn hidlo'r data sy'n cael ei storio yn y newidyn. Mae'n derbyn dau baramedr. Y paramedr cyntaf yw'r newidyn rydych chi am gymhwyso'r hidlydd arno. Yr ail baramedr yw'r math o hidlydd i'w gymhwyso i'r newidyn. Byddwn nawr yn dysgu rhai mathau pwysig o hidlwyr sydd ar gael yn PHP.

Sut i lanweithio llinyn yn PHP?

Mae hidlydd FILTER_SANITIZE_STRING yn tynnu'r holl dagiau HTML o'r llinyn. Gall yr ymosodwyr gwe anfon sgriptiau fel rhan o briodoleddau'r tag HTML. Felly, mae'r tagiau HTML yn niweidiol i'w caniatáu yn y llinyn. Edrychwch ar yr enghraifft ganlynol.

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

Sut i Ddilysu Cyfanrif mewn PHP?

FILTER_VALIDATE_INT gwirio a yw'r rhif yn gyfanrif ai peidio. Mae'r ail baramedr yn dal hidlydd y swyddogaeth filer_var ac mae'r paramedr cyntaf yn dal y rhif. Ewch trwy'r enghraifft isod.

<?php
$int = 100;

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

Nodyn: Mae'r swyddogaeth filter_var gyda FILTER_VALIDATE_INT yn ystyried 0 fel rhif nad yw'n gyfanrif. Felly, os oes angen i chi gynnwys 0 yn y cyfanrifau, gallwch addasu os yw cyflwr yr enghraifft uchod i ganiatáu i'r 0.

Sut i ddilysu Cyfeiriadau IP yn PHP?

FILTER_VALIDATE_IP gwiriadau hidlo am y cyfeiriad IP dilys. Y paramedr cyntaf yw'r cyfeiriad IP a'r ail baramedr yw enw'r hidlydd yn y swyddogaeth 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");
}
?>

Sut i lanweithio a dilysu E-bost yn PHP?

Mae filter_var yn perfformio dilysiad a glanweithdra e-bost a basiwyd fel ail baramedr i'r swyddogaeth hon. I lanhau'r e-bost, defnyddiwch FILTER_SANITIZE_EMAIL yn gyntaf gyda'r swyddogaeth filer_var, ac yna ar gyfer dilysu e-bost, defnyddiwch FILTER_VALIDATE_EMAIL hidlydd. Edrychwch ar yr enghraifft isod.

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

Sut i lanweithio URL yn PHP?

Pasiwch yr URL fel y paramedr cyntaf i'r swyddogaeth filer_var a FILTER_VALIDATE_URL fel yr ail baramedr. Bydd yn tynnu'r holl nodau anghyfreithlon o'r URL. Mae'n ddefnyddiol iawn hidlo.

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

Beth yw Eithriad a sut i daflu eithriad yn PHP?

Mae eithriad yn wrthrych sy'n dweud bod peth gwall yn digwydd wrth gyflawni'r sgript. Mae swyddogaethau a dosbarthiadau PHP yn taflu eithriadau a gall swyddogaethau a ddiffiniwyd gan y defnyddiwr daflu eithriadau hefyd.

Mae eithriadau yn ffordd effeithlon o atal swyddogaeth heb gynhyrchu canlyniadau anghywir ar y diwedd.

Mae practis meddygol taflu allweddair yn anfon eithriadau. Rhowch gynnig ar ddal bloc yn dal yr eithriadau a daflwyd gan floc cod. Os na chaiff yr eithriadau eu dal, bydd yn rhoi gwall angheuol eithriad heb ei ddal.

Rhowch gynnig ar bloc yn cynnwys y bloc o god i ganiatáu gweithredu. Dal dim ond pan fydd y bloc ceisio yn taflu eithriad y mae'r bloc yn gweithredu. Gallwch gael gwybodaeth am yr eithriad yn y bloc dal gan ddefnyddio'r gwrthrych eithriad. Edrychwch ar yr enghraifft ganlynol lle mae'r rhaniad â 0 eithriad yn cael ei daflu a'i ddal yn y bloc dal.

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

I gael cyfeiriad cyflawn at hidlwyr, gallwch gyfeirio yma.

Sesiynau a chwcis yn PHP
Swyddogaethau PHP JSON a Callback

Rhwydwaith Tiwtoriaid

Rhannu hyn

Dysgwch PHP o A i Z