| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

18-07-2009, 11:43
|
|
ZeroJoker
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 6
|
|
Automatische Anmeldung über Method Post + Cookie + Zeitversetzter Zugriff
Hallo,
Aufgabe/Projekt:
//Schon vorhanden
Ein User meldet sich im Kundencenter an.
Nach der Anmeldung wird die Startseite des Kundencenters angezeigt.
//Neu:
Bei Anwählen eines bestimmten Menuepunkts/öffnen einer bestimmten Seite soll per Method Post ein Login an eine 3. Seite gesendet werden, die daraufhin einen Cookie setzt.
Nun kann ein Iframe innerhalb des Kundencenters(der speziellen Seite) angezeigt werden, die die 3. Seite (nach login) beinhaltet.
Problematik:
- Der User soll nichts von der Anmeldung an der 3. Seite mitbekommen (diese soll im Hintergrund laufen)
- Der Iframe darf erst dann geladen werden wenn die Anmeldung stattgefunden hat
Die Daten per Post zu übermitteln ist kein Problem, allerdings wird je nach Methode entweder die "Submit" Seite angezeigt, oder der Cookie nicht gesetzt.
Bitte um Denkansätze.
Mit freundlichen Grüßen
|

18-07-2009, 13:07
|
|
Slava
PHP Senior
|
|
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.583
|
|
In der Form, wie du es vorgestellt hast, geht das nicht, da coockies domane-abhängig sind.
Als alternative, kannst du mit PHP ein Browser simulieren und jede Anfrage als auch Antwort über PHP laufen lassen. Ist das von dem 3-er seite gestatet?
|

18-07-2009, 13:47
|
|
ZeroJoker
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 6
|
|
Hi,
okay. kannst du da konkret en befehl/ne Anleitung nennen?
"Ist das von dem 3-er seite gestatet?"
Was meinst du damit?
|

18-07-2009, 14:00
|
|
Slava
PHP Senior
|
|
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.583
|
|
Zitat:
Zitat von ZeroJoker
Hi,
okay. kannst du da konkret en befehl/ne Anleitung nennen?
"Ist das von dem 3-er seite gestatet?"
Was meinst du damit?
|
Anbieter von der Seite wo du dich automatisch anmeldest, kann damit nicht einverstanden sein, dass seine Seite in deinem Iframe auftaucht oder in dem Fall mit PHP sogar deine Domain-name bekommt
|

18-07-2009, 19:02
|
|
ZeroJoker
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 6
|
|
Dies ist korrekt, aber in diesem Fall unrelevant.
Es geht um einen Login bei einem KVM.
KVM=PC über eine IP kontrollieren können.
Der KVM steht in unserem Hause, demnach ist dies legitim.
|

18-07-2009, 21:59
|
|
johnnyjohnny
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 7
|
|
Hmm, mir ist nicht bekannt, ob per post informationen an zwei verschiedene seiten übermittelt werden können (ergo keine cookies gesetzt werden, sondern nur submit seite angezeigt). Am einfachsten wäre wohl das Setzen von Cookies auf derselben Seite und falls nicht möglich eine Übermittlung der Daten per GET Variablen [allerdings für sensible Daten weniger zu empfehlen].
|

18-07-2009, 22:56
|
|
Slava
PHP Senior
|
|
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.583
|
|
am bestens wäre es die Änerungen bei dem Anmeldungscript von KVM zu verändern.
Scenario:
1)Du machst eine anmeldung mit php an KVM mit einem bestimtem zusatzparameter, der KVM ein Hinweis gibt, dass es von euch kommt.
2)KVM kontrolliert eingaben,startet session und übergibt dir sessionname mit session_id.
Du machst eine Weiterleitung zu KVM und übergibst sessionname und session_id als get-parameter.
3)An dieser stelle Muss KVM dich als angemeldet betrachten.
#---------------------------
wenn es unmöglich ist KVM zu verändern, dann muss du wirklich mit PHP ganzen kram verarbeiten und ein Browser mit allen Cookies darzustellen. Dabei steckt besonders viel Aufwand bei Veränderung von allen urls, die bei Ausgabe vorkommt.
Abhilfe könnte dann zbs ZendFramework mit Zend_Http
Zend Framework: Documentation
|

19-07-2009, 01:11
|
|
ZeroJoker
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 6
|
|
Zitat:
Zitat von Slava
am bestens wäre es die Änerungen bei dem Anmeldungscript von KVM zu verändern.
Scenario:
1)Du machst eine anmeldung mit php an KVM mit einem bestimtem zusatzparameter, der KVM ein Hinweis gibt, dass es von euch kommt.
2)KVM kontrolliert eingaben,startet session und übergibt dir sessionname mit session_id.
Du machst eine Weiterleitung zu KVM und übergibst sessionname und session_id als get-parameter.
3)An dieser stelle Muss KVM dich als angemeldet betrachten.
#---------------------------
wenn es unmöglich ist KVM zu verändern, dann muss du wirklich mit PHP ganzen kram verarbeiten und ein Browser mit allen Cookies darzustellen. Dabei steckt besonders viel Aufwand bei Veränderung von allen urls, die bei Ausgabe vorkommt.
Abhilfe könnte dann zbs ZendFramework mit Zend_Http
Zend Framework: Documentation
|
Es ist leider unmöglich den KVM zu verändern. ZendFramework könnte eine echte Hilfe sein. Danke schonmal. Werde mich im laufe des morgigen Tages mal damit befassen.
Ist keine leichte nuss.
|

19-07-2009, 10:45
|
|
Slava
PHP Senior
|
|
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.583
|
|
schau dir auch PHPKIT Content Wrapper an, das kann dir vielleicht auch ein wenig weiter helfen
|

19-07-2009, 12:29
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Zitat:
Zitat von ZeroJoker
Aufgabe/Projekt:
//Schon vorhanden
Ein User meldet sich im Kundencenter an.
Nach der Anmeldung wird die Startseite des Kundencenters angezeigt.
//Neu:
Bei Anwählen eines bestimmten Menuepunkts/öffnen einer bestimmten Seite soll per Method Post ein Login an eine 3. Seite gesendet werden, die daraufhin einen Cookie setzt.
Nun kann ein Iframe innerhalb des Kundencenters(der speziellen Seite) angezeigt werden, die die 3. Seite (nach login) beinhaltet.
Problematik:
- Der User soll nichts von der Anmeldung an der 3. Seite mitbekommen (diese soll im Hintergrund laufen)
- Der Iframe darf erst dann geladen werden wenn die Anmeldung stattgefunden hat
|
- Klick auf den Menüpunkt wird per AJAX dem Server mitgeteilt.
- Server führt POST-Request auf KVM aus.
- Server sendet Cookie-Daten als Antwort auf AJAX-Request zum Client.
- Javascript setzt den Cookie und lädt den iFrame.
Ohne Javascript geht es auch.
- Klick auf den Menüpunkt lädt im iFrame ein Script vom Server.
- Server führt POST-Request auf KVM aus.
- Server sendet Antwort auf Request inklusive Cookie und Weiterleitung.
- Der iFrame führt die Weiterleitung aus und landet auf der KVM-Seite.
|

19-07-2009, 15:57
|
|
ZeroJoker
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 6
|
|
Zitat:
Zitat von onemorenerd
- Klick auf den Menüpunkt wird per AJAX dem Server mitgeteilt.
- Server führt POST-Request auf KVM aus.
- Server sendet Cookie-Daten als Antwort auf AJAX-Request zum Client.
- Javascript setzt den Cookie und lädt den iFrame.
Ohne Javascript geht es auch.
- Klick auf den Menüpunkt lädt im iFrame ein Script vom Server.
- Server führt POST-Request auf KVM aus.
- Server sendet Antwort auf Request inklusive Cookie und Weiterleitung.
- Der iFrame führt die Weiterleitung aus und landet auf der KVM-Seite.
|
Schlüssig, bis darauf, dass ich den KVM nicht edieren kann, und damita uch keine Rückmeldung vom KVM per Post-Request bekommen werde.
|

20-07-2009, 11:21
|
|
ZeroJoker
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 6
|
|
Curl cookie auf Browser übertragen
Hallo,
mein Script loggt sich im Hintergrund (für den User unsichtbar) auf einem Server ein, ein Cookie wird erstellt.
Ist es möglich diesen Cookie, der nun von curl gehandelt wird und temporär auf dem server gesetzt wurde, auf den User Browser zu übertragen/beim User zu setzen?
Danke!
Mit freundlichen Grüßen
|

20-07-2009, 11:27
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Nein!
Browser akzeptieren nur Cookies von "ihrer" Domain. Sonst könnte ja auch heftig Schindluder damit getrieben werden.
Google: "Domain übergreifende Cookies"
|

20-07-2009, 12:48
|
 |
fireweasel
Registrierter Benutzer
|
|
Registriert seit: Sep 2008
Ort: At home
Beiträge: 680
|
|
Zitat:
Zitat von ZeroJoker
Hallo,
mein Script loggt sich im Hintergrund (für den User unsichtbar) auf einem Server ein, ein Cookie wird erstellt.
Ist es möglich diesen Cookie, der nun von curl gehandelt wird und temporär auf dem server gesetzt wurde, auf den User Browser zu übertragen/beim User zu setzen?
|
Unter der Annahme folgender Konstellation:
Code:
Client ("User Browser")
|
v
PHP-Script mit CURL
|
v
fremder Server
Das PHP-Script spielt also Proxy.
Das sollte möglich sein, wenn CURL die Cookiedaten per PHP auslesbar macht und wenn es gleichzeitig auch "handgeschnitzte" Cookies versenden kann. Bei den Cookie-Daten selbst ist nur der Austausch der Domain- und Pfad-Daten nötig.
__________________
PHP-Code:
class Brick implements Throwable {
// ...
}
|

20-07-2009, 17:00
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
OffTopic: *Zusammenführ* auf Grund von gleicher Thematik.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|