Hirdetés
- Home server / házi szerver építése
- Nem folyik, nem kenődik, de hűteni azt tud
- Bluetooth hangszórók
- Milyen videókártyát?
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Fejhallgató erősítő és DAC topik
- Házimozi belépő szinten
- Androidos fejegységek
- Hobby elektronika
- Felköszöntötte a tíz éves DirectX 12-t a Microsoft
Új hozzászólás Aktív témák
-
ddekany
nagyúr
válasz
nemmind1_85
#5
üzenetére
Nekem az a határozott véleményem, hogy ez hiba, mivel egy template engine-ről van szó, aminek feladata nagy részben az, hogy változók értékeit szúrja be valamibe. Tehát azt elvárni, hogy manuálisan oldja meg az ilyen-olyan encoding-ot (pl. HTML kódolást) valaki, minden egyes beszúrásnál, ostobaság, és felesleges biztonsági kockázat (mert sokan sokszor ki fogják felejteni). Az, hogy ez mégis így van rengeteg template nyelvben egyszerűen annak köszönhető, hogy nem tudnak elrugaszkodni a készítők az általánosabb célú nyelvektől. DE, lehet, hogy Smarty-nak van erre megoldása, csak akkor kimaradt a cikkből.
Ami a többféle formátumot illeti, közölni kell a template engine-el hogy melyik template kimenete milyen formátumú, és kész. Pl. az alapértelmezés HTML, ha meg nem HTML-t generálunk, akkor meg kell adni template elején a formátumot... ilyesmik.
Az SQL injection egy jó példa arra, hogy hova vezet, ha nem próbálja megoldani a nyelv vagy a programozói könyvtár automatikusan az ilyen alacsony szintű problémákat. Soha sehol senkinek nem szabadott volna string összefűzéssel előállítani SQL parancsokat (OK, kivéve néhány extrém esetben), csak sablonokkal, pl ilyesmi: sql("SELECT id FROM something WHERE cat = ?", catVar). Itt is a sablon dolga, hogy biztosítsa az érték SQL szintaxisú "idézését", már ha egyáltalán valaha létrejön az SQL utasítás szövegként... lényeg hogy nem neked kell arra figyelni, hogy olyasmiket írjál, mint sql("SELECT id FROM something WHERE cat = " + sqlEsc(catVar)), ahol az sqlEsc-et nem ér kifelejteni.
Új hozzászólás Aktív témák
- HIBÁTLAN iPhone 14 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3159
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- HOGART elektromos csaptelep azonnali vízmelegítővel
- HIBÁTLAN iPhone 15 Pro 128GB Blue Titanium -1 ÉV GARANCIA -Kártyafüggetlen
- Eredeti, új Lenovo 330W töltők - ADL330SDC3A
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


