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

  • André Frizzo

    André Frizz

    16 Aralık 2006
  • Jejoab

    Jejoab

    4 NİSAN 2008
  • YEAH1TV

    YEAH1TV

    19 ŞUBAT 2009