I HTML ve metnin bir karışımını içeren bir form alanı vardır. I want users to be able to use basic HTML ve noktalama.
Şu anda mysql_real_escape_string kullanıyorum ve preg_replace verileri dezenfekte ve veritabanına eklemek için. Benim anlayış preg_replace izin karakterlerin beyaz listesinde olmayan ve mysql_real_escape_string SQL enjeksiyon koruyan herhangi bir karakter şerit için en iyi yol olduğunu.
//How I collect and sanitise the data...
$var=mysql_real_escape_string(
preg_replace("/[^A-Za-z0-9-?!$#@()\"'.:;\\@,_ =\/<> ]/",'',$_POST['var'])
);
Ancak, bu karma karakter kullanıldığı zaman kırma tutar.
Benim sorular şunlardır:
1) bunu yapmak için daha etkili bir yolu var mı?
Bu en iyi yolu ise 2), ben yanlış ne yapıyorum?
Bütün alfanümerik karakterler ve: ben izin vermek gerekir karakterler:
? ! @ # $ % & ( ) - . , : ; ' " < > / + =
Teşekkürler!