Çok basit bir veritabanı uçlar için yeterli mysql_real_escape_string mı?

0 Cevap php

Örnek kod:

$email = "" . $_POST['email'];
$con = mysql_connect("localhost","user","pass")
  or die('Could not connect to database.');
mysql_select_db("face", $con);

// Sanitization step
$sanitemail = mysql_real_escape_string($email);

// Is this safe?
mysql_query("INSERT INTO landing_oct_2010 (email) VALUES ('$sanitemail');");

Ben olsun, bu basit bir görev için, eğer bilmek istiyorum sadece kullanarak mysql_real_escape_string en az enjeksiyon tarzı SQL saldırıları önlemek için tam olarak yeterli değildir, veya başka bir tedbir varsa ben almalıdır.

Ben bu örnekteki e-posta adreslerini toplamaya olduğumu gerçektir tesadüfi değildir. Ben e-posta adresleri ile çalışıyorum biliyorum, ben sadece bir regex ve bazı DNS kontrolleri atmak istiyorum ve orada ben de doğrulama inşa ederdim. Ancak, eldeki genel bir sorun üzerinde odaklanmak istiyorum: tek sanitasyon fonksiyonu yeterli mi?

0 Cevap