[Python-de] MSSQL - Python -PHP Kopplung

Diez B. Roggisch deets at web.de
Die Mai 24 09:45:02 CEST 2005


Uwe Laverenz wrote:
>> Meine Überlegung bisher geht in die folgende Richtung:
>> Auf dem NT Server wird ein Python Programmm installiert, welches über
>> SOAP Anfragen entgegennimmt, den MSSQL Server "befragt" und die
>> Ergebnisse via SOAP an den PHP Client auf dem Webserver schickt.
> 
> 
> Das klingt ziemlich umständlich.

Naja- _eigentlich_ ist das ja klassische 3-Tier-Architektur. Mag im 
konkreten übertrieben sein, aber generell doch eher gut. Vor allem weil 
er ja mehr als reine SQL Abfragen machen kann - auch andere Applogik 
halt. Und keine PHP-Coder  mit der Datenbank Unfug treiben können.

> 
> Die einfachste Methode ist die, dass Du dem Webserver bzw. dem
> PHP-Client Zugriff auf die MS-SQL Datenbank gibst. Das ist mit PHP
> absolut kein Problem, z.B. über das Sybase-Modul. Bei dieser Methode
> sollte man sich aber ausführlich Gedanken über mögliche
> Sicherheitsrisiken machen.
> 
> Die sicherheitstechnisch bessere Methode wäre, die Daten des MS-SQL mit
> einem Script vom Windows-Server aus auf eine Datenbank des Webservers zu
> übertragen ("push"). Bei dieser Methode bietet der Windows-Server keinen
> Angriffspunkt.


Also gerade eingedenk deiner obigen Bemerkung bzgl. Umständlichkeit ist 
das ja nun eher nicht so doll: _Wenn_ man Sicherheitsbedenken hat, dann 
ist doch genau der Weg über einen verfügbaren, etablierten 
RPC-Mechanismus sowohl sicherer (der client hat keine DB Connection 
Settings), hat geringere bis keine Latenzzeiten und ist darüberhinaus 
Standard und muss nicht gefrickelt werden. Also in jedem Fall 
vorzuziehen. Und mittels einer Firewall ist auch der Wi ndowsrechner bis 
auf den xmlrpc-port dichtzukriegen.

 > Der Nachteil ist, dass man bei einem periodischen
 > Abgleich die Daten auf dem Webserver nie "brandaktuell" hat, was aber in
 > den allermeisten Fällen kein Problem ist.

Das ist jetzt ja mal ne hochgradig gewagte Aussage - das Gegenteil ist 
doch  deutlich eher wahrscheinlich. Sonst braucht man ja keine DB. Das 
es solche Szenarien gibt ist klar - bei nem CMS _kann_ das so sein. Aber 
meistens will man ja doch Änderungen direkt sehen (weigstens stage) und 
spätestens bei Daten vom Nutzer geht das in die Buxe.

MfG Diez