Mailinglisten-Archive |
Erwin Forner wrote: > Muss eigentlich PHP und mySQL auf einem Server laufen oder ist es > prinzipiell auch moeglich, mittels PHP von einer Domain auf eine > mySQL-Datenbank auf einem anderen Server zuzugreifen? Du kannst prinzipiell beliebig kombinieren, solange Du Connectivity auf den entsprechenden Ports hast. Zum Beispiel ist es denkbar, eine MySQL- Datenbank auf einem Rechner a laufen zu haben, aber die PHP-Anwendung auf dem Rechner b. Die eigentlichen Webseiten könnten dann zum Beispiel ein Frameset auf dem Rechner c sein, das die Webseiten, die PHP enthalten per <FRAME SRC=...> von b lädt, während die <IMG SRC=...> auf c alle auf den Rechner d zeigen... Um von b aus auf einen Datenbankserver a zugreifen zu können, brauchst Du Connectivity auf dem MySQL Port (default: 3306). Wenn zwischen dem Webserver b und dem Datenbankserver a das Internet liegt, dann reisen Deine Queries mit der Ping-Zeit von b nach a und zurück. Das bedeutet, daß sich bei großen Entfernungen (in ms Pingzeit gerechner) die Aufbauzeiten der Seite drastisch vergrößern können. Angenommen, Du hast eine Pingzeit von 200ms zwischen a und b und Deine Seite braucht 10 Queries zum Aufbau, dann kommen alleine 2000ms == 2 Sek Seitenaufbauzeit durch Reisezeiten der Datenpakete zustande. Wenn zwischen a und b das ungeschützte Internet liegt, dann mußt Du effektiv Deinen MySQL-Port zum Internet hin aufmachen. Das bedeutet, daß Du Probleme mit der Sicherheit Deiner Datenbank bekommen kannst. Ein bekannter deutscher Buchhändler hat das zum Beispiel mit seinem Oracle gespielt. Da er zugleich seine Platten per NFS an die Welt rausgegeben hatte, war es sehr leicht, die benötigten Paßworte und Instanznamen aus den SQL-Loaderscripten zu lesen und durch das Internet direkt mit einem SQLPLUS-Client auf seine Datenbank zu connecten, in der sich Kundendaten, Kontonummern und the like befanden. Das Datenbankpaßwort ist inzwischen geändert (ich habe da ja nur Dutzendweise Mail hinsenden müssen), aber eine Firewall ist immer noch nicht vorhanden und man kann sich immer noch auf seinen Port 1521 connecten (und auf sein Solaris Answerbook, und auf seinen portmapper und ...). Man sollte also schon ein wenig aufpassen, was man da tut und wie man damit Schläge fangen kann. Kristian -- Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00 Using PHP3? See our web development library at http://phplib.shonline.de/ (GPL)
php::bar PHP Wiki - Listenarchive