Michael Neubert: JavaScript per Mustersuche erkennen

Hallo,

in einem Webprojekt von mir möchte ich den Mitgliedern die Möglichkeit geben, einen Teil ihres Profiles mit HTML und CSS selber zu gestalten. Dazu wird der Code in der Datenbank hinterlegt.

Aus Sicherheitsgründen möchte ich aber keinen JavaScript Code zulassen. Mir reicht es diesen zu erkennen, er muss nicht herausgefiltert werden.

Nach welchen Mustern muss ich daher in dem Code suchen lassen?
einige habe ich bereits aufgenommen:

<SCRIPT TYPE="text/javascript">
javascript:

Wer weiß Rat, um gefährlichen Code abzuweisen?

Vielen Dank im Vorraus für eure Hilfe!

Beste Grüße
Michael

  1. hi,

    Nach welchen Mustern muss ich daher in dem Code suchen lassen?
    einige habe ich bereits aufgenommen:

    <SCRIPT TYPE="text/javascript">
    javascript:

    • jegliche erlaubte tags auf eventhandler-attribute hin untersuchen

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hi,

      • jegliche erlaubte tags auf eventhandler-attribute hin untersuchen

      ... das dachte ich mir schon. Da werden einige Suchmuster zusammenkommen.

      Gruß
      Michael

      1. Hi,

        Mustersuche mit RegExp ist schön und gut, kann teilw. aber auch sehr kompliziert, umfangreich und damit fehleranfällig werden.

        Vielleicht solltest Du es komplett anders angehen und diese Arbeit einem HTML-Parser überlassen. Dafür gibts bereits fertige Klassen, d.h. Du bist damit wahrscheinlich schneller am Ziel und auf der sicheren Seite. Die geparste Struktur (assoz. Array) kannst Du i.d.R. schnell auf Handler und Javascript-Bereich hin untersuchen.

        freundlichen Gruß
        Danny

        --
        Selfcode: fo:) br:& n4:& ie:% mo:) va:| de:] zu:) fl:| ss:) ls:& ls:& js:|
        Motto:    OpenSource - Das Wissen der Menschheit gehört der Welt!
  2. Ahoi Michael Neubert,

    Wer weiß Rat, um gefährlichen Code abzuweisen?

    nur BBCode zur formatierung zulassen wenn es darum geht das sie in ihrer
    beschreibung etwas machen können. Wenn es darum geht eine benutzspezifische ansicht deiner website zu haben dann empfiehlt es sich entsprechend der zu modifizierenden daten eingebafelder anzubieten

    also in etwa so wie hier bei den benutzereinstellungen.

    MfG

    --
    Alle Angaben wie immer ohne Gewähr
    PPPS: ich trinke gerne ab und an mal eine tote Tante.
    1. Hi,

      BBCode reicht mir nicht aus, da dadurch der Nutzer nicht genügend Möglichkeiten hat (Tabellenverwendung und und und). HTML und CSS sollen mit allen ihren Facetten erlaubt sein.

      Gruß
      Michael