javascript entfernen - RegEx

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • javascript entfernen - RegEx

    Gibt es evt. eine Funktion, welche lästiges Javascript entfernt?

  • #2
    Mittels Regex?

    script parsen und mit nichts ersetzen?

    mfg

    Kommentar


    • #3
      Eine Möglichkeit, oder z.B. htmlspecialchars() anwenden, dann kommt JavaScript nicht mehr zur Ausführung. Evtl. reicht sogar ein addslashes(), um JavaScript-Code zu zerstören, bloß ist die Variante wohl nicht so toll.

      Kommentar


      • #4
        Auf eure beiden Lösungen würde ich mich nicht verlassen, andernfalls wird es ein versierter Einbrecher nicht schwer haben in eurer Seite einen XSS-Angriffsvektor zu finden.

        Dem TS lege ich PHPIDS und HTML Purifier ans Herz. Zwei Tools, die ich grade in Kombination teste, und mit denen ich hervorragende Ergebnisse erziele!
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Code:
          /(\<script type\="text\/javascript"\/\>(.*?)\<\/script\>")/i
          ?

          Kommentar


          • #6
            Original geschrieben von $_Baker
            Code:
            /(\<script type\="text\/javascript"\/\>(.*?)\<\/script\>")/i
            ?
            PHP-Code:
            <script 
            type
            ="text/javascript">
            alert('XSS');
            </
            script
            Kein Match!
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              JavaScript befindet sich nicht nur in script-Tags, sondern auch in Eventhandlern, in style-Tags mit type="text/javascript", ... So einfach ist es nicht!

              Kommentar


              • #8
                OffTopic:
                Und wer .*? irgendwann mal in seinen Tutorials untergebracht hat, gehört auch an die Wand!
                [FONT="Helvetica"]twitter.com/unset[/FONT]

                Shitstorm Podcast – Wöchentliches Auskotzen

                Kommentar


                • #9
                  OffTopic:
                  Original geschrieben von unset
                  OffTopic:
                  Und wer .*? irgendwann mal in seinen Tutorials untergebracht hat, gehört auch an die Wand!
                  Soweit ich weiß, ist der U-modifier PHP-Spezifisch.
                  Außerdem, was ist, wenn man nicht überall ungierig sein will im regex?

                  Kommentar


                  • #10
                    Original geschrieben von $_Baker
                    OffTopic:

                    Soweit ich weiß, ist der U-modifier PHP-Spezifisch.
                    Wir sind ja auch im PHP-Forum ...
                    [FONT="Helvetica"]twitter.com/unset[/FONT]

                    Shitstorm Podcast – Wöchentliches Auskotzen

                    Kommentar


                    • #11
                      Allgemein kann man sage, das es eine Heidenarbeit ist, javascript vollständig zu entfernen.

                      Das mit dem Zeilenumbruch lässt sich auch ganz einfach bewerkstelligen.

                      Was ist denn so umheimlich schlimm an .*? fragezeichen

                      Kommentar


                      • #12
                        Original geschrieben von $_Baker
                        Allgemein kann man sage, das es eine Heidenarbeit ist, javascript vollständig zu entfernen ...
                        Das dachte ich mir. Da ich auch ein Heide bin dachte ich mir, es gibt sicher einige RegEx Lösungen für das Problem, um das Rad nicht jedesmal neu erfinden zu müssen ...

                        Hat jemand evt. eine brauchbare RegEx Lösung um sämtliches Javascript aus einem Text zu entfernen, um nur den Text verarbeiten zu können?

                        Kommentar


                        • #13
                          @$_Baker: Nichts. Nur wenn man in seinem RegEx nur ungierige Muster hat, dann ist der U-Modifier praktischer und übersichtlicher.

                          @janein: die einfachste Methode ist, den gesamten HTML-Code ungültig zu machen (htmlentities() oder htmlspecialchars()). Dann wird kein JS-Code mehr ausgeführt, weil es keine entsprechenden Tags/Attribute mehr gibt. Wenn du JavaScript aber nur entfernen, den Rest aber erhalten willst, wird es kompliziert.
                          Zuletzt geändert von Manko10; 18.04.2008, 22:23.

                          Kommentar


                          • #14
                            Original geschrieben von Manko10
                            ... Wenn du JavaScript aber nur entfernen, den Rest aber erhalten willst, wird es kompliziert.
                            Genau das will ich ...

                            Kommentar


                            • #15
                              Ganz einfach: Du schaust dir an, welche onclick-Attrbute, scripttags (zb bei selfhtml) usw es gibt, und baust dir damit ausdrücke, die das entfernen. Aber dann musst du schon jede Kombination berücksichtigen, auch die oben angesprochene mit dem Zeilenumbruch.

                              Kommentar

                              Lädt...
                              X