PHP ഫിൽട്ടറുകൾ - മൂല്യനിർണ്ണയവും സാനിറ്റൈസേഷനും

PHP JSON, കോൾബാക്ക് പ്രവർത്തനങ്ങൾ

ഈ ലേഖനത്തിൽ, ശീർഷകം, ഫിൽട്ടറുകൾ, കോൾബാക്ക് ഫംഗ്‌ഷനുകൾ എന്നിവ പ്രകാരം ഉപയോഗപ്രദമായ ചില PHP വിഷയങ്ങൾ നിങ്ങൾ പഠിക്കും. നമുക്ക് ഫിൽട്ടറുകളിൽ നിന്ന് ആരംഭിക്കാം.

PHP ഫിൽട്ടറുകൾ

ഇൻപുട്ട് ഡാറ്റ സാനിറ്റൈസ് ചെയ്യാനും സാധൂകരിക്കാനും PHP ഫിൽട്ടറുകൾ ഉപയോഗിക്കുന്നു.

ശുചിത്വം: ഇൻപുട്ട് ഡാറ്റയിൽ നിന്ന് ഏതെങ്കിലും നിയമവിരുദ്ധ പ്രതീകങ്ങൾ നീക്കം ചെയ്യാൻ.

മൂല്യനിർണ്ണയം: ഇൻപുട്ട് ഡാറ്റ ശരിയായ രൂപത്തിലാണോ എന്ന് നിർണ്ണയിക്കുന്ന പ്രക്രിയ.

അഭ്യർത്ഥന അയയ്‌ക്കുന്നതിന് മുമ്പ് PHP ഫിൽട്ടറുകൾ ഡാറ്റയുടെ സാനിറ്റൈസേഷനും മൂല്യനിർണ്ണയവും ഉറപ്പാക്കുന്നു.

സാനിറ്റൈസേഷനും മൂല്യനിർണ്ണയവും പ്രധാനമായിരിക്കുന്നത് എന്തുകൊണ്ട്?

നിങ്ങളുടെ വെബ്‌പേജിൽ ഒരു ഇൻപുട്ട് ഫീൽഡ് ഉണ്ടെന്ന് കരുതുക, അവിടെ ഉപയോക്താവിന് അതിന്റെ വിലാസം ടൈപ്പ് ചെയ്യാൻ കഴിയും. ഹാക്കർമാർക്ക് ആ ഇൻപുട്ട് ഫീൽഡിൽ ഏത് സ്‌ക്രിപ്റ്റും അയയ്‌ക്കാൻ കഴിയും, അത് അഭ്യർത്ഥനയിലൂടെ സെർവറിലേക്ക് പോകാനും സിസ്റ്റം തകർക്കാൻ ഹാക്കറെ അനുവദിക്കാനും കഴിയും, സെർവർ സൈഡിൽ പ്രവർത്തിക്കാൻ ഒരു സ്‌ക്രിപ്‌റ്റും സാനിറ്റൈസേഷൻ അനുവദിക്കുന്നില്ല.

മറുവശത്ത്, നിങ്ങൾക്ക് ഒരു ലോഗിൻ വെബ്‌പേജ് ഉണ്ടെന്ന് കരുതുക, അതിന് ഉപയോക്താവിൽ നിന്ന് ഒരു ഇമെയിലും പാസ്‌വേഡും ആവശ്യമാണ്. ഇമെയിൽ ഫീൽഡിൽ ഒരു സാധുവായ ഫോർമാറ്റ് ഇമെയിലും പാസ്‌വേഡ് ഫീൽഡും പൂരിപ്പിച്ചിട്ടുണ്ടോയെന്നും പരമാവധി ദൈർഘ്യം ലംഘിച്ചിട്ടില്ലെന്നും മൂല്യനിർണ്ണയം പരിശോധിക്കുന്നു.

PHP ഫിൽട്ടർ വിപുലീകരണം

ഡാറ്റയുടെ മൂല്യനിർണ്ണയം വേഗത്തിലും എളുപ്പത്തിലും ആക്കുന്നതിനാണ് PHP ഫിൽട്ടർ വിപുലീകരണം രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്. PHP ഫിൽട്ടർ വിപുലീകരണത്തിൽ ഇൻപുട്ട് ഡാറ്റ എളുപ്പത്തിൽ പരിശോധിക്കാൻ സഹായിക്കുന്ന നിരവധി ഫംഗ്ഷനുകൾ അന്തർനിർമ്മിതമായി അടങ്ങിയിരിക്കുന്നു.

ഫിൽറ്റർ_ലിസ്റ്റ് ഫിൽട്ടർ എക്സ്റ്റൻഷനിൽ ലഭ്യമായ എല്ലാ ഫംഗ്ഷനുകളും PHP-യിലെ ഫംഗ്ഷൻ നൽകുന്നു.

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

ഡാറ്റ ഫിൽട്ടറേഷൻ ആവശ്യമായ ഉറവിടങ്ങൾ ഏതാണ്?

ഇനിപ്പറയുന്ന ഉറവിടങ്ങൾക്ക് ബാഹ്യമായി ഡാറ്റ ഇൻപുട്ട് ചെയ്യാൻ കഴിയും കൂടാതെ ഫിൽട്ടറേഷൻ ആവശ്യമാണ്.

  • ഒരു ഫോമിൽ ഫീൽഡുകൾ നൽകുക
  • കുക്കികൾ
  • വെബ് സേവനങ്ങളുടെ ഡാറ്റ
  • സെർവർ വേരിയബിളുകൾ
  • ഡാറ്റാബേസ് അന്വേഷണങ്ങളുടെ ഫലങ്ങൾ

PHP-യിലെ Filter_var ഫംഗ്‌ഷൻ

ഈ ഫംഗ്‌ഷൻ വേരിയബിളിൽ സംഭരിച്ചിരിക്കുന്ന ഡാറ്റയെ അണുവിമുക്തമാക്കുകയും ഫിൽട്ടർ ചെയ്യുകയും ചെയ്യുന്നു. ഇത് രണ്ട് പാരാമീറ്ററുകൾ സ്വീകരിക്കുന്നു. നിങ്ങൾ ഫിൽട്ടർ പ്രയോഗിക്കാൻ ആഗ്രഹിക്കുന്ന വേരിയബിളാണ് ആദ്യ പാരാമീറ്റർ. വേരിയബിളിൽ പ്രയോഗിക്കേണ്ട ഫിൽട്ടറിന്റെ തരമാണ് രണ്ടാമത്തെ പാരാമീറ്റർ. PHP-യിൽ ലഭ്യമായ ചില പ്രധാന ഫിൽട്ടർ തരങ്ങൾ നമ്മൾ ഇപ്പോൾ പഠിക്കും.

പിഎച്ച്പിയിൽ ഒരു സ്ട്രിംഗ് എങ്ങനെ അണുവിമുക്തമാക്കാം?

FILTER_SANITIZE_STRING ഫിൽട്ടർ സ്ട്രിംഗിൽ നിന്ന് എല്ലാ HTML ടാഗുകളും നീക്കംചെയ്യുന്നു. HTML ടാഗിന്റെ ആട്രിബ്യൂട്ടുകളുടെ ഭാഗമായി വെബ് ആക്രമണകാരികൾക്ക് സ്‌ക്രിപ്റ്റുകൾ അയയ്‌ക്കാൻ കഴിയും. അതിനാൽ, HTML ടാഗുകൾ സ്ട്രിംഗിൽ അനുവദിക്കുന്നത് ദോഷകരമാണ്. ഇനിപ്പറയുന്ന ഉദാഹരണം നോക്കുക.

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

PHP-യിൽ ഒരു പൂർണ്ണസംഖ്യ എങ്ങനെ മൂല്യനിർണ്ണയം ചെയ്യാം?

FILTER_VALIDATE_INT സംഖ്യ ഒരു പൂർണ്ണസംഖ്യയാണോ അല്ലയോ എന്ന് പരിശോധിക്കുന്നു. രണ്ടാമത്തെ പാരാമീറ്റർ filer_var ഫംഗ്‌ഷന്റെ ഫിൽട്ടറും ആദ്യ പരാമീറ്റർ നമ്പറും കൈവശം വയ്ക്കുന്നു. ചുവടെയുള്ള ഉദാഹരണത്തിലൂടെ പോകുക.

<?php
$int = 100;

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

ശ്രദ്ധിക്കുക: FILTER_VALIDATE_INT ഉള്ള filter_var ഫംഗ്‌ഷൻ 0-നെ ഒരു പൂർണ്ണസംഖ്യയല്ലാത്ത സംഖ്യയായി കണക്കാക്കുന്നു. അതിനാൽ, നിങ്ങൾക്ക് പൂർണ്ണസംഖ്യകളിൽ 0 ഉൾപ്പെടുത്തണമെങ്കിൽ, മുകളിലുള്ള ഉദാഹരണത്തിന്റെ അവസ്ഥ 0 അനുവദിക്കണമെങ്കിൽ നിങ്ങൾക്ക് പരിഷ്കരിക്കാനാകും.

PHP-യിലെ IP വിലാസങ്ങൾ എങ്ങനെ സാധൂകരിക്കാം?

FILTER_VALIDATE_IP സാധുവായ IP വിലാസത്തിനായുള്ള പരിശോധനകൾ ഫിൽട്ടർ ചെയ്യുക. ആദ്യ പാരാമീറ്റർ IP വിലാസവും രണ്ടാമത്തെ പരാമീറ്റർ ഫിൽട്ടർ_വാർ ഫംഗ്ഷനിലെ ഫിൽട്ടറിന്റെ പേരാണ്.

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

PHP-യിൽ ഇമെയിൽ എങ്ങനെ സാനിറ്റൈസ് ചെയ്യുകയും സാധൂകരിക്കുകയും ചെയ്യാം?

ഈ ഫംഗ്‌ഷനിലേക്കുള്ള രണ്ടാമത്തെ പാരാമീറ്ററായി അയച്ച ഇമെയിലിന്റെ മൂല്യനിർണ്ണയവും സാനിറ്റൈസേഷനും filter_var നിർവഹിക്കുന്നു. ഇമെയിൽ അണുവിമുക്തമാക്കാൻ, ഉപയോഗിക്കുക FILTER_SANITIZE_EMAIL ആദ്യം filer_var ഫംഗ്‌ഷൻ ഉപയോഗിച്ച്, തുടർന്ന് ഇമെയിൽ മൂല്യനിർണ്ണയത്തിനായി ഉപയോഗിക്കുക FILTER_VALIDATE_EMAIL ഫിൽട്ടർ. താഴെയുള്ള ഉദാഹരണം നോക്കുക.

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

PHP-യിലെ URL എങ്ങനെ അണുവിമുക്തമാക്കാം?

filer_var ഫംഗ്‌ഷനിലേക്ക് ആദ്യ പാരാമീറ്ററായി URL നൽകുക FILTER_VALIDATE_URL രണ്ടാമത്തെ പാരാമീറ്ററായി. ഇത് URL-ൽ നിന്ന് എല്ലാ നിയമവിരുദ്ധ പ്രതീകങ്ങളും നീക്കം ചെയ്യും. ഫിൽട്ടർ ചെയ്യുന്നത് വളരെ ഉപയോഗപ്രദമാണ്.

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

എന്താണ് ഒരു ഒഴിവാക്കൽ, PHP-യിൽ എങ്ങനെ ഒരു അപവാദം ഇടാം?

സ്‌ക്രിപ്റ്റ് എക്‌സിക്യൂഷൻ സമയത്ത് ചില പിശകുകൾ സംഭവിക്കുന്നതായി പറയുന്ന ഒരു ഒബ്‌ജക്റ്റ് ആണ് ഒരു അപവാദം. PHP ഫംഗ്‌ഷനുകളും ക്ലാസുകളും ഒഴിവാക്കലുകൾ നൽകുന്നു, കൂടാതെ ഉപയോക്തൃ-നിർവചിച്ച ഫംഗ്‌ഷനുകൾ ഒഴിവാക്കാനും കഴിയും.

അവസാനം തെറ്റായ ഫലങ്ങൾ ഉണ്ടാക്കാതെ ഒരു ഫംഗ്ഷൻ നിർത്താനുള്ള കാര്യക്ഷമമായ മാർഗമാണ് ഒഴിവാക്കലുകൾ.

ദി എറിയുക കീവേഡ് ഒഴിവാക്കലുകൾ അയയ്ക്കുന്നു. പിടിക്കാൻ ശ്രമിക്കുക കോഡ് ബ്ലോക്ക് എറിഞ്ഞ ഒഴിവാക്കലുകൾ ബ്ലോക്ക് ക്യാപ്‌ചർ ചെയ്യുന്നു. ഒഴിവാക്കലുകൾ ക്യാപ്‌ചർ ചെയ്‌തില്ലെങ്കിൽ, അത് പിടിക്കപ്പെടാത്ത ഒരു അപവാദം മാരകമായ പിശക് നൽകും.

പരീക്ഷിക്കുക നിർവ്വഹണം അനുവദിക്കുന്നതിനുള്ള കോഡിന്റെ ബ്ലോക്ക് അടങ്ങുന്നതാണ് ബ്ലോക്ക്. പിടിക്കുക ട്രൈ ബ്ലോക്ക് ഒരു അപവാദം എറിയുമ്പോൾ മാത്രമാണ് ബ്ലോക്ക് എക്സിക്യൂട്ട് ചെയ്യുന്നത്. ഒഴിവാക്കൽ ഒബ്ജക്റ്റ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ക്യാച്ച് ബ്ലോക്കിൽ ഒഴിവാക്കലിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ ലഭിക്കും. ഇനിപ്പറയുന്ന ഉദാഹരണം നോക്കുക, അതിൽ 0 ഒഴിവാക്കലുകളുടെ വിഭജനം ക്യാച്ച് ബ്ലോക്കിൽ എറിയുകയും ക്യാപ്‌ചർ ചെയ്യുകയും ചെയ്യുന്നു.

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

ഫിൽട്ടറുകളുടെ പൂർണ്ണമായ റഫറൻസിനായി, നിങ്ങൾക്ക് റഫർ ചെയ്യാം ഇവിടെ.

PHP JSON, കോൾബാക്ക് പ്രവർത്തനങ്ങൾ
en English
X
ടോപ്പ് സ്ക്രോൾ