PHP Filtreleri
Validating data = Verinin uygun formda olup olmadığını belirleyin.
Sanitizing data = Verilerden herhangi bir geçersiz karakteri kaldırın.
PHP Filtre Uzantısı
PHP filtreleri, harici girişi doğrulamak ve sterilize etmek için kullanılır.
PHP filtre uzantısı, kullanıcı girişini kontrol etmek için gereken birçok işleve sahiptir ve veri doğrulamasını daha kolay ve hızlı hale getirmek için tasarlanmıştır.
İşlev filter_list()
, PHP filtre uzantısının sunduklarını listelemek için kullanılabilir:
Örnek
<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>
Neden Filtreler Kullanılır?
Birçok web uygulaması harici girdi alır. Harici giriş/veriler şunlar olabilir:
- Formdan kullanıcı girişi
- Kurabiye
- Web hizmetleri verileri
- sunucu değişkenleri
- Veritabanı sorgu sonuçları
Her zaman harici verileri doğrulamanız gerekir!
Geçersiz gönderilen veriler güvenlik sorunlarına yol açabilir ve web sayfanızı bozabilir!
PHP filtrelerini kullanarak uygulamanızın doğru girişi aldığından emin olabilirsiniz!
PHP filtre_var () İşlev
İşlev filter_var()
, verileri hem doğrular hem de sterilize eder.
İşlev filter_var()
, belirli bir filtreyle tek bir değişkeni filtreler. İki parça veri alır:
- Kontrol etmek istediğiniz değişken
- Kullanılacak çek türü
Bir Dizeyi Sanitize Edin
Aşağıdaki örnek, filter_var()
bir dizeden tüm HTML etiketlerini kaldırmak için işlevi kullanır:
Örnek
<?php
$str = "<h1>Hello World!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>
Bir Tamsayıyı Doğrula
Aşağıdaki örnek, filter_var()
$int değişkeninin bir tamsayı olup olmadığını kontrol etmek için işlevi kullanır. $int bir tamsayı ise, aşağıdaki kodun çıktısı şöyle olacaktır: "Tamsayı geçerlidir". $int bir tamsayı değilse, çıktı şöyle olacaktır: "Tamsayı geçerli değil":
Örnek
<?php
$int = 100;
if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Integer is valid");
} else {
echo("Integer is not valid");
}
?>
İpucu: filter_var() ve 0 İle İlgili Sorun
Yukarıdaki örnekte, $int 0 olarak ayarlanmışsa, yukarıdaki fonksiyon "Tamsayı geçerli değil" sonucunu verecektir. Bu sorunu çözmek için aşağıdaki kodu kullanın:
Örnek
<?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");
}
?>
Bir IP Adresini Doğrulayın
Aşağıdaki örnek, filter_var()
$ip değişkeninin geçerli bir IP adresi olup olmadığını kontrol etmek için işlevi kullanır:
Örnek
<?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");
}
?>
Bir E-posta Adresini Temizleyin ve Doğrulayın
Aşağıdaki örnek, filter_var()
işlevi önce $email değişkeninden tüm geçersiz karakterleri kaldırmak, ardından bunun geçerli bir e-posta adresi olup olmadığını kontrol etmek için kullanır:
Örnek
<?php
$email = "[email protected]";
// 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");
}
?>
Bir URL'yi Temizleyin ve Doğrulayın
Aşağıdaki örnek, filter_var()
işlevi önce bir URL'den tüm geçersiz karakterleri kaldırmak, ardından $url'nin geçerli bir URL olup olmadığını kontrol etmek için kullanır:
Örnek
<?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 Filtre Referansını Tamamlayın
Tüm filtre işlevlerinin eksiksiz bir referansı için eksiksiz PHP Filtre Referansımıza gidin. Hangi seçeneklerin ve bayrakların mevcut olduğunu görmek için her filtreyi kontrol edin.
Referans, her fonksiyon için kısa bir açıklama ve kullanım örnekleri içerir!