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

  • Art Food Kitty - Kelly Eddington

    Art Food Kit

    7 Kasım 2006
  • SellerDp

    SellerDp

    27 EKİM 2009
  • sonia989

    sonia989

    26 EKİM 2006