SORU
1 Mart 2010, PAZARTESİ


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
1 Mart 2010, PAZARTESİ


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ı)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • Exalto_Gamer

    Exalto_Gamer

    15 EKİM 2014
  • olinerd

    olinerd

    23 AĞUSTOS 2007