v2.5.2
Giriş yap

E-mail kontrolü için Validate ve Sanitize filter kullanımı

yalcin
318 defa görüntülendi ve 1 kişi tarafından değerlendirildi

input type="email" kontrolu

Kod şöyle

<?php
   $email = filter_var($email, FILTER_SANITIZE_EMAIL);

 
if(filter_var($email, FILTER_VALIDATE_EMAIL)){

    echo "<b>$email</b> Geçerli e-posta";

} else{

    echo "<b>$email</b> Geçersiz e-posta";
}
?>

FILTER_SANITIZE_EMAIL bu kodun php netteki açıklaması Harfler, rakamlar ve! # $% & '* + - =? ^ _ `{|} ~ @. [] Dışındaki tüm karakterleri kaldırır şeklinde

FILTER_VALIDATE_EMAIL bunun içinse mailin geçerli bir mail adresi olup olmadığını denetler diye açıklama yapılmış

1. Sorum (xss / injection vs adına )

!#$%&'*+-=?^_`{|}~@.[].
bu yukardaki karakterlere izin veriyor bu karkterlerden temizlenmesi gereken güvenlik tehditi oluşturabilecek varmıdır ?

örneğin
$email = filter_var($email, FILTER_SANITIZE_EMAIL); dedikten sonra birde
$filtrele = htmlspecialchars($email,ENT_QUOTES); gibi bişe yapmak gerekirmi _ ?

2. Sorum

FILTER_VALIDATE_EMAIL çalıştırmadan önce FILTER_SANITIZE_EMAIL çalıştırmak şöyle bi senaryoya yol açıyor örneğin

kayıt olmak isteyen kullanıcı [email protected] ile kaydolmak isterken yanlışlıkla bu adresini
tayfuneğ[email protected] şeklinde yazınca FILTER_SANITIZE_EMAIL ğ harfini kaldırıp mail adresini
[email protected] şekline getiriyor bunun sonucunuda tahmin edersiniz.

Neticede , FILTER_SANITIZE_EMAIL filtresini kullanmak doğru olmayacaktır dersem doğrumu söylemiş olurum ?
Cevap evet haklısın derseniz bu filtre hangi amaçla var ?

Cevap yaz
Cevaplar (0)
Henüz kimse cevap yazmadı. İlk cevap yazan sen ol!