Loginsystem mit CGI

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
pythonist
User
Beiträge: 40
Registriert: Sonntag 14. Mai 2006, 17:28

Dienstag 15. August 2006, 23:39

Hi,

ich bin gerade dabei ein AdminControlPanel zu Programmieren dafür verwende ich diesen Server. Jetzt bin ich mir nicht sicher wie ich das Loginssystem am besten mach damit es auch sicher ist. Ich hab mir Folgende Methode überlegt einmal über einen Cookie der eine SessionID enhält und eine Datei auf dem Server die die Zeit wielange die Session gilt enthält. Jetzt frag ich mich aber ob das sicher genug ist, das ganze wäre natürlich sicherer wenn man in der Datei auf dem Server die Ip speichern würde allerdings müsste ich dann den Server anpassen.
Lange rede kurzer Sinn ist die Methode sicher habt ihr bessere Vorschläge?

MfG

pythonist
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Mittwoch 16. August 2006, 06:08

dann ist man schön verarrscht wenn nach 24h die IP wechslet, einfach session ungültig
Tafkadasom2k5
User
Beiträge: 24
Registriert: Dienstag 25. Juli 2006, 09:32

Mittwoch 16. August 2006, 10:24

Ich würde in das Cookie eine ID schreiben.

Diese ID würde den User dann nochmals verifizieren, aber wirklich sicher ist diese Methode auch nicht, da dieser Mensch ja auch an seinem Cookie was rumgeschraubt haben könnte.

Ich würde den Inhalt des Cookies also verschlüsseln ( die ID des Users also), mit einer Prüfsumme hinterlegen (eigener algo, muss ja nicht so kompliziert sein) und das alles nochmal verschlüsseln.

Die IP kannste somit aussen vor lassen. Oder wenn du zusätzlich die Session-ID des Users noch mit der IP abgleichst, könntest beim wechsel der IP einfach ein neues Login verlangen.
Somit könnte jemand, der irgendwie an das Cookie von dem Anderen kommt nur so lange rein, bis das Original sich auch anmeldet. Der Server fängt an Alarm zu schlagen, und sperrt beide Sess-IDs.
Das bedeutet zwar, dass nach jedem IP-Change das PW neu eingegeben werden muss, aber das kann man glaube ich vernachlässigen, wenn man sich auf Sicherheit spezialisieren will.

Gr33tz
Tafkadasom2k5
Ich kam, ich sah, und ich ging einfach wieder...

Gott: "Nietzsche ist tot"
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 16. August 2006, 10:54

Ich würde vorschlagen, mach nicht alles selber, sondern nutzte ein Framework oder z.B. PyLucid. In PyLucid schreibst du dir ein Plugin, was nur für eingeloggte Leute ausführbar ist und fertig.

Hat einfach den Vorteil, das du dich auf die eigentliche Arbeit konzentrieren kannst ;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
pythonist
User
Beiträge: 40
Registriert: Sonntag 14. Mai 2006, 17:28

Donnerstag 17. August 2006, 17:12

Die Idee mit dem Hash find ich gut es wäre ja ansich schon annähernd unmöglich den inhalt von nem eingeloggten cookie zu erraten wenn ich die sessionID als hashwert im cookie speicher hashs haben ja keine regelmäßikkeiten soviel ich weiß.
Framework will ich keins nehmen weil es schön schmal bleiben soll und pyLucid ist doch n CMS oder? Will mich nicht wo einarbeiten.
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 17. August 2006, 21:43

Kann ich verstehen, wenn du alles selbst machen willst :) Nur, früher oder später wirst du feststellen, das du dir dein eigenes Framework baust :)

Das einloggen in PyLucid geht grob so:
-Der User erhält eine eindeutige ID per Cookie
-In der SQL DB wird zu dieser ID die Userdaten abgelegt
-Bei jedem Request wird nach dem Cookie geschaut und die Daten aus der DB gelesen.

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten