Autor Zpráva
gardener
Profil
Zdravím, mám jeden problém:

Volám fci
  try {
    	$foo = "<script>
alert(\"To ses ale lekl!\");
</script>";
		echo Input_protect($foo);
		}


Ve fci:
function Input_protect($string) {
    strip_tags($string,'<script>');
	//mysql_real_escape_string($string);
	return $string;
    }


Fce ale tag script neodstrani. Kdyz ale volam strip_tags přmo a rovnou mu nasypu parametry, tak to funguje, netušíte kde by mohla být chyba?

Díky za každou radu..
Werewolf
Profil
Druhý argument fce strip_tags jsou tagy, které neodstraní. Takže pokud druhý argument nenapíšeš, tak bys měl dostat

alert("To ses ale lekl!");
gardener
Profil
Pardon, prepsal jsem se, i kdyz jsem druhy parametr nezapsal, vysledek je stejny, k orizuti nedojde.
Bronzi
Profil
Funkce strip_tags vrací řetězec bez tagů. Aby to fungovalo tak jak to máš napsané musela by ta funkce přijímat proměnou odkazem, což nedělá. Takže takhle je to zprávně

function Input_protect($string) {
    return strip_tags($string);
    }
gardener
Profil
Pokud jsem jí předal proměnnou odkazem:

$string = "<script>alert(\"To ses ale lekl!\");</script>";
        echo Input_protect($string =&$string);


Tak to take bohuzel nejde..

U reseni od Bronzi, co kdybych chtel vratit hodnot vice? Pomoci pole?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: