Zeichen in PHP erlauben und verbieten - Frage dazu

Alice

Erfahrenes Mitglied
Hallo. :)

Für ein PHP-Skript benötige ich eine Angaben der User.

Daher wollte ich gerne wissen wie problematisch es wäre folgende Zeichen zu erlauben?

A-Z, a-z, 0-9 und folgendende Sonderzeichen: .,/()_- und halt das klassische Leerzeichen.

Ich bin kein Experte aber ich vermute das man damit schon Schadcode erzeugen könnte.

Würde das zum absichern reichen?

PHP:
$var1 = ('lalal_lol-12345-(haha)php//.,.  lol(.,sd9)');
$var1 = htmlspecialchars($var1);
$var1 = htmlspecialchars($var1, ENT_QUOTES);

Keine Ahnung aber ich mache es immer doppelt.
 
Zuletzt bearbeitet:
So kannst du prüfen ob nur erlaubte Zeichen enthalten sind:

PHP:
if(preg_match('^[A-z0-9 \.,\/\(\)_-]+$', $meinString))
{
// Weitere verarbeitung des Strings
} else {
echo 'Der String enthält nicht erlaubte Zeichen!';
}

htmlspecialchars() oder htmlentities() solltest du für die Ausgabe verwenden.
Bei SQL solltest du mysql_real_escape_string() verwenden.
 
Also Schadcode kannst du damit erstmal nicht anrichten, weil du einen String der Imagefunktion ünbergibst und sie ihn auch als solchen behnadelt. Aber was "H4ckHunt3r" geschrieben hat, grenzt zumindest mal alle Sontigen Möglichkeiten aus.
 
Zurück