[ Marko Medojević @ 15.09.2007. 15:02 ] @
| Recimo imam formu za unos komentara na jednoj stranici i hoću da sprečim da neko napiše "<script> alert('hack!'); </script>" ili nešto još gore. Da li je najbolje rešenje sa str_relplace() izbaciti sledeće tagove: "<embed>", "<object>", "<applet>" i "<script>" ili ima neko sigurnije i elegantnije rešenje? |
[ kelja @ 15.09.2007. 15:12 ] @
Imas funkcije:
strip_tags i htmlspecialchars.
Mada sad vidim da ova prva ima nekih nedostataka:
http://www.php.net/strip-tags
http://www.php.net/manual/en/function.htmlspecialchars.php
A ako ti sadrzaj polja odlazi u bazu, onda obavezno :
mysql_real_escape_string()
http://www.php.net/mysql_real_escape_string
[ Marko Medojević @ 15.09.2007. 15:35 ] @
Hvala Keljo!
Odradio sam ovako:
Code:
$nekitekst = mysql_real_escape_string(strip_tags($nekitekst));
[ Miroslav Dostanić @ 16.09.2007. 18:24 ] @
$text = str_replace('<','<',$text);
$text = str_replace('>','>',$text);
[ Nemanja Avramović @ 16.09.2007. 19:58 ] @
@Miroslav: Funkcija htmlspecialchars radi to i još par replace-ova umesto tebe

Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.