kostenloser Webspace werbefrei: lima-city


PHP per Javascript einfügen (Sicher?)

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    Hallo Leute,
    ich möchte gerne eine PHP Datei auf einer externen Webseite einbinden und das mit Javascript.

    Der PHP Code sieht in etwas so aus:
    document.write("<?php include " ... } ?>");


    Der Code zum einbinden etwa so:
    <script src="DOMAIN/DATEI.php" type="text/javascript"></script>


    Es sollte eigentlich funktionieren ... habe es noch nicht getestet :)
    Mein Problem ist nun das ich nicht weiß ob das sicher ist, da ich in der PHP Datei meine Mysql-Daten stehen sollen.
    So wie ich das nun gelernt habe wird PHP auf dem Server interpretiert (??RICHTIGES WORT??) und als HTML an den Browser gesendet und Javascript auf dem PC ausgeführt.

    Also können meine Mysql Daten ausgelesen werden?

    Ich wäre euch sehr verbunden^^

    Mit freundlichem Gruß
    Marvin
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich behaupte dass es nicht geht da Javascript ja Browsereseitig interpretiert wird. Falls es dennoch klappen sollte hättest du ein riesieges Sicherheitsloch. Denn fast jede Programmiersprache-Sprache kann den Quellcode einer Seite auslsesen also auch deine Zugangsdaten.
  4. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    Das Problem ist ja das es eine php Datei ist, in der die Daten stehen, welches nicht auslesbar ist. Doch wird das ganze von einer Javascript Datei aufgerufen :(

    ????

    Aber eigentlich müsste die PHP Datei ja erst vom Server in Html umgewandelt werden und dann vom Javascript angezeigt werden oder kann Javascript etwa auch PHP interpretieren

    Gehen wir mal davon aus, das es ein Loch ist wie kann ich das stopfen?



    Beitrag zuletzt geändert: 25.4.2011 0:13:22 von besuchernews
  5. Das funktioniert so nicht.

    Das höchste der Gefühle ist, Javascript durch den PHP-Parser zu jagen (mit Hilfe von mod-rewrite bzw. .htaccess allgemein). Je nachdem, was genau du vor hast, ist das auch garkeine so schlechte Lösung.

    Andernfalls musst du ein wenig mit Ajax tricksen, wobei es auch hierbei wieder darauf ankommt, was du eigentlich vor hast.

    Beitrag zuletzt geändert: 25.4.2011 0:15:56 von fabo
  6. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    Ich will eigentlich nur einen Text aus meiner Mysql Datenbank auslesen und ein paar update Funktionen für meine Datenbank ausführen ... nichts großes nur habe ich Angst um meine Daten.
  7. Dann ruf die PHP-Datei einfach mittels Ajax auf. Das ist sicher und der beste Weg.
  8. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    Da werfen sich 2 weitere Fragen auf^^ Entschuldigt

    Wie mache ich das?

    Kann das jeder Server? (Kompatibilität mäßig)


    Beitrag zuletzt geändert: 25.4.2011 0:37:44 von besuchernews
  9. Das kann jeder Server, der einen normalen Seitenaufruf einer PHP-Datei zulässt. Lima kann das also. Dem Server ist es egal, ob die Seite durch Ajax, oder durch Eingabe der Adresse in den Browser durch den User aufgerufen wurde. Er erledigt einfach seinen Job.

    Wie man Ajax benutzt, googelt man am Besten, es gibt eine Menge Tuts und vorgefertigte Codes.

    Achte unbedingt darauf, dass der JS-Teil nur Anfragen stellt. Ob der Server die Anfragen ausführt, muss auch auf dem Server, also im PHP-Script, entschieden werden. Der Server kann nicht wissen, wer die Anfrage veranlasst hat und ob sie rechtens ist. Das muss er prüfen.
  10. besuchernews schrieb:
    Da werfen sich 2 weitere Fragen auf^^ Entschuldigt

    Wie mache ich das?

    Kann das jeder Server? (Kompatibilität mäßig)


    1. Nachfolgend ein simples Beispiel. Nach Klick auf den Button wird "datei.php" aufgerufen. In dieser Datei machst du dann deinen MySQL-Kram und gibst irgendetwas aus. Die Ausgabe wiederrum wird in "mydiv" übertragen und dort auch ausgegeben.

    test.html:

    <html>
    <head>
    <script type="text/javascript">
    function ajaxRequest() {
    	var xmlhttp;
    	if (window.XMLHttpRequest) {
    	  xmlhttp=new XMLHttpRequest();
    	}
    	else {
    		xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
    	}
    
    	xmlhttp.onreadystatechange=function() {
    		if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    			document.getElementById('myDiv').innerHTML=xmlhttp.responseText;
    		}
    	}
    
    	xmlhttp.open('GET', 'datei.php', true);
    	xmlhttp.send();
    }
    </script>
    </head>
    <body>
    <div id="myDiv">&nbsp;</div>
    <button type="button" onclick="ajaxRequest()">Anfrage senden</button>
    </body>
    </html>


    datei.php

    <?php
    echo "Hello World";
    ?>


    2. Das o.g. Script ist für so ziemlich alle Browser kompatibel geschrieben. Der Server hat damit in erster Linie nichts zu tun, weil es Clientseitig aufgerufen wird. Lediglich die aufgerufene "datei.php" arbeitet serverseitig.

    Beitrag zuletzt geändert: 25.4.2011 0:36:26 von fabo
  11. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    --------------------Mal was ganz anderes---------------------
    Was ist wenn ich die per Javascript eingefügte PHP Datei noch einmal eine PHP Datei includen lasse?
    1. Das Javascript
    2.
    <?php
    header('Content-Type:text/javascript');
    echo 'document.write("<?php include \'die Datei.php\'; ?>");';
    ?>

    3. Die eigentliche Datei mit den Daten

    So ganz dumme frage: muss der Server, von dem die php datei eingebunden wird php können/unterstützen ?
  12. Wie wäre es einfach mit testen? Zumal ich nicht verstehe, warum du es dir so schwer machst...

    So ganz dumme frage: muss der Server, von dem die php datei eingebunden wird php können/unterstützen ?


    Vielleicht nicht ganz so blöd: Du kannst mit JS keine externen Dateien aufrufen (Sicherheitsrichtlinie sämtlicher Browser). Allerhöchstens als Iframe. Dementsprechend müssen die Javascript und die PHP-Datei innerhalb der selben Domain vorhanden sein. Wenn der Server dann kein PHP unterstützt, ist dein gesamtes Vorhaben folglich für die Katz.

    Beitrag zuletzt geändert: 25.4.2011 0:45:58 von fabo
  13. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    Testen ist schlecht^^
    Das Testen, ob das Script funktioniert kann ich ja, das Problem ist, das mir das Wissen fehlt die Kinffe zu wissen, wie man meine Daten auslesen kann.

    Mein Problem ist ganz einfach das ich zu doof bin wie einer zu denken, der meine Daten wohl möglich auslesen könnte.

    Vielen Dank, das du meine Frage trotzdem beantwortet hast.
  14. Wenn du es genau so machst, wie ich es dir oben gezeigt habe, kann keiner deine Daten auslesen. Es sei denn, du lässt sie im Klartext anzeigen (was du sicherlich nicht tun wirst...).

    Beitrag zuletzt geändert: 25.4.2011 0:49:18 von fabo
  15. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    Kann ich anstatt des "function ajaxrequest()" auch "window.onload = function ()" einfügen?
    Und funktioniert das onload auch wenn ich es per src einfüge? also externe Datei?

    Beitrag zuletzt geändert: 25.4.2011 0:53:52 von besuchernews
  16. Wie du die Funktion aufrufst, ist gänzlich dir überlassen ;)

    EDIT:

    Sollte ja so reichen:

    <html>
    <head>
    <script type="text/javascript">
    window.onload = function() {
    	var xmlhttp;
    	if (window.XMLHttpRequest) {
    	  xmlhttp=new XMLHttpRequest();
    	}
    	else {
    		xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
    	}
    
    	xmlhttp.onreadystatechange=function() {
    		if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    			document.getElementById('myDiv').innerHTML = xmlhttp.responseText;
    		}
    	}
    
    	xmlhttp.open('GET', 'datei.php', true);
    	xmlhttp.send();
    }
    </script>
    </head>
    <body>
    <div id="myDiv">&nbsp;</div>
    </body>
    </html>


    Beitrag zuletzt geändert: 25.4.2011 1:04:38 von fabo
  17. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    So fertig^^

    Vielen Dank das ich es nun auch verstanden habe :wall: :wall:
  18. Also funktionieren würde das meiner Meinung nach schon. Zum Beipiel wenn du mit JavaScript den Quellcode für ein PopUp-Fenster innerhalb der "Mutterseite" schreiben möchtest. Dann sehe der Code allerdings noch nen bisschen anders aus. Allerdings würde ich genau wie harrybotter davon abraten, denn so kann man mit Leichtigkeit die einzubindende Datei im Quelltext nachlesen.

    Hoffe, dass ich helfen konnte.
  19. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!