ugrás a tartalomhoz

Melyik függvények kellenek adatbázisba mentéskor és kiíratáskor?

geforce9600gt · 2014. Jan. 10. (P), 13.24
Sziasztok

Űrlapról adatokat mentek, majd az oldalon kiíratom. Mentéskor milyen függvényeket rakjak az űrlapról jövő változókra? És ugyanez kiíráskor is..?

Real_escape,htmlspecialchars, meg még van egy pár... Mikor melyik kell az a konkrét kérdésem. Köszönöm
 
1

Különböző

Poetro · 2014. Jan. 10. (P), 13.37
Teljesen különbözőek kellenek. Írás előtt előbb validálni kell, hogy minden adat, ami a felhasználótól származik, megfelelő formátumú és megfelelő adatot tartalmaz. Ha egy szám 0-10-ig, akkor tényleg egy szám ebben az intervallumban. Ha HTML, akkor valid HTML és nem tartalmaz XSS kódot. Ha szöveg, akkor annak hossza és formátuma megfelel a feltételeknek (pl. email és URL esetén). Ezután az adatbázisba írás előtt azt megfelelően escape-elni kell, illetve amennyiben lehetséges, akkor inkább prepared query-ket kell használni, amik automatikusan elvégzik az escape-elést.
Kiiratáskor meg természetesen htmlspecialchars, ha HTML-t kell kiíratni, akkor pedig XSS-t is kell ellenőrízni.
2

Akkor mindent amit kiíratok,

geforce9600gt · 2014. Jan. 10. (P), 13.46
Akkor mindent amit kiíratok, a kiírásnál a htmlspecialchars kell rá, például ha beírnak egy scriptet egy alert-et mondjuk, akkor az ne fusson le.

Xss-t hogy ellenőrzöm?
3

Xss-t hogy ellenőrzöm?

Poetro · 2014. Jan. 10. (P), 13.59
Xss-t hogy ellenőrzöm?

Van rá rengeteg eszköz, vannak jobbak, rosszabbak, a legkiterjedtebb és elterjedtebb talán az HTML Purifier, de vannak még mások is
4

Oké megnézem köszi.

geforce9600gt · 2014. Jan. 10. (P), 14.10
Oké megnézem köszi. Htmlspecials chars meg lényegében mindenre amit ki íratok?
5

Amit HTML-be íratsz ki.

bamegakapa · 2014. Jan. 10. (P), 14.15
Amit HTML-be íratsz ki. Nyilván ha JSON-ba, akkor nem ez kell :).
6

Persze, divekbe például.

geforce9600gt · 2014. Jan. 10. (P), 14.25
Persze, divekbe például.
7

Ha pedig számról van

geforce9600gt · 2014. Jan. 10. (P), 14.44
Ha pedig számról van szó,például GET-ben átadott id, akkor annál elég csak az intval() ugye?