• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

cookies

Mad Dog

Mitglied
hey leute

ich habe ein login script fertiggestellt und will nun die einzelnen besucher identifizieren koennen.
was wird dazu benoetigt?
klar ich brauche die session id. diese wollte ich mittels cookies uebergeben.
reicht das schon?
bzw. muss ich die session id beim login in die datenbank eintragen und wenn ein user z.b. eine option aendert wird zunaechst die session id ueberprueft, also wer was aendert und dann wird die andereung in der datenbank vorgenommen???

EDIT: sollte ich das pw auch in dem cookie speichern? bzw wie verhindere ich das jemand sich einen cookie baut und sich einfach einklinkt?
 
ich meinerseits bin wegen sicherheitskücken streng gegen cookies und manche leute haben sie sogar ausgeschaltet. verwende sessions, sobald sie möglich sind, das ist sicherer und du läufst nicht gefahr, deine seite vom benutzer abhängig zu machen.

Nils aka XraYSoLo
 
hmmm was benutzt du?
und was kommt da rein bzw wenn du hiden formular benutzt was uebermittelst du?

ich wollte als erstes mal mit cookies versuchen...
 
ich benutze ausschließlich sessions.
wenn $_POST-superglobale über eine seite weitergegeben werden sollen, spreche ich sie direkt an. soll die eingabe über mehrere seiten zur verfügung stehen (benutzeridentifizierung, z.b. in internen mitgliederbereichen), wird der inhalt in eine session gepackt und bei erfolg (z.b. sendevorgängen oder logouts) gelöscht, bzw. auf false gesetzt.

Nils aka XraYSoLo
 
hm angenommen ich benutzte cookies.
welche daten sind dann von noeten um zu ueberpruefen ob ein user eingeloggt ist und welcher es ist?

auf jeden fall die session_id zur identifizierung.
die koennte ich ja beim login in die datenbank eintragen und bei aenderungen ermitteln welcher user da was geaendert hat.
 
das globale problem besteht darin, zu checken, ob der user sich rechtmäßig im internen bereich aufhält.
tut er das, kann er sich frei bewegen, tut er das nicht, sollte er umgehen 'rausgeleitet werden.

ein benutzer reggt sich bei mir mit mail und pass. er meldet sich an. mail und pass werden mit DB-einträgen verglichen. wenn ja, wird eine session, die die ganze zeit geprüft wird, true gesetzt und der benutzer darf in den internen bereich. wenn nicht, sorgt eine abfrage im hintergrund dafür, dass er beim nächsten klick hinausbefördert wird.
beim ausloggen wirde diese session dann entweder auf false gesetzt, oder zerstört.
mit sessions arbeiten geht auch mit weniger code als cookies abzufragen.
setzt du cookies für die "aufenthaltsgenehmigung" ein, musst du bei usern wie mir davon ausgehen, dass sie nicht 'reinkommen, weil cookies deaktiviert wurden.
grundgesetz der webseitenerstellung: möglichst serverseitig arbeiten, sprich du darfst die kompatibilität der webseite nicht am benutzer festmachen.

Nils aka XraYSoLo
 
ich meinerseits bin wegen sicherheitskücken streng gegen cookies und manche leute haben sie sogar ausgeschaltet. verwende sessions, sobald sie möglich sind, das ist sicherer und du läufst nicht gefahr, deine seite vom benutzer abhängig zu machen.
Ehm...Sessions werden für gewöhnlich über Cookies realisiert.
 
das wohl, aber sessions funktionieren komischerweise auch bei deaktivierten cookies noch. ich kenne mich in sachen apache & co nicht sonderlich gut aus, dennnoch muss es da also sowas wie ausweichwege geben.

Nils aka XraYSoLo
 
Ja, ich glaube da gibt es Alternativen.
Aber zu sagen "Ich verwende Sessions, weil mir Cookies zu große Sicherheitslücken haben" ist irgendwie komisch, wenn bei 60-90% der WWW-Nutzer Deine Sessions auch über Cookies laufen.

Die Probleme, die man bei Cookies hat, hat man auch mit Sessions. Auch wenn man natürlich die Session-ID serverseitig speichert, wenn man eine gültige Session-ID hat, dann kann man die normal von jedem Browser aus nutzen.
 
darin liegt mien problem.

ich wollte die session id dem cookie speichern und beim anmelden in einer tabelle in der datenbank.
vor jeder seite wird dann ueberprueft ob der cookie eine session id besitzt. dann wird ueberprueft ob die session in der datenbank liegt.

damit koennte ich ja einen user uberpruefen.
wenn man sich selbst eine session id zusammenbastelt und in den cookie setzt, sollte die ueberpruefung der session id false ausgeben und damit den benutzt rausschmeissen.
wenn der user sich abmeldet wird sein cookie zerstoert und die session id aus der datenbank geloescht.

ist das realisierbar bzw "sicher" (sicher ist ein system nie)?
 
Das was Du beschreibst, nennt sich "Sessions". Sessions gibt es z.B. auch in PHP. Das ist die übliche Vorgehensweise. Die Datenbank-Zugriffe musst Du allerdings noch selbst machen.
 
ja okay.
nur es koennte ja auch jemanden geben der sein cookie aendert und zufaellige sessions bei sich eintraegt.
und wenn mein script dann seine session id mit einer in der datenbank vergleicht und beide sind vorhanden, dann wuerden ja 2 mit der gleichen session unterwegs sein wobei einer erlaubt unterwegs ist und der andere nicht...
 
Wenn jemand seinen Cookie ändert, muss er erstmal eine gültige SessionID haben. Durch Zufall bekommt er die nicht, wenn die lang genug ist (ist sie bei PHP Sessions). Wenn er eine gültige SessionID irgendwie rausfindet, dann ist der dazu gehörige User zweimal bei Dir unterwegs, das ist richtig. Aber deswegen ist die SessionID ja so lang, dass man sie nicht einfach rausfinden kann.
 
okay cool dann reicht es ja wenn ich die session id im cookie speichere und ueberpruefe ob sie eingetragen ist (und sie wird beim einloggen eingetragen)

vielen dank
 
Zurück
Oben