Armut DB_DataObject ve giriş temizleme

1 Cevap php

Ben normalde sql-enjeksiyonları önlemek için bir sorgu içindeki değerleri eklemeden önce girişini temizlemek için kendime ait bir işlevini kullanın. Ayrıca armut DB_DataObject kullanın.

Ben DB_DataObject girişini kendisi temizler somehere okuyun. Bu doğru mudur? I DB_DataObject nesneye temizlenmemiş girişi atayabilir miyim? (DB ile hiçbir bağlantısı henüz kurulmamış olduğundan ne mysql_real_escape_string hakkında?, I DB_DataObject ile birlikte kullanarak bir hata alıyorum)

Ayrıca ben diğer insanların orada girişini temizlemek nasıl merak ediyorum. En iyi uygulama var mı?

1 Cevap

"-> Set *" yöntemleri, örneğin DB_DataObject geçti girişleri sterilize

Bir DB_DataObject olmak User varsayarak, aşağıdaki tüm güvenli olacaktır:

 
$user = new User;
$user->firstName = $_REQUEST['first'];
$user->setFirstName($_REQUEST['first'];
$user->setFrom($_REQUEST);

Aslında SQL fragmanları geçmek herhangi bir yöntem güvenli değildir, gibi şeyler:


$user->selectAs($_REQUEST['col']. ', first as name');
$user->whereAdd("first=$_REQUEST['first]");

Umuyoruz clarifys şeyler biraz ...