ziedinjsh Posted June 18, 2011 Author Report Share Posted June 18, 2011 Viss strādā risinājums ir šāds $hash = trim(trim($_GET['hash']), './@#$'); Link to comment Share on other sites More sharing options...
Maris-S Posted June 18, 2011 Report Share Posted June 18, 2011 Faks, Tu mainīgajam $name vienmēr piešķir jaunu vērtību, nevis apvieno tās, apskaties sekojošu kodu, palaid viņu un pārbaudi ko viņš izvadīs, tad sapratīsi par ko Namākuphp runā. Post mainīgā vietā es izmantoju vienkāršu mainīgo, tas šoreiz neko nemaina. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Ievaddatu pārbaude.</title> </head> <body> <xmp> <?php $post = "Ienākošie dati, ko vajag pārbaudīt, jo var būt speciālie simboli, piemēram: ', <, >."; $name = $post; $name = mysql_real_escape_string($post); //Pirms izmantot šo funkciju jāizveido savienojums ar MySQL datubāzi. $name = htmlentities($post); $name = trim($post); $name = stripslashes($post); $name = addslashes($post); echo("Rezultāts pēc visām drošības apstrādēm.\n"); echo("$name\n\n"); $post = "Ienākošie dati, ko vajag pārbaudīt, jo var būt speciālie simboli, piemēram: ', <, >."; $name = addslashes($post); echo("Rezultāts tikai pēc addslashes apstrādes.\n"); echo("$name\n"); ?> </xmp> </body> </html> Vari pārliecināties ka rezultāts ir pilnīgi vienāds abos gadījumos, gan pārbaudot visu ko Tu pārbaudi, gan izpildot tikai addslashes. Vēl viens kods, kurā vari redzēt pa soļiem kas notiek. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Ievaddatu pārbaude.</title> </head> <body> <xmp> <?php $post = "Ienākošie dati, ko vajag pārbaudīt, jo var būt speciālie simboli, piemēram: ', <, >."; $name = $post; echo("Ienākošie date: $name\n"); $name = mysql_real_escape_string($post); //Pirms izmantot šo funkciju jāizveido savienojums ar MySQL datubāzi. echo("Mysql_real_escape_string: $name\n"); $name = htmlentities($post, ENT_COMPAT, 'UTF-8'); echo("htmlentities: $name\n"); $name = trim($post); echo("trim: $name\n"); $name = stripslashes($post); echo("stripslashes: $name\n"); $name = addslashes($post); echo("addslashes: $name\n"); ?> </xmp> </body> </html> Link to comment Share on other sites More sharing options...
Recommended Posts