PHP: kullanıcı giriş temizliği için yeterli mysql_real_escape_string?
mysql_real_escape_string
çoğu durumda kullanıcı giriş temizliği için yeterli mi?
::EDİT::
Düşünüyorum çoğu açısından önlenmesi SQL enjeksiyon ama ben sonuçta bilmek ister güvenmeli miyim, kullanıcı veri sonra uyguluyorum mysql_real_escape_string veya götürsem ekstra önlemler için temiz veri önce ben pas atarsın uygulama ve veritabanları.
HTML karakter için temizlik önemli olduğu görüyorum ama güvenen kullanıcı giriş için gerekli değil diye düşünüyorum.
T
CEVAP
mysql_real_escape_string
tüm durumlar için yeterli değil ama kesinlikle çok iyi bir arkadaş.daha iyiçözüm kullanıyorPrepared Statements
//example from http://php.net/manual/en/pdo.prepared-statements.php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $value);
// insert one row
$name = 'one';
$value = 1;
$stmt->execute();
Ayrıca, unutmamak içinHTMLPurifierherhangi bir geçersiz/şüpheli karakterleri silmek için kullanılır.
...........
Düzenleme: Aşağıdaki yorum dayanarak, bu bağlantı (karışıklık yaratmak için önce özür dilerim yapmamalıydım) göndermenizi istiyorum
mysql_real_escape_string() versus Prepared Statements
Alıntı:
() mysql_real_escape_string yatkın sorunlar aynı tür etkileyen () addslashes.
Chris Shiflett(Güvenlik Uzmanı)
Eğer kullanıcı giriş olup olmadığını k...
Geçerli bir yanıt verene kadar, giriş ...
Tek tırnak ile tek tırnak ve çevresind...
ASP.NET MVC HTML giriş için kullanıcı ...
Bir Tarih, bir zaman ayrıştırmak için ...