Soap-Server soll prüfen, wer ihn aufruft

Obi_Wan

Mitglied
Hi,

ich habe einen SOAP-Server und einen Client inklusive wsdl in PHP geschrieben, damit ich von verschiedenen Seiten eine einheitliche Authentifizierung, gegen meine Benutzerdatenbank machen kann ohne das diese direkt auf die SQL DB zugreifen können.

Nun habe ich mir die Frage gestellt "Moment. Wenn jemand hinter die URL von der wsdl kommt, könnte dieser davon ja gebrauch machen um User-Accounts durchzutesten". Gerade dies will ich verhindern und dann dachte ich mir ich könnte ja irgendwo hinterlegen, welche Webseiten auf diesen SOAP-Server zugreifen können, und dann prüft der SOAP-Server einfachmal bei der Anfrage ob der Host des Clients zugelassen wird.

Ist dies irgendwie möglich mit ner bestimmten Funktion, Parameter oder kann man auch einfach über den Client an den Server eine Art Schlüssel übergeben, den der Server sich dann quasi als globale Variable abgreifen kann?

Wäre nett wenn mir da jemand helfen könnte.

Danke

Grüße

Obi
 
Wir haben einen "Sicherheits-Soap-Server" der nur über einen Ip Tunnel + Authentifizierung erreichbar ist.

Und einen öffentlichen der über User / Passwort erreichbar ist.

2 Systeme mit denen mein Tool kommunizieren muss machen es zusätzlich noch mit OpenSSL Signaturen die über das zu sendende XML File erstellt werden und mitgesendet. Das ist auch eine sehr sichere Variante.

Über $_SERVER['REMOTE_ADDR'] kannst du ja rausfinden von wo der Aufruf kahm. Aber das allein würde ich nicht als Schutz nehmen. Auser in Verbinung mit dem Ip-Tunnel.
 
Danke für den Tipp. Ich werde das mal versuchen. Im Moment kämpfe ich allerdings mit einem seeehr seltsamen "Version mismatch" seit dem ich eine zweite Funktion hinzugefügt habe. (Meine WSDL erstelle ich mit Eclipse).

Du hast nicht zufällig auf die schnelle einen Tipp was das sein könnte? z.B. der meist gemachte Fehler oder so?

Edit: Oh man ich bin so blöd. Ich hatte einmal das falsche Encoding im WSDL angegeben sowie nicht die richtige Adresse zum SOAP-Server :-/.
 
Zuletzt bearbeitet:
Zurück