Bu form giriş ne kadar sanatization gerekir?

3 Cevap php

$username = $_POST['username'];

$sanitizedUsername = strip_tags(stripcslashes($username));

malacious sql enjeksiyonu ve saldırıların diğer türlerini önlemek için yeterli. Eğer değilse başka ne kullanmalıyım?

P.S. Kullanıcıların (mysql tablolarda kullanılan o tırnak ya da yıldız gibi olanlar hariç) alfanümerik, boşluk ve simge karakterleri içeren kullanıcı adları ve şifreleri seçmek için izin istiyorum.

3 Cevap

Eğer veritabanına eklediğinizde, kullanın:

mysql_real_escape_string($_POST['username']);

Eğer HTML çıktısı zaman kullanın:

htmlspecialchars($_POST['username']);

You'r ortamı, her zaman SQL enjeksiyon önlemek parametrized sorguları kullanabilirsiniz veriyorsa http://pl.php.net/manual/en/mysqli.prepare.php

Kullan string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] )

http://www.php.net/mysql_real_escape_string