| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| Erfahrener Benutzer Registriert seit: 18.08.2008
Beiträge: 131
PHP-Kenntnisse: Fortgeschritten ![]() | Ok, jetzt wird es klarer. Also wenn CURL erfolgreich einen Benutzer am Wordpress Blog angemeldet hat und dies auch vermeldet, dann lese ich den Cookie aus und leite auf ein Script im Blog, was den Cookie nochmal MIR setzt, quasi: header('location: http://die-url-zum-blog.de/?set_cook...gelesen'); Richtig verstanden? Ich hab auch noch folgendes im Netz gefunden, daraus habe ich mir meine Funktion zusammengebaut: http://stackoverflow.com/questions/7...n-to-wordpress http://stackoverflow.com/questions/7...ockopen-in-php Aber so wie ich das erkennen kann, besteht da genau das gleiche Problem. Was mich jetzt noch interessiert, ich könnte auch ein Wordpress Plugin den Cookie setzen lassen, wenn das Plugin nur ausgeführt wird, wenn ein gewisser Parameter in der URL gesetzt ist, richtig? Ich danke! |
| | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer | Wenn du dich mit Server1 bei Server2 per cURL an WordPress anmeldest kannst du nur mit Server1 auf Wordpress zugreifen, weil der Server IP die Session zugewiesen wurde und du das Cookie für diese Session bekommen hast. Was du dir basteln müsstes ist nen Script auf Server 2 das eine Session für deine Aktuelle IP die an Server1 klebt und sich einloggen lässt in die DB von Wordpress packt, quasi die Session manuell erstellt, du leitest dann auf selbiges Script um und ethablierst per Cookie die Session in deinem Browser. Das Prinzip nennt man Login-Bridge. Logischer Weise sollte nur die Session auch ethabliert werden wenn IP + User-Agent und von mir aus auch noch nen Security-Key der übergeben wird stimmt. Das ganze am besten an ein x Sekunden Zeitfenster gebunden.
__________________ |
| | |
| | |
| Erfahrener Benutzer | Ich hab WordPress nie verwendet noch angepasst. Tut auch nichts zur Sache, das was du willst ist mit simpler Logik umsetzbar und auch durch solche Begründet wie es Funktionieren könnte. Du hast mich zwar per PM angeschrieben, ich versuch das hier mal weiter aufzuschlüsseln wie genau ich es in #16 vorschlug: Das willst du: - Login-Daten Server 1 mitteilen - Auf Server1 in Wordpress einloggen. - Auf Server2 in Wordpress einloggen. Da diese beiden Server vollkommen unabhängig von einander sind, arbeiten sie logischer Weise auch mit getrennten Sessions innerhalb von WordPress. Das bedeutet das du auf dem 2ten Server automatisiert das tun musst was dein Browser bei Server1 tut. Allerdings nicht wirklich genau so wie der Browser auf Server1, aber das Wordpress auf Server2 muss das denken. Nun gut. Was du realisieren musst ist ein Script das einen Login auf Server1 ins WordPress-System umsetzt. Gleichzeitig muss dieses auf Server2 ein weiteres Script aufrufen, das dort einen Login für eine bestimmte IP vorbereitet, gebunden ( aus sicherheitsgründen ) an einen generierten Schlüssel und die IP, damit du vom Login-Script auf Server1 auf das Vorbereitungsscript von Server2 umleiten kannst. Arbeiten kannst du wärend der Interserver-Kommunikation ( also dem aufrufen des Scripts von Server1 auf Server2 ) mit cURL. Folgenden Prozess-Ablauf sollten die Scripte hintersich bringen: Code: Browser ruft Login von Wordpress auf, User gibt Zugangsdaten ein und sendet sie dem Server.
{Server1 : wordpresslogin} => Eigene Funktion sollte bei erfolgreichem Login die Logindaten abfangen und
per cURL an "PREPARE_LOGON.PHP" auf Server2 per CURL senden.
{Server2 : PREPARE_LOGON.PHP} => {
- Zugangsdaten mit dem User in der Userdatenbank von Wordpress auf diesem Server prüfen
- neue Session anlegen mit einer Blank-IP, dem generierten Schlüssel als UserID und User-Agent
=> 0.0.0.0, Google Chrome..., 34934
- Schlüssel generieren und als response ein serialisiertes Array an den cURL Request von Server1 zurückgeben.
=> bspw.: md5() aus -> username + IP ( falls mitübergeben ) vom eigentlichen Client + User Agent + time()
=> außerdem die UserID des Users in der Session
}
{Server1: wordpresslogin} => Response vom cURL Request lesen und den übergebenen Schlüssel und die ID nehmen
und den User zum PREPARE_LOGON.PHP-Script auf Server2 umleiten, mit dem zusatz ?logon_token=$logontoken
Die Variable $logon-Token ist hier am günstigsten ein serialisiertes Array mit Schlüssel, realer IP des Clients und User-Agent und der UserID
{Server2: PREPARE_LOGON.PHP} => {
- $_GET['logon_token'] unserialisieren
- nach 0.0.0.0 + User Agent sowie dem schlüssel im session-table suchen und die 0.0.0.0-IP und die UserID gegen die mitgeteilten
UserID- und IP-Werte ersetzen. Natürlich nur wenn der Key und der Browser auch passte.
- Browser Cookie Senden das er eingeloggt ist ( wie jedes Wordpress es auch tun würde )
}
Bedenke in jedem Fall das so ein "Wordpress Hack" an einen einzigen User gebunden ist. Solltest du irgendwann Wordpress mit mehreren Usern nutzen wollen, werden auch diese bei striktem einhalten dieses "Plans" sich an beiden Wordpress'es einloggen. Das kannst du aber mit Schalter die die UserIDs checken, verhindern. Bridging ist immer davon abhängig wo und was man zur verfügung hat. Beispielsweise ist es deutlich einfacher 2 Wordpress-Logins synchron von statten zu bringen wenn beide auf ein und der Selben Domain liegen.
__________________ |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Suche freien Webentwickler/Programmierer für Wordpress | TomPoulain | Gewerblich | 1 | 29.11.2010 00:01 |
| [Erledigt] cURL Upload Probleme bei unterschiedlichen Servern | iits | PHP-Fortgeschrittene | 3 | 25.10.2010 18:11 |
| curl drives me crazy | unicl | PHP Tipps 2010 | 16 | 24.10.2010 13:06 |
| Mit curl Bilder anzeigen | AllOnline | PHP Tipps 2010 | 2 | 03.02.2010 22:48 |
| Curl Installation | bumer2006 | PHP Tipps 2009 | 14 | 15.01.2010 16:42 |
| Wordpress als Framwork nutzen und massiv erweitern ? | anandi | Software-Design | 2 | 24.11.2009 19:28 |
| [Erledigt] curl post | GTA26 | PHP Tipps 2009 | 1 | 11.03.2009 20:09 |
| Curl mit Server-IP | fettyteddy | PHP-Fortgeschrittene | 1 | 10.03.2009 21:01 |
| Curl mehrere URLs öffnen in einer Curl Session. | Buschdieb | PHP Tipps 2008 | 8 | 20.12.2008 13:01 |
| CURL funktieonieren nicht | bazik | PHP-Fortgeschrittene | 12 | 07.11.2008 09:43 |
| nuSOAP SSL und cURL | Typhon | PHP Tipps 2008 | 0 | 24.10.2008 15:10 |
| Datei Upload mit curl? | R.E.M. | PHP Tipps 2006 | 1 | 18.09.2006 20:44 |
| [Erledigt] PHP nachträglich mit CURL Support ausstatten | PHP-Fortgeschrittene | 2 | 20.12.2004 16:19 | |