# Zeichen in PHP erlauben und verbieten - Frage dazu



## Alice (3. Februar 2012)

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?


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

Keine Ahnung aber ich mache es immer doppelt.


----------



## H4ckHunt3r (3. Februar 2012)

So kannst du prüfen ob nur erlaubte Zeichen enthalten sind:


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

htmlspecialchars() oder htmlentities() solltest du für die Ausgabe verwenden.
Bei SQL solltest du mysql_real_escape_string() verwenden.


----------



## saftmeister (3. Februar 2012)

Was macht dein Script denn mit den Eingaben vom Benutzer?


----------



## Alice (3. Februar 2012)

saftmeister hat gesagt.:


> Was macht dein Script denn mit den Eingaben vom Benutzer?



Das hier: http://www.tutorials.de/blogs/comfreek/11295-php-text-innerhalb-entlang-eines-kreises-schreiben.html

Also der Text denn dann auf das runde Eblem geschrieben wird.

Das Skript hat mit Datenbanken (SQL oder) nichts zutun. Ausserdem fliesst die Eingabe mit in die URL später. Also in den Dateinamen.


----------



## Ch (3. Februar 2012)

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.


----------

