Hirdetés
Ú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
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Béta iOS-t használók topikja
- TCL LCD és LED TV-k
- Milyen okostelefont vegyek? OFF topik
- Villanyszerelés
- Konzolokról KULTURÁLT módon
- Kínai és egyéb olcsó órák topikja
- Pánik a memóriapiacon
- Xiaomi 15T - reakció nélkül nincs egyensúly
- VHS digitalizálás
- További aktív témák...
- Több db Nvidia Quadro M4000 8GB GDDR5 videokártya számlával
- 159 - Lenovo LOQ (15APH8) - AMD Ryzen 7 7840HS, RTX 4060
- HIBÁTLAN iPhone 13 Pro Max 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3391
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3070 8GB / 32GB DDR4 / 1TB SSD
- BESZÁMÍTÁS! MSI B450M R5 5600X 32GB DDR4 1TB SSD RTX 4060Ti 16GB GameMax Aero Mini ECO ADATA 650W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

