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?
Kako najbolje zaštititi umetanje malicioznog koda preko komentara?
Zaključano
Zakačeno
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
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
Hvala Keljo!
Odradio sam ovako:
Odradio sam ovako:
Code:
$nekitekst = mysql_real_escape_string(strip_tags($nekitekst));
$nekitekst = mysql_real_escape_string(strip_tags($nekitekst));
$text = str_replace('<','<',$text);
$text = str_replace('>','>',$text);
$text = str_replace('>','>',$text);
@Miroslav: Funkcija htmlspecialchars radi to i još par replace-ova umesto tebe