PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Domainübergreifender Datenzugriff


nitschus
01.08.2008, 16:15:41
hallo,

ich hab folgendes problem bei dem ich bisher noch keine lösung gefunden hab, vielleicht kann mir da jemand einen denkansatz oder gar ne akzeptable lösung liefern.

also.....
dabei gehts um ein shopsystem welches logischerweise einen adminbereich hat.
im adminbereich soll es einen link zur dokumentation des adminbereichs geben.
nun das problem:
da ich keine lust habe für jeden einzelnen shop die doku jedesmal bei einer änderung upzudaten war mein ansatz das zentral auf der hauptdomain fürs shopsystem zu machen. dort gibts dann sowas wie ne subdomain wie doku.domain.de
nun soll jeder einzelne shop der ja logischerweise unter einer anderen domain liegt auf diese doku zugreifen können. is ja noch nich spektakulär.

allerding will ich nich das jemand unter der domain doku.domain.de auf die doku zugreifen kann....kurz gesagt nur die die den shop nutzen und zugriff auf den adminbereich haben sollen auf die doku zugreifen können. ohne sich erneut einloggen zu müssen.

alle anderen die nun versuchen auf doku.domain.de zuzugreifen sollen ein loginfenster gezeigt bekommen. Das seh ich aber nich als problem ;-)

rarios
01.08.2008, 16:22:02
Das seh ich aber nich als problem ;-)
Aha... Und was ist jetzt Dein Problem?

nitschus
01.08.2008, 16:25:31
na das is ja mal na kurze antwort.........

na das problem is das ich ja die benutzerdaten bzw. irgendeine benutzerkennung nicht auf ne andre domain bekomme um zu kontrollieren ob der der gerade zugreifen will auch nutzer des shopsystems-adminbereich ist um ihm den zugriff zu gewähren.........

doppelklick
01.08.2008, 16:56:54
Und warum nicht? Du kannst doch die Variablen im Link übergeben und auf der Zieldomain mit "GET" abfragen.

z.B.: www.xyz.de/name.php?benutzer=benutzername&passwort=passwort

doppelklick

nitschus
01.08.2008, 17:36:33
Und warum nicht? Du kannst doch die Variablen im Link übergeben und auf der Zieldomain mit "GET" abfragen.

z.B.: www.xyz.de/name.php?benutzer=benutzername&passwort=passwort

doppelklick

hey leute,
ich weiß nicht ob sies wußten......das mit der sicherheit.

ich werd bestimmt keinem schon beim url aufruf die tore öffnen indem ich passwörter in der url mitschicke, das wird sicherlich der falsche weg.........oder?

doppelklick
01.08.2008, 17:52:04
hey leute,
ich weiß nicht ob sies wußten......das mit der sicherheit.

ich werd bestimmt keinem schon beim url aufruf die tore öffnen indem ich passwörter in der url mitschicke, das wird sicherlich der falsche weg.........oder?

Sicherlich ist das hinlänglich bekannt.

Man kann halt nicht alles haben!

doppelklick

rarios
01.08.2008, 20:28:35
doch ;-)

Sorry nitschus, hatte Dein Problem wohl vorher nicht ganz realisiert.
Ich denke cURL ist des Rätsels Lösung.

nitschus
01.08.2008, 21:25:02
doch ;-)

Sorry nitschus, hatte Dein Problem wohl vorher nicht ganz realisiert.
Ich denke cURL ist des Rätsels Lösung.

na endlich mal ne qualifizierte antwort....
;-) kannste darauf mal etwas näher eingehen.....

rarios
01.08.2008, 21:54:00
Hmm also Du hast soviele Freiheiten mit CURL.
Ich denke das Wichtigste ist aber (und trifft auf bei Dir zu), dass man ohne Browser mit Servern kommunizieren kann.
Lese Dir am Besten erst einmal folgende Seite durch. http://de.php.net/curl
Ein ernstgemeinter Tip von mir ist:
Versuche Dir die Weiten von CURL selber zu erschließen.
Das ist einfach besser.
Ich erinnere mich an meine Zeit, als ich auch ein ähnliches Problem hatte, und, ich glaube es war feuervogel, mich auf CURL hingewiesen/aufmerksam gemacht hat.
Wenn man einem nur das rohe Script gibt, versteht man den Hintergrund von CURL mit seiner Libary nicht.
Wenn Du trotzdem nicht weiterkommst, kann ich Dir gerne helfen. (Soweit ich es kann ;-) bin auch kein Profi in Sachen CURL)
Meine Meinung...

Liebe Grüße
Florian

Gweilo
01.08.2008, 22:15:46
wenn ich das problem richtig verstanden habe, du willst die authentifizierung von einem user auf domain A auf domain B uebertragen.

Liegen die domains auf dem selben server? wenn ja dann brauchst du kein messaging (curl).

- cookies gehen ja bekanntlich nicht ueber verschiedene domains
- sessions auch nicht

ich persoenlich wuerde folgendes machen:
- lass dir eine random ID generieren (sowas wie eine session ID) um den user zu markieren.
- User ist auf Domain A
- Speichere dass dieser user mit der gegebenen ID auf Domain A authentifiziert ist
- Leite ihn auf Domain B um, und uebergib dabei (via POST oder GET) diese ID

wenn die ID vorhanden ist, weisst du auch welcher user es ist, und loggst ihn implizit ein.
du musst auf die zeit achten, sprich zB eine ID nur ein paar sekunden lang gueltig lassen.

Um Replay attacks zu verhindern muss diese ID auch gleich wieder geloescht werden.

nitschus
01.08.2008, 23:09:23
Hmm also Du hast soviele Freiheiten mit CURL.
Ich denke das Wichtigste ist aber (und trifft auf bei Dir zu), dass man ohne Browser mit Servern kommunizieren kann.
Lese Dir am Besten erst einmal folgende Seite durch. http://de.php.net/curl
Ein ernstgemeinter Tip von mir ist:
Versuche Dir die Weiten von CURL selber zu erschließen.
Das ist einfach besser.
Ich erinnere mich an meine Zeit, als ich auch ein ähnliches Problem hatte, und, ich glaube es war feuervogel, mich auf CURL hingewiesen/aufmerksam gemacht hat.
Wenn man einem nur das rohe Script gibt, versteht man den Hintergrund von CURL mit seiner Libary nicht.
Wenn Du trotzdem nicht weiterkommst, kann ich Dir gerne helfen. (Soweit ich es kann ;-) bin auch kein Profi in Sachen CURL)
Meine Meinung...

Liebe Grüße
Florian

naja ich wollte schon über den browser mit der zweiten domain kommunizieren....nämlich mir die doku holen wenn der jeweilige user im adminbereich und unter seiner domain darauf zugreifen darf..........

aber den tip mit curl werd ich mir mal zu gemühte führn ;-)

rarios
01.08.2008, 23:13:07
naja ich wollte schon über den browser mit der zweiten domain kommunizieren....nämlich mir die doku holen wenn der jeweilige user im adminbereich und unter seiner domain darauf zugreifen darf..........

aber den tip mit curl werd ich mir mal zu gemühte führn ;-)

Ja das kannst Du auch... Du willst ja nur die authentifizierung ohne Browser vornehmen ;-)
Also logst Du Dich durch CURL sozusagen ein und rufst die Doku auf...

nitschus
01.08.2008, 23:20:45
wenn ich das problem richtig verstanden habe, du willst die authentifizierung von einem user auf domain A auf domain B uebertragen.

Liegen die domains auf dem selben server? wenn ja dann brauchst du kein messaging (curl).

- cookies gehen ja bekanntlich nicht ueber verschiedene domains
- sessions auch nicht

ich persoenlich wuerde folgendes machen:
- lass dir eine random ID generieren (sowas wie eine session ID) um den user zu markieren.
- User ist auf Domain A
- Speichere dass dieser user mit der gegebenen ID auf Domain A authentifiziert ist
- Leite ihn auf Domain B um, und uebergib dabei (via POST oder GET) diese ID

wenn die ID vorhanden ist, weisst du auch welcher user es ist, und loggst ihn implizit ein.
du musst auf die zeit achten, sprich zB eine ID nur ein paar sekunden lang gueltig lassen.

Um Replay attacks zu verhindern muss diese ID auch gleich wieder geloescht werden.


kein schlechter ansatz ......... nur:
user ist auf domain a und kann dort unter seiner domain aufm adminberiech rumhacken........benötigt dazu natürlich einen zugang der über einen login behandelt wird (andre sache)

nun soll user der auf domain a ist auf domain b zugreifen.....also nur zugreifen....auf domain b liegt keine datenbank wo ich den login abgleiche......die db liegt nämlich unter seiner domain mit seinem shopsystem bzw. adminbereich.
ich brauch also nur was was den user dazu berechtigt auf domain b überhaupt zuzugreifen......nämlich nur dann wenn er einen gültigen login auf domain a besitzt.

bei der überlegung ist mir noch ne andre idee ins köppl gesprungen.........da die domains alle auf einem server liegen könnt ich eigentlich gleich nur eine id generieren (gweilos ansatz) in der verschlüsselt der eindeutig zu identifizierende schlüssel enthalten ist mithilfe ich dann per script direkt auf seine db (von domain b auf domain a) zugreife und dabei auch abgleichen könnte ob der zugreifende auch die nötigen rechte hat (das wäre schon wieder der daraus resultierende nächste schritt)
ich glaub das werd ich dann auch gleichmal ausprobieren............