Nützliches Snippet Cross side scripting schutz

  • Hallo leute
    (Nach lange suchen hab ich es gefunden)
    Hier ein kleines snippet mit dem ihr eure seite vor cross side scripting schützen könnt.


    Code
    foreach ( $_POST as $var => $val )  {
        $_POST[$var] = preg_replace('/[^a-z0-9 ]/i','',$val );
    }


    Damit wird auf jedes im superglobalen $_POST übergebene formularfeld automatisch mit einer regex auf alle zeichen überprüft die nicht (case sensitive natürlich) a bis z oder 0 bis 9 oder eine leerzeichen...


    alles andere wird entfernt.
    Hoffentlich hilft es euch


    MFG
    R4Zz0R

  • Öhh..


    naja, aber meiner meinung nach bringt das ja nix.


    Was wenn du jetzt einträge erwartest die mehr beinhalten, als die zeichen, willst für jede Post var, ausnahmen schreiben, und warum willst die unnötigen angaben durchgehen?


    Man sollte immer die Variablen Checken die benötigt werden.



    Zudem kann man so falsche eingaben nichtmehr abfangen. Wenn man alles ersetzt.


    Wenn du mal BBC auf deiner seite nutzen willst, musst das skript auch wieder umschreiben.



    Greetz TimTim

  • Ich würde mir einfach die zeichen die ich innerhalb meines bbcodes verwende mit in die regex schreiben und dann den bbcode jeweils nach belieben verwalten per str_replace oder so je nach dem was da grade zu machen wäre halt...
    Und ausnahmen braucht man ja nicht umbedingt mach dir ne function aus der schleife und benutzt sie nur da wo du sie auch sicher benötigst und wo kein bbcode oder sonstiges nötig ist..
    Ich sage ja es ist eine gute möglichkeit das so zu machen wenn man nur reinen text will bei spezifischen aufgaben braucht man dann auch wieder einen andern code...


    MFG
    R4Zz0R

  • Naja, dann bau aber gleich satzzeichen mit ein.


    Wenn das für ein GB benutzt wird.. dann hast nacher einen satz =D..


    Und man weis nicht was der user eingegeben hat.


    Naja, spätestens bei bbc, und urls, geht das schon nichmehr auf.


    Deshalb würd ich da eher direckt ein Adslash oder escape drüberlaufen lassen, als so ne einfache regex.


    Greetz TimTim

  • das ist jedem selber überlassen auserdem kann man ja auch zusätzliche zeichen in der regex aufnehmen ist doch kein problem xD


    Wie geagt ein beispielcode wie man es machen kann xD


    MFG
    R4Zz0R

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!