Have anyone reading the description of PHP user authentication system at Wikibooks? http://en.wikibooks.org/wiki/PHP%5FProgramming/User%5Flogin%5Fsystems
Bu iyi mi? Güvenli? Düzeltin?
Have anyone reading the description of PHP user authentication system at Wikibooks? http://en.wikibooks.org/wiki/PHP%5FProgramming/User%5Flogin%5Fsystems
Bu iyi mi? Güvenli? Düzeltin?
Orada bir kullanıcı kimlik doğrulama sistemi yapmak için yol toons vardır, bu yüzden gerçekten neye ihtiyacınız bağlıdır. Bu basit bir doğrulama için Tamam görünüyor.
Ancak, onlar yazdı aşağıdaki kodu not edin:
$db = new Database(); // Database abstraction class.
$email_address = $db->esc($_POST['email']);
$password = $db->esc($_POST['password']);
Ne bu kodda önemli Database abstraction class
olduğunu. Bu başka bir yerde belki bilmiyorum, sayfada bağlantılı, ancak bu sınıfın en önemli parçası $db->esc()
o kaçar ve muhtemelen kullanıcı girdileri için çağrı değildir. Bu never make any call to the database without sanitizing user input, önlemek için çok önemli olduğunu SQL injections.
Genellikle, "esc" eşdeğer kullanırsınız addslashes. Ama veritabanı belirli kaçış fonksiyonları (MySQL için Beğen mysqli_real_escape_string
) kullanarak konum veritabanına bağlı olarak gerektiği devlet notu, okurum. Veritabanı soyutlama sınıfı bu tür şeyler :) için gerçekten yararlıdır.