PHP form doğrulama soru?

2 Cevap php

Bir isim veya sokak adresi doğrulamak için gerekli midir? Ben zaman aşağıdaki biçimde kodlanmış. Ve öyleyse neden?

$address = mysqli_real_escape_string($mysqli, htmlentities($_POST['address']));
$name = mysqli_real_escape_string($mysqli, htmlentities($_POST['name']));

2 Cevap

Eğer bir '$' veya '%' içeren bir kaç isim ya da adres biliyor musunuz? Kullanıcıların aptal olmak için kontrol etmek için yapabileceğiniz basit kontroller vardır. Genellikle isim tek kelime karakter içerecektir (ve bazen bir virgül ve süresi ile bir Jr, Sr, vb varsa) ve (onlar kısaltmak sürece bir dönem dahil olabilir, bu durumda) bir adres sadece alfanümerik karakterler içerir. Bu gerekli değildir, ama kullanıcılar sadece (ki üzgünüm benim pet peeves, var) sadece komik olmak için rasgele BS girerek bitmiyor ben şahsen çek koymak istiyorum.

Kural FIEO Girdi Kaçış çıkış filtresi durumdayken 2 veri kaçan araçları ve filtreleme hiçbiri çünkü oraya kadar karışık biraz görünüyor

Filtreleme:

SİZE bir "isim" sadece uzun 2 ile 50 karakter arasında olabilir ve tire ve tek tırnak (') içerebilir, üst ve alt harf olabilir KARAR eğer o zaman da gerekir:

remove anything not matching your own definition example above (using regular expressions maybe) OR abort the operation

Eğer kullanıcı / potansiyel saldırgana olmak istiyorum nasıl tür bağlı

filter_var (), aynı zamanda, bu senaryoda çok yararlıdır.

Kaçış

Sen veri için başlı sonraki çevre için hazır verileri kaçış;

Onun bir veritabanına gitmek için, o zaman html ekrana yankılanıyor eğer böyle devam htmlentitiesi kullanın () ve (), sizin mysqli_real_escape_string kullanmak istiyorum.

HTH