Announcement

Collapse
No announcement yet.

JavaScript mit PHP unterdrücken??

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

  • JavaScript mit PHP unterdrücken??

    Hallo zusammen,

    gibt es einen Befehl, Funktion oder was ähnliches in PHP, mit dem man JavaScript in HTML unterdrücken kann, d.h. dass es nicht ausgeführt wird?

    Bitte um Eure Hilfe.

    Vielen Dank im Voraus.

    Gruß
    Nano

  • #2
    PHP wird auf dem Server ausgeführt, Javascript auf dem Client!

    Comment


    • #3
      Diese Antwort hat mich jetzt echt weitergebracht.

      Das hätten Sie sich echt sparen können!!!

      Comment


      • #4
        Originally posted by Nano View Post
        Diese Antwort hat mich jetzt echt weitergebracht.

        Das hätten Sie sich echt sparen können!!!
        Und das hättest du dir sparen können!

        Hallo Nano,

        was hast du denn erwartet ? Du kannst mit einer serverseitigen Scriptsprache keine Einstellungen auf dem Client beinflussen! Wär ja auch noch schöner wenn jede Webseite mein Javascript aus und einschalten könnte

        Aber so richtig versteh ich die Frage auch nicht. Wenn dein PHP-Script nur HTML ohne JavaScript produziert, dann wird auch kein JavaScript ausgeführt oder?

        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment


        • #5
          Moinsen Leute,

          natürlich kann man auf JavaScript einfluss nehmen.
          Bei folgenden kleinen Code wird z.B. JavaScript nur ausgeführt wenn die Bedingung im PHP teil true ergibt. Also so würde ich das machen.. Vielleicht nicht die beste Umsetzung, aber es funktioniert

          Code:
          <?php
           if (Bedingung)
           {
          ?>
          
           <script language="JavaScript">
           <!--
            //  Funktionsaufruf ....
           //-->
           </script>
          
          <?php } ?>

          Comment


          • #6
            Hallo Nano,

            "PHP wird auf dem Server ausgeführt, Javascript auf dem Client!"

            Wer die Anrede und den Gruß wegläßt, der hat selbst das größte
            Problem. Manche Leute brauchen hier wirklich einen Benimmkurs
            <Shouting> !</Shouting>


            Gruß

            Touch and Go
            Zuletzt editiert von Touch and Go; 29.08.2008, 07:11.

            Comment


            • #7
              Hab mich mal einfach registriert weil ich mir so rumgeflame am Wochenende echt nicht reintun will.
              War zwar gar nicht das wonach ich gegoogled hab aber ist ja auch nicht weiter schlimm.

              Du willst wahrscheinlich JavaScript ausgeben, ohne dass es ausgeführt wird.
              Möglichkeit 1:
              Code:
              <pre>(code)</pre>
              Achtung: Wenn user den Inhalt beeinflussen können, pass auf dass sie nicht einfach </pre> an den Anfang des Feldes schreiben.

              Möglichkeit 2, deutlich sicherer:
              Code:
              <?php
                $strJS_original = '<script language="javascript">alert('test');</script>';
                $strErsetze = array('<','>');
                $strDurch = array('&lt;','&gt;');
                $strJS_neu = str_replace($strJS_original,$strErsetze,$strDurch);
                
                echo $strJS_neu;
              ?>
              Hab's nicht getestet aber sollte funktionieren, wenn ich mich nicht in irgend einer Variable verschrieben habe.
              Wie gesagt es ist Wochenende

              Comment


              • #8
                Hallo zusammen.

                Ich wollte noch was zur 2. angebotenen Möglichkeit von ChSaris sagen:

                Einfacher und schneller ginge es mit htmlspecialchars()

                Code:
                $js_code = "...";
                echo "<pre>" . htmlspecialchars($js_code) . "</pre>";
                Zur ursprünglichen Frage:

                Wie einer meiner Vorredner schon anmerkte: Wenn du keinen JavaScript-Code ausgibst, wird auch keiner ausgeführt.

                Wenn du also beispielsweise JavaScript-Code aus einem Forenpost oder sonstigem Inhalt, welcher vom User in deine Seite gepostet werden kann, entfernen willst, dann könntest du das so machen:

                Code:
                 function removeJavaScript(&$str, $replace='')
                 {
                 	$regex = "!<script.*</script>!Ui";
                 	$str = preg_replace($regex, $replace, $str);
                 }
                
                // Allen JavaScript-Code einfach entfernen
                // $ausgabe ist der entsprechende Inhalt
                removeJavaScript($ausgabe);
                
                // JavaScript-Code ersetzen
                removeJavaScript($ausgabe, "<b>Unerlaubter JavaScript-Code!</b>");
                Zuletzt editiert von Navarro; 03.07.2007, 12:53.

                Comment

                Working...
                X