Protection Filter PHP

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
tycyssg
Mesaje:58

Protection Filter PHP

Salut din nou.

Cod: Selectaţi tot

if(isset($_GET['phonemodel'])) {
	    $id = $_GET['phonemodel'];
		
		$idsplit = str_split($id);
		$forbidden = array("/",".","-","=","#","$","%","*","!","[","]","'","","^");
		$id_forbiden = array_intersect($idsplit,$forbidden);
		if(in_array($id_forbiden,$forbidden)){
		    echo "You are not allowed to do this";
			}
			else {
			// Cod MYSQL Select
Cum preluarea din GET nu e un int,incerc sa-l protejez umpic.Am incercat urmatorul filtru,l-am testat si se pare ca nu prea merge.Daca adaug in db un titlu de genu "Telefon-x1" Mi-l afiseaza nu-mi returneaza eroare.

Ce nu fac bine ?

Ms mult.

MarPlo Mesaje:4343
Salut
Decat sa aplici atatea functii pentru array, mai simplu e cu preg_match() cand e de filtrat un sir.
Exemplu:

Cod: Selectaţi tot

$id = 'Telefon-x1';
if(preg_match('/[\/=#\$%\*!\[\]\.\'^\-]/i', $id) || strlen($id) < 1){
  echo "You are not allowed to do this";
}
else {
  echo 'ok';
}