Sanitera strängar i PHP som ska användas i SQL-anrop
Postat: 31 okt 2010, 21:13
Jag har input från ett HTML-formulär som ska ingå ett SQL-anrop, därför vill jag sanitera bort allt som inte är alfanumeriska tecken.
Har följande mycket enkla exempel:
När jag sedan går in på http://localhost/index.php?string=foo1<b>_'); tas bara html-taggen bort, resultatet blir alltså
Varför blir det så?
EDIT: Lite dum fråga kom jag på efter att ha kollat i en ASCII-tabell. Men hur gör jag för att ta bort alla tecken utom bokstäver och siffror? Finns det något inbyggt filter för det?
Har följande mycket enkla exempel:
Kod: Markera allt
<html>
<body>
<?php
$string = filter_input(INPUT_GET, 'string', FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW);
echo $string;
?>
</body>
</html>
Kod: Markera allt
foo1_');
EDIT: Lite dum fråga kom jag på efter att ha kollat i en ASCII-tabell. Men hur gör jag för att ta bort alla tecken utom bokstäver och siffror? Finns det något inbyggt filter för det?