Vinnaren i pepparkakshustävlingen!
2010-11-19, 19:07
  #1
Medlem
jazzgossens avatar
Tja, Jag ska göra en sida för endast medlemmar och för att komma in på denna sidan så vill jag ha en inloggning från en annan domän.

För att komma in på hemsida2.se så måste man alltså gå in på hemsida1.se först och gå via länkar till ett inlogg där du loggar in och sen skickas vidare till hemsida2.se
Är detta på något sätt möjligt och kan man ta hjälp av cookies på något sätt?
Resultatet som jag vill uppnå är liknande det som Lisbeth Salander har i tredje bokan i Millennium serien ( Luftslotten som sprängdes).

Det viktiga är att man inte ska kunna gå direkt in på hemsida2.se utan att gå via inlogget på hemsida1.se.

Jag använder Joomla, duger det eller behöver man något annat?

Tack på förhand!
Citera
2010-11-19, 20:15
  #2
Medlem
Vet inte exakt vad Salander gjorde. Men antar att det skulle gå rätt enkelt att fixa med några rader PHP och kanske MySQL, för användarnamn osv.
Citera
2010-11-19, 22:24
  #3
Medlem
sebnies avatar
Har du kontroll över båda hemsidorna, dvs kan du editera på båda hemsidor?

I så fall, gör så hemsida2.se tar emot ett argument, typ:

hemsida2.se?loginid=bfhsdbkfzskbfsvbyscuiwbucb2378 4gf8238fwh8cfn23hwenf9hcqwn923h78cnw89hf28hw89chi2 3nf78wrh29

Detta kan vara användarens IP + nuvarande klockslag + en hemlig nyckel + användarnamn, samt en hash på allting, krypterat med AES, med en nyckel som är delad mellan hemsida1 och hemsida2, och sedan kodat med Urlsafe_base64 (där / samt + är utbytt mot - och _)

Dvs ca:
ID = urlsafe_base64(AES(Env-REMOTE_ADDR."#".unixtime."#".username."#".sha512_h ex(Env-REMOTE_ADDR.time.K.username),K))

hemsida1.se skapar då detta ID och omdirigerar användaren till hemsida2.se?loginid= ID när användaren loggat in korrekt.

hemsida2.se verifierar IDt på detta sätt:

decoded_ID = AES_decrypt(urlsafe_base64decode(loginID),K)
(remoteIP,time,username,hash) = split("#",decoded_ID)

if remoteIP == Env-REMOTE_ADDR then
if time + 600 > unixtime then
if hash == sha512_hex(remoteIP.time.K.username) then

login successful

endif
endif
endif
endif



Vill du ha en helt "osynlig" lösning får du helt enkelt göra att IPt på användaren sparas i en databas som både hemsida1.se och hemsida2.se har tillgång till, när användaren loggat in, och sedan omdirigeras han till hemsida2.se som kollar att användarens IP finns i databasen innan den ger tillträde.

Du kan då göra så användarens IP finns kvar max 5 minuter eller tills han besökt hemsida2, vilket som kommer först.



När användaren väl besökt hemsida2, antingen genom URL-tricket eller via att du sparar IP på användaren, så lägger du en cookie på användaren från hemsida2.se

Observera att det INTE fungerar att lägga en cookie från hemsida1.se som gäller för hemsida2.se, det kommer webbläsarnas standardinställning blockera som tredjepartscookie.
Citera
2010-11-20, 01:03
  #4
Medlem
jazzgossens avatar
Citat:
Ursprungligen postat av sebnie
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback