Dr. No: XSS Problem! Wie vermeiden?

Beitrag lesen

Es gibt eine Sub die die Eingabe entgegennimmt, also wäre es doch Klug dort das ganze Input durch eine RegExp. durch zujagen oder?
Das Wissen wir nicht, die Frage ist was darf der Wert enthalten, vorher kann man schlecht sagen was du filtern willst.

So, es scheint nun zu klappen:

$myResult =~ s/[a-zA-ZŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0-9\-\,\.\+\s\|\=\~\#\^\/]//gi;  
if(length($myResult) > 0)  
{  
 # verlassen & meldung zeigen  
}  
# weiter machen

Hmmm? Du hast ein unsicheres Skript, das offensichtlich auch nicht sonderlich effizient programmiert ist, du hast kaum Kenntnisse der Programmsprache und willst damit online gehen? das ist gewagt.

Ähm, jein!
Das Script bei dem Sicherheitstest (wegen XSS) durchgefallen.
Jetzt muss diese Lücke geschlossen werden, dann läuft alles super.

Ich bin ehr der PHP Programmierer, der auch viel mit CSS, HTML, JS arbeitet, aber ehr wenig mit Perl. Auf Perlbasis laufen die alten Shops, die nun nach und nach durch die neuen PHP Shop abgelöst werden.

Das Thema ist durch, die RegExp greift, und leitet den Kunden um sobald nicht erlaubte Zeichen übergeben werden.

Danke!