- The PHP Filter Extension
- PHP шүүлтүүр өргөтгөл
- Why Use Filters?
- Шүүлтүүрийг яагаад ашигладаг вэ?
- PHP filter_var() Function
- Sanitize a String
- Validate an Integer
- Бүхэл тоог баталгаажуулах
- Validate an IP Address
- IP хаягийг баталгаажуулах
- Sanitize and Validate an Email Address
- Sanitize and Validate a URL
- Complete PHP Filter Reference
Validating data = Determine if the data is in proper form.
Баталгаажуулах өгөгдөл = Өгөгдөл зохих хэлбэрт байгаа эсэхийг тодорхойлох.
Sanitizing data = Remove any illegal character from the data.
Ариутгах өгөгдөл = Аливаа хууль бус тэмдэгтийг өгөгдлөөс устгах.
The PHP Filter Extension #
PHP шүүлтүүр өргөтгөл #
PHP filters are used to validate and sanitize external input.
PHP шүүлтүүрийг гадны оролтыг баталгаажуулах, ариутгахад ашигладаг.
The PHP filter extension has many of the functions needed for checking user input, and is designed to make data validation easier and quicker.
PHP шүүлтүүрийн өргөтгөл нь хэрэглэгчийн оролтыг шалгахад шаардлагатай олон функцуудтай бөгөөд өгөгдлийг баталгаажуулах ажлыг илүү хялбар, хурдан болгох зорилготой юм.
The filter_list()
function can be used to list what the PHP filter extension offers:
PHP шүүлтүүр өргөтгөлийн санал болгож буй зүйлийг жагсаахад filter_list()
функцийг ашиглаж болно.
<table>
<tr>
<td>Filter Name</td>
<td>Filter ID</td>
</tr>
<?php
foreach (filter_list() as $id =>$filter) {
echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
}
?>
</table>
Why Use Filters? #
Шүүлтүүрийг яагаад ашигладаг вэ? #
Many web applications receive external input. External input/data can be:
Олон вэб програмууд гадны оролтыг хүлээн авдаг. Гадаад оролт / өгөгдөл нь дараахь байж болно:
- User input from a form – Маягтаас хэрэглэгчийн оруулсан мэдээлэл
-
Cookies – Күүкийнүүд
- Web services data – Вэб үйлчилгээний өгөгдөл
-
Server variables – Серверийн хувьсагчууд
- Database query results – Мэдээллийн сангийн хайлтын үр дүн
You should always validate external data!
Та гадны өгөгдлийг үргэлж баталгаажуулах ёстой!
Invalid submitted data can lead to security problems and break your webpage!
Буруу оруулсан өгөгдөл нь аюулгүй байдлын асуудалд хүргэж, вэбсайтаа эвдэх болно!
By using PHP filters you can be sure your application gets the correct input!
PHP шүүлтүүрийг ашигласнаар таны програм зөв оролтыг авах болно гэдэгт итгэлтэй байна!
PHP filter_var() Function #
The filter_var()
function both validate and sanitize data.
filter_var()
функц нь өгөгдлийг баталгаажуулж, ариутгана.
The filter_var()
function filters a single variable with a specified filter. It takes two pieces of data:
filter_var()
функц нь заасан хувьсагчтай нэг хувьсагчийг шүүнэ. Үүнд хоёр өгөгдөл шаардагдана.
- The variable you want to check – Таны шалгахыг хүссэн хувьсагч
-
The type of check to use – Ашиглах чекийн төрөл
Sanitize a String #
The following example uses the filter_var()
function to remove all HTML tags from a string:
Дараах жишээ нь шүүлтүүрээс бүх HTML хаягуудыг устгахын тулд filter_var()
функцийг ашиглана.
<?php
$str = "<h1>Hello World!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>
Validate an Integer #
Бүхэл тоог баталгаажуулах #
The following example uses the filter_var()
function to check if the variable $int is an integer. If $int is an integer, the output of the code below will be: “Integer is valid”. If $int is not an integer, the output will be: “Integer is not valid”:
Дараах жишээнд filter_var()
функцийг ашиглан $ int хувьсагч бүхэл тоо эсэхийг шалгана. Хэрэв $ int бүхэл тоо бол доорх кодын гаралт нь: “Бүхэл тоо хүчинтэй” байх болно. Хэрэв $ int бүхэл тоо биш бол гаралт нь: “Бүхэл тоо хүчин төгөлдөр бус байна”:
<?php
$int = 100;
if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Integer is valid");
} else {
echo("Integer is not valid");
}
?>
Tip: filter_var() and Problem With 0 #
In the example above, if $int was set to 0, the function above will return “Integer is not valid”. To solve this problem, use the code below:
Дээрх жишээнд хэрэв $ int-ийг 0 гэж тохируулсан бол дээрх функц нь “Бүхэл тоо хүчингүй байна” гэсэн утгатай болно. Энэ асуудлыг шийдэхийн тулд доорх кодыг ашиглана уу.
<?php
$int = 0;
if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Integer is valid");
} else {
echo("Integer is not valid");
}
?>
<?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");
}
?>
Sanitize and Validate an Email Address #
The following example uses the filter_var()
function to first remove all illegal characters from the $email variable, then check if it is a valid email address:
Дараах жишээ нь filter_var () функцийг ашиглан $ 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");
}
?>
Sanitize and Validate a URL #
The following example uses the filter_var()
function to first remove all illegal characters from a URL, then check if $url is a valid URL:
Дараах жишээ нь filter_var()
функцийг ашиглан URL дээрх бүх хууль бус тэмдэгтүүдийг устгаад дараа нь $ url нь зөв URL эсэхийг шалгана.
<?php
$url = "https://www.Apprentice.mn";
// 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");
}
?>
Complete PHP Filter Reference #
For a complete reference of all filter functions, go to our complete PHP Filter Reference. Check each filter to see what options and flags are available.
Бүх шүүлтүүрийн функцийг бүрэн лавлахын тулд манай PHP шүүлтүүрийн лавлагаа руу орно уу. Шүүлтүүр бүрийг шалгаж, ямар сонголтууд болон тугнууд байгааг харах.
The reference contains a brief description, and examples of use, for each function!
Лавлагаа нь функц бүрийн товч тайлбар, ашиглалтын жишээг агуулсан болно!