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

  • incognitotraveler

    incognitotra

    27 Mayıs 2010
  • Justin Davis

    Justin Davis

    14 Ocak 2008
  • PhoneBuff

    PhoneBuff

    10 HAZİRAN 2011