XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Serveradministration und serverseitige Scripte (http://xhtmlforum.de/forumdisplay.php?f=80)
-   -   Formular auf einem, Verarbeitung+DB auf einem anderen Server (http://xhtmlforum.de/showthread.php?t=65046)

rs-web 02.07.2011 10:39

Formular auf einem, Verarbeitung+DB auf einem anderen Server
 
Hallo,

folgendes Szenario: Auf der Domain example.com(Server 1) ist ein Formular, auf dem sich der User registrieren kann. Er gibt also seine Daten ein und drückt auf prüfen. So auf Server 1 soll jetzt ein php Script laufen, dass die Daten unbemerkt(also ohne weiterleitung o.Ä.) zum prüfen an Server 2 leitet, der Prüft sie und liefert Erfolgs/Fehlermeldung zurück, die dann auf Server 1 ausgeben werden. Wenn alles passt, schreibt Server 2 in eine Datenbank, die auch auf Server 2 liegt. Am besten wäre es, wenn man die Daten verschlüsselt übergeben kann, der Sicherheit wegen.

Ist das Ganze so möglich?

LG und Danke

rs-web

mermshaus 02.07.2011 15:03

Ja, ist es. Das Script auf Server 1 müsste lediglich weitere – zum Beispiel – HTTP-Requests an Server 2 absetzen. Das ist kein Problem. Einschlägige Programmiersprachen stellen dazu Bibliotheken bereit.

rs-web 02.07.2011 17:02

Hi,

danke für die Antwort. Du hast nicht zufällig einen Link oder Suchbegriff für mich?

mermshaus 02.07.2011 17:13

Ich hätte dir schon was gepostet, wenn du eine serverseitige Sprache genannt hättest. ;)

In PHP gibt es etwa Wrapper für cURL:

- PHP: curl_exec - Manual

Oder wenn du's schicker willst:

- Zend Framework: Documentation: Introduction - Zend Framework Manual (sehr nützliche Komponente, auch ohne das Restframework nutzbar)

Andere Stichwörter wären Sockets oder für PHP auch „allow_url_fopen“.

Aber wie gesagt, Möglichkeiten, innerhalb einer Anwendung mit anderen Servern zu kommunizieren, dürften in recht ausgebauter Form in jeder Sprache vorliegen.

„$nameDerSprache http request“ dürfte ein guter Suchbegriff sein.

rs-web 02.07.2011 17:14

Hi,
ok danke, da werde ich mich Mal durchklicken. Sorry, hab vergessen php dazuzuschreiben :)

LG rs-web

Maxefix 04.07.2011 11:35

Da setzt du am Besten einen Webservice auf. Das bedeutet du hast auf Server 2 eine Schnittstelle, über die du gewisse Funktionen ausführen kannst, z.B. einen neuen User anlegen.

Suchbegriffe: XML-RPC, REST-API, SOAP..

Das einfachste wäre wohl eine REST-API. Du sendest per PHP einen POST-Request an eine URL (z.B. api.example.com/users) mit den User-Daten und prüfst dann den Rückgabewert (HTTP-Statuscode). Das ganze kannst du ja auch über https laufen lassen damit es verschlüsselt wird.

Gruß,
Max

EDIT: Hier noch ein schönes HowTo: http://www.gen-x-design.com/archives...-api-with-php/

EDIT2: Wenn ichs mir recht überlege wäre eine einfache XML-RPC-Schnittstelle schneller realisiert. PHP hat dafür ja schon eine super Erweiterung.

xm22 04.07.2011 14:09

Zitat:

Da setzt du am Bestenen einen Webservice auf.
Klingt für diesen Bedarf etwas überdimensioniert.

Maxefix 04.07.2011 14:36

Mit der XML-RPC-Erweiterung von PHP ist das nicht großartig kompliziert. Aber ein REST-Interface wäre wirklich zuviel des Guten, hast schon Recht. :)

Gruß,
Max

Praktikant 04.07.2011 14:58

Man könnte das auch einfach als GET an den anderen Server übergeben (darf halt nicht zu viel eingegeben werden) oder einfach in eine Datenbank schreiben. Dafür macht man dann nur eine Klasse, die als "API" eingebunden wird und eine Funktionsbibliothek mitbringt. Diese hat alle notwendigen Klassen und Funktionen zur Verfügung um die Daten zu validieren oder einzutragen.

rs-web 04.07.2011 15:16

Hi,
danke für eure hilfreichen Beiträge. Also das Problem ist im Grunde folgendes: Der Betreiber von Server 1 soll keinen direkten Zugriff auf die php Dateien bekommen. Auch direkter Zugriff auf die DB soll nicht möglich sein. Aber ich werde mir eure Idee Mal genauer anschaun.

LG rs-web


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:12 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2021, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2020