Hirdetés
- Huawei P30 Pro - teletalálat
- iPhone topik
- One mobilszolgáltatások
- Samsung Galaxy S25 - végre van kicsi!
- EarFun Air Pro 4+ – érdemi plusz
- Milyen okostelefont vegyek?
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Milyen hagyományos (nem okos-) telefont vegyek?
- Betokozódik az iPhone fejlesztése
Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
válasz
vakondka
#1210
üzenetére
Az injection ellen is véd, meg hogy a spec karakterek is helyesen kerüljenek be. Nálam a db osztály escape függvénye így néz ki:
if (get_magic_quotes_gpc()) $input = stripslashes($input);
return @mysql_real_escape_string($input,$this->connection);És ezt hívom meg minden alkalommal, amikor usertől származó adatot rakok bele query stringbe. Kivételek persze vannak: ha valamit sokszor használok, akkor inkább egy külön változóba escapelem, és azt az értéket rakom stringbe, mert a plusz memóriafoglalással is hatékonyabb, mint ennek a többszöri meghívása

-
fordfairlane
veterán
válasz
vakondka
#1210
üzenetére
Most olvasom a felhasználók kommentjeit, és vannak köztük érdekesek:
"Remember to slash underscores (_) and percent signs (%), too, if you're going use the LIKE operator on the variable or you'll get some unexpected results."
Úgy tűnik, hogyha nagyon precízek akarunk lenni, akkor saját escape függvényt kell csinálni, mert ez a példa csak a LIKE paraméterre vonatkozik.
-
fordfairlane
veterán
válasz
vakondka
#1210
üzenetére
Én nem szoktam ezeket a függvényeket használni. A mysql_real_escape_string leírása szerint backslash-t szúr a következő karaterek elé:
\x00, \n, \r, \, ', " és \x1aAz addslashes pedig a következők elé: \, ', ". Nem tudom, hogy szükség van-e a mysql_real_escape_string-re, ezen még nem gondolkodtam el, de lehetséges.
Ami a sprintf-et illeti, a haszna abban van, hogy típuskonverziót is kikényszerít, így egy numerikusnak várt érték, ami valami hiba vagy hack miatt nem numerikus, nem fog query hibát okozni. Én nem szoktam használni a sprinf-et, integernél általában a query-be beszúráskor explicit típuskonverziót adok meg, ha tudom, hogy csakis az adott típus lehet, pl. jelen esetben integert várok:
$query .= 'tipus='.(int)$p['tipus'];
Ez már inkább programozási stílus kérdése, hogy ki melyiket használja.
Új hozzászólás Aktív témák
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPad 9th Gen 256GB, Wi-Fi+Cellular, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy A53 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RX 9070 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 16/32/64GB RAM RX 9060XT 16GB GAMER PC termékbeszámítással
- LG UltraGear Gaming Monitorok : BLACK NOVEMBER -30%
- HIBÁTLAN iPhone 15 Pro 128GB Black Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3870, 100% Akksi
- Azonnali készpénzes AMD Radeon RX 9000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest



