Basit bir soru olmalı, ben sadece PHP sözdizimi ile aşina değilim ve şu kod SQL enjeksiyon saldırılarına karşı güvenli olup olmadığını merak ediyorum?:
private function _getAllIngredients($animal = null, $type = null) {
$ingredients = null;
if($animal != null && $type != null) {
$query = 'SELECT id, name, brief_description, description,
food_type, ingredient_type, image, price,
created_on, updated_on
FROM ingredient
WHERE food_type = \'' . $animal . '\'
AND ingredient_type =\'' . $type . '\';';
$rows = $this->query($query);
if(count($rows) > 0) {
vs, vs, vs
Ben biraz etrafında google'dan ve enjeksiyon güvenli kod WHERE food_type = \'' daha farklı bakmak gibi görünüyor görünüyor. $ Hayvan. '\' Sözdizimi burada kullandı.
Üzgünüm, ben burada kullanılan PHP ve MySQL hangi sürümünü bilmiyorum, ya da herhangi bir 3. parti kütüphaneler kullanılıyorsa, uzmanlık olan herkes herhangi bir giriş sunabilir?
UPDATE
\ Açıklamada hizmet ediyor Ne amaçla?:
WHERE food_type = \'' . $animal . '\'
Benim googling, ben mysql_real_escape_string
... Bu SQL Enjeksiyon ve diğer pislik korumak için bir işlevdir birçok başvurular geldi?
Sınıf bildirimi:
class DCIngredient extends SSDataController
So is it conceivable that mysql_real_escape_string
is included in there?
Should I be asking to see the implementation of SSDataController?