[PHP] Deeplinken met beveiliging

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Ik zit met het volgende dilemma.

Ik heb een CMS 1 dat beveiligd is m.b.v. een inlogsysteem en staat op server 1.
Een tweede CMS staat op server 2 en wil ik vanuit CMS 1op server 1 toegankelijk maken zonder daarvoor opnieuw te moeten inloggen.
Ik had bedacht dat ik vanuit CMS 1 dan het beste kan deeplinken naar CMS 2. Maar hoe doe ik dat zo dat er maar 1 keer ingelogd hoeft te worden en dat je alleen vanuit CMS 1, CMS 2 kan bereiken?

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 22:57
Tja, dat hangt er vanaf hoe je CMS is geprogrammeerd. Als je een klasse/object hebt voor authenticatie zou je netjes een methode kunnen maken die je aanroept vanaf het andere CMS waarmee je authenticeert ofzo.

Verwijderd

Zou je niet een hash kunnen sturen van server 1 naar server 2 met die zijn naam en paswoord gecombineerd met een timestamp en andere rommel.

->op server 1
$naam = md5($gebruikersnaam)
//tijd is hier afgerond op bijvoorbeeld 5 minuten. Dan blijft de hash 5 minuten geldig
//$tekst is vaste tekst die je zelf kiest
$hash = md5($tekst + $tijd + $paswoord + $tijd + $tekst)


http://server2/script.php?naam=$naam&$hash=$hash


->op server 2
een md5 gebruikersnaam uit de database ophalen die gelijk is aan de $_Get[naam]

ook een hash creeren met dezelfde tekst van server1 + de tijd ook afgerond op 5 minuten en het paswoord dat je zonet uit de database hebt gehaalt.

Volgens mij is dit een redelijk veilige methode
een challenge - response systeem zou nog veiliger zijn, maar weet niet hoe dat zou werken met php op verschillende servers

Verwijderd

Topicstarter
Is MD5 op verschillende servers dan hetzelfde??? Dacht dat niet zo was...

  • ludo
  • Registratie: Oktober 2000
  • Laatst online: 26-04-2024
Verwijderd schreef op donderdag 10 februari 2005 @ 13:06:
Is MD5 op verschillende servers dan hetzelfde??? Dacht dat niet zo was...
Een MD5 hash = een MD5 hash. Die zal op alle systemen hetzelfde zijn (bij dezelfde invoer natuurlijk ;) )

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Wat misschien handiger is, is om CMS1 contact te laten maken met CMS2 en een random waarde doorgeven gecombineerd met een ip oid. Eventueel hang je hieraan de rest van de sessie gegevens. Deze waarde houd je dan een paar minuten geldig. Daarnaast hang je deze waarde aan een link naar cms2. Als je het met een redirect doet wordt het nog mooier aangezien je dan de geldigheid op minder dan een minuut kunt houden.

Ik heb altijd een beetje een aversie tegen het hashen van bestaande gegevens en deze naar de client te sturen, zeker waneer een random waarde volstaat.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1