javascript entfernen - RegEx

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • javascript entfernen - RegEx

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

  • #2
    Mittels Regex?

    script parsen und mit nichts ersetzen?

    mfg

    Comment


    • #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.

      Comment


      • #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

        Comment


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

          Comment


          • #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

            Comment


            • #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!

              Comment


              • #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

                Comment


                • #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?

                  Comment


                  • #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

                    Comment


                    • #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

                      Comment


                      • #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?

                        Comment


                        • #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.
                          Last edited by Manko10; 18-04-2008, 21:23.

                          Comment


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

                            Comment


                            • #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.

                              Comment

                              Working...
                              X