[JavaScript] PHP-Code dynamisch in Javascript-Popup ausführen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Atkaz, 7. August 2010 .

  1. 7. August 2010
    PHP-Code dynamisch in Javascript-Popup ausführen

    Hallo Leute,

    ich habe mal eine Frage. Es geht darum, dass ich meinen Kunden ermöglichen will eine eigene Seite zu erstellen (falls diese die nötigen Html kenntnisse besitzen). Desweiteren will ich diesen ermöglichen die Seite in einem Vorschaufenster zu prüfen. Funktioniert auch alles bestens.

    Mein Problem besteht nun darin, dass einige User php befehle eingeben könnten um eventuell an Daten zu kommen. Ich wollte nun fragen, ob es überhaupt möglich ist, php befehle per javascript auszuführen.

    hier mein Script, mithilfe dessen ich das Vorschaufenster öffne:

    Code:
    function Vorschau() {
    var HtmlCode = document.getElementById('HtmlCode').value;
    
    var fenster = window.open("ShopStartseiteVorschauContainer.php","Vorschau")
     if (fenster!=null){ 
     
     fenster.document.open() //Öffnen für Schreibzugriff !
     
     fenster.document.write(HtmlCode);
     
     fenster.document.close() //Schreibzugriff beenden!
     }
    }
    
    oder sollte man die Wörter wie z.B. <?php etc. rausfiltern??
     
  2. 7. August 2010
    AW: PHP mit JS Ausführen

    Du kannst die Seite mit GET-Parametern aufrufen, um eine bestimmte Ausgabe zu erzeugen..
    Diese kannst du dann per JS verändern und die Seite neu laden, um zB an den nächsten Datensatz zu kommen...

    MfG
     
  3. 7. August 2010
    Du meinst ich sollte die Daten per URI schicken !?
    ist das nicht durch 2 kb begrenzt?

    wi ist es eigentlich, wenn ich window.open verändere und nicht die seite ausführe die auf dem server gespeichert ist, sondern eine im browser erstelle??

    var fenster = window.open("","Vorschau") // Link Entfernt

    Oder verstehe ich da was falsch?
    Ist es dann nicht so, dass die Seite dann nicht auf dem Server ausgeführt wird??

    Sorry bin ziemlich neu in JS.
     
  4. 7. August 2010
    AW: PHP mit JS Ausführen

    Ich würde auch die bereits erwähnte Methode benutzen, ....

    Sende die Formulardaten bzw den eingegebenen HTML Code per POST an dein Script, lass den HTML Code interpretieren und dann wieder ausgeben.
    Per PHP lässt sich auch der HTML Code sicherlich leichter validieren als per JS.

    Du musst nurnoch das Formular anweisen die Dateien per POST an das Pop-Up zu versenden ...

    lg
     
  5. 7. August 2010
    AW: PHP mit JS Ausführen

    Ich versteh was ihr meint. Das Problem ist nur, dass ich ja nur eine submit button haben kann!? und dieser wird dazu benutzt um den Html Code in die Datenbank zu speichern. Eine andere Methode als mit dem Submit Button um per "post" zu senden ist mit leider nicht bekannt. Man kann das auch pe Ajax machen eine SESSION erstellen und diese dann Im Vorschaufenster auslesen, das ist mir aber zu "aufwendig"(zusätzliche belastung für den Server) ich will ja nur eine kurze Vorschau über den geschriebenen Html code geben.

    Man gelangt durch einen Link <a href="#" onClick="Vorschau();">Vorschau</a> zum Vorschaufenster.
     
  6. 7. August 2010
    AW: PHP mit JS Ausführen

    Dieser Quote, die Tatsache das man das Target eines formulars per JS ändern kann, und die Tatsache das man verschiedene Buttons mittels :

    <input type="button" onclick="schickeFormularAnSpeicherScript();" value="Speichern" />
    <input type="button" onclick="zeigeVorschauPopUp();" value="Vorschau" />

    erstellen kann,
    sollte dich auf die richtige Fährte führen.
     
  7. 7. August 2010
    AW: PHP mit JS Ausführen

    Entweder hab ich alles falsch verstanden oder ihr....
    Ich dachte du wärest besorgt darum, dass deine Kunden PHP-Code auf diese Weise "einschleusen" könnten um damit Unsinn zu machen. Und du willst jetzt wissen ob diese Sorge berechtigt ist und was du dagegen machen kannst. Oder sehe ich das falsch??

    Wenn ich das richtig sehe:
    Da der Code nie den Server erreicht, wird der PHP code auch nicht ausgeführt. Der eingegebene Code verlässt nie den Browser... außer beim letztendlichen abspeichern halt.
    Wenn du das ganze später abspeicherst würde ich wirklich nach "<?php" ( und "<?" wenn short_open_tag=On ) suchen und ensprechende Meldungen ausgeben.

    Grüße
     
  8. 8. August 2010
    AW: PHP mit JS Ausführen

    Ich habs mir auch so gedacht, wusste aber nicht, ob es auch so ist. Danke für die Antwort.
     
  9. 8. August 2010
    AW: PHP mit JS Ausführen

    Die Sorge soltle jedoch auch für HTML / JS Code gelten oder?!
    Also muss eine Validierungs stattfinden sonst ist das Tor offen für XSS und andere Angriffe,....
    Diese Validierungs haben wir per PHP empfohlen.
     
  10. 10. August 2010
    AW: PHP mit JS Ausführen

    Was meinst du denn genau mit Validierung. Ich weiss zwar das es da bestimmte regeln gibt etc. Aber wie bekomme ich das denn mit php hin? Danke im voraus.
     
  11. 10. August 2010
    AW: PHP mit JS Ausführen

    Im prinzip müsstest du alle <script>-tags, Event-handler (onclick, onmouseover, on... usw.) sowie "javascript:"-Links rausfiltern (<a href="javascript:tudas()>X</a>"). Das ist aber alles nicht so einfach, desshalb sind BBCodes auch so verbreitet.
     
  12. 11. August 2010
    AW: PHP mit JS Ausführen

    Um die Texte mittels php zu filtern benutze ich folgnde Funktion:

    PHP:

     function TextFilter($Text) { 
      $Text = $Text;
      
      
    $Badwords = "<?php , ?>,script,<script>,</script>,java,javascript,href=\"javascript,pearl,</a>,<a>,<link>,<,>,</a>,[,],?,&,%,var,{,},/";
      
      // Diese Funktion ersetzt die Wörter 
        $Badwordsarray = explode (',', $Badwords);
       foreach($Badwordsarray as $Badword)
        {
        $Text = str_ireplace($Badword, str_repeat("", strlen($Badword)), $Text);
        }
     
     return $Text;
    }
    dann füge ich z.b $Beschreibung = TextFilter($Beschreibung); ect.

    diese Methode funktioniert soweit so gut..
     
  13. 11. August 2010
    AW: PHP mit JS Ausführen

    PHP Input Filter: Filter out unwanted PHP / Javascript / HTML tags. - PHP Classes
    Habe ich mir nicht näher angesehen, sieht aber recht gut aus.
     
  14. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.