Citat:
hellofanta: ali u nekim projektima koristim fck editor pa mi je potrebno da korisnici azuriraju bazu upravo sa tagovima.
Ne razumem ovo. Ako ja pošaljem
<b>Hello <h1>World</h1></b> htmlspecialchars() vraća
<b>Hello <h1>World</h1></b>. Na koji način ovo čuva tagove? Ako ih ti kasnije vraćaš nazad onda si podjednako ugrožen od XSS napada kao i da ništa ne radiš. XSS smeta pri finalnom prikazu, ni na koji način ne ugrožava bazu.
Razlika u odnosu na
striptags() je što čuva HTML, na primer ako imaš neki webdev blog, onda želiš da zadržiš HTML u komentarima. Ako hoćeš da zadržiš HTML iz nekog editora moraš ili 1) da veruješ da korisnik neće zloupotrebiti XSS (na primer ako korisnik održava sopstvenu prezentaciju) ili 2) da koristiš
HTML Purifier. Lista dozvoljenih tagova u
striptags() nije dovoljno sigurna ako dozvoljavaš
<a>,
<img>,...
Sa XSS moraš biti oprezan pri ručnom sastavljanju HTML izlaza (umećeš delove koje je ostavio korisnik), kao što treba biti oprezan pri ručnom sastavljanju SQL izraza za odbranu od SQL ubrizgavanja. Dodatno stavi
header('Content-Type: text/html; charset=UTF-8'); na početak svake strane, ako tvoj veb server već nije podešen da šalje UTF-8 kao kodnu stranicu u HTTP zaglavlju.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja