Увод у ПХП филтере

Постоји врло мало језика који имају функције филтра. Филтри су једна од функција програмских језика са додатом вредношћу. Ово нам помаже да филтрирамо податке или низ прије обраде. Ово је позив времена да се ово искористи за спречавање неких проблема са рањивошћу у систему. ПХП филтери се могу користити у сврху провере или санирања спољних улаза. У основи, ПХП филтер је проширење које се састоји од различитих функција и функција које можемо користити за кодирање. На примјер, узимамо унос клијента из обрасца као ИД е-поште, требали бисмо га потврдити или санирати прије рада у вези са базом података. Ми као кодер или програмер треба да користимо ове филтре у ПХП-у у складу са нашим пословним потребама и захтевима.

Синтакса

Санитизинг и филтери су најчешће операције у окружењу веб апликација. Ево основне синтаксе:

filter_var(variable, filter, options)

Ова функција филтер_вар узима 3 параметра. Последња 2 параметра, филтер и опције су опционе. Прва је варијабла или сами идентификатори. Ово је једно које желимо да филтрирамо, друго је оно што желимо да урадимо (у основи у том случају преносимо ИД доступних опција у ПХП-у), а последње су опције повезане са филтром. Да разумемо исто са примером квиза:

<_?php
$int_val = 200;
if(filter_var($int_val, FILTER_VALIDATE_INT))(
echo "The $int_val is a valid one."; // valid
) else(
echo "The $int_val not a valid input as an integer"; // invalid
)
?>

У горњем примеру користимо филтер и проверавамо да ли имамо целу вредност у променљивој $ инт_вал или не. Дакле, ево и резултата за исто.

Излаз:

Зашто користимо Филтер у ПХП-у?

Много ПХП веб апликација прима екстерни улаз од стране клијента. Идеја која се користи иза овога је да очистите кориснички унос пре обраде, јер не можемо очекивати да ће корисник правилно поставити све податке. Било који спољни корисник или системски унос или подаци могу довести до критичних сигурносних проблема.

Овде можемо да филтрирамо како бисмо санирали податке унесене из различитих спољних извора као што су:

  • Директни унос клијента из форме
  • Подаци о колачићима
  • Подаци из Веб услуга
  • Подаци променљивих сервера
  • Резултати упита о бази података

ПХП филтри и средства за дезинфекцију заједно омогућавају могућност да добијемо да ли је унос валидан или не. Ако није валидан унос, у овом случају можемо га санирати да бисмо га учинили ваљаним. У наредном одломку ћемо пронаћи разне примере везане за ово.

Пример филтра

На ПХП-у су доступне разне врсте филтера. Ту листу можемо проверити помоћу функције филтер_лист (). У основи, ове функције филтрирања могу се користити за филтрирање УРЛ-а, низа, броја, ИП адресе итд.

Пример # 1

У овом одељку ћемо видети различите програме филтера, један по један.

Санитизе низ

Да бисте проверили да ли је низ валидан или не

<_?php
$comment = "Hello word";
if(filter_var($comment, FILTER_SANITIZE_STRING))(
echo "The $comment is a valid one."; // valid
) else(
echo "The $comment not a valid input"; // invalid
)
?>

У горњем примеру можемо видети валидан низ због чега даје важећи.

Излаз:

Дохвати прочишћени низ као излаз

<_?php
$comment = " Hello word ";
echo "Before sanitizing: ". $comment;
$comment = filter_var($comment, FILTER_SANITIZE_STRING);
echo "
"; // for new line
echo "After sanitizing: ". $comment;
?>

Видимо да имамо два различита излаза. Излаз можемо видети пре него што је санирање различито, а после санирања је другачије. Након санирања, функције ПХП филтера су уклоњене ХТМЛ ознаке.

Излаз:

Пример бр. 2

Потврдите ИП адресу

Функција ПХП филтера може овај посао учинити за нас. Погледајмо пример.

<_?php
$ip_address = "172.16.254.1:40";
if(filter_var($ip_address, FILTER_VALIDATE_IP))(
echo "The $ip_address is a valid one."; // valid
) else(
echo "The $ip_address is not a valid input"; // invalid
)
?>

Излаз:

Пример бр. 3

Санитизација и потврда адресе е-поште

<_?php
$email_address = " @testmail.com";
code>
echo "Before Sanitizing: " . $email_address ."
";
if(filter_var($email_address, FILTER_VALIDATE_EMAIL))(
echo "The $email_address is a valid one."; // valid
) else(
echo "The $email_address not a valid input"; // invalid
)
echo "
";
echo "After Sanitizing: " . filter_var($email_address, FILTER_SANITIZE_EMAIL);
?>

У горњем примеру имамо неважећу вредност за ид е-поште јер овај излаз добијамо помоћу функције филтра. Али у тренутку кад га санирамо даје се тачан емаил.

Излаз:

<_?php
$email_address = " ";
if(filter_var($email_address, FILTER_VALIDATE_EMAIL))(
echo "The $email_address is a valid one."; // valid
) else(
echo "The $email_address not a valid input"; // invalid
)
?>

У горњем примеру ПХП кода проверавамо да ли је адреса е-поште валидна или не.

Излаз:

Пример бр. 4

Укључите и потврдите УРЛ

У овом примеру ћемо видети да ли је улазна УРЛ адреса валидна или не? Ако није валидна УРЛ адреса, очитаће је да би је исправио.

<_?php
$URL = "https://www.educba.com/ courses ";
echo "Before Sanitizing: " . $URL ."
";
if(filter_var($URL, FILTER_VALIDATE_URL))(
echo "The $URL is a valid one."; // valid
) else(
echo "The $URL is not a valid input"; // invalid
)
echo "
";
echo "After Sanitizing: " . filter_var($URL, FILTER_SANITIZE_URL);
?>

Излаз:

Закључак

Требали бисмо користити ПХП филтер да бисмо потврдили или санирали унос корисника. На овај начин можемо ограничити уношење рањивих корисника. Можемо користити разне функције ПХП филтера за проверу корисничких уноса и вредности. Такође можемо да извршимо санирање и да очистимо вредност (било да је унос корисника или директно додељен). Увек треба да користимо ПХП средство за заштиту пре него што користимо било које податке о колачићима за обраду података.

Препоручени чланци

Ово је водич за ПХП филтере. Овде такође расправљамо о синтакси, зашто користимо филтер у ПХП-у и примерима. Можда ћете такође погледати следеће чланке да бисте сазнали више -

  1. ПХП оквири
  2. Контекстни филтер Таблеау
  3. Шта је угаони 2?
  4. Мантис Буг Трацкер
  5. Како колачићи раде у ЈаваСцрипт-у са примером?

Категорија: