#1
| ||||
| ||||
sessionsystemhiho irgendwo meinte wer das das session system von php nicht so sicher sei.. was is da dran und was gibt es für alternativen??? mfg __________________ Björn C. Klein Welt-Held! PunkRockNews.de |
#2
| ||||
| ||||
Das Problem mit dem PHP Sessions ist, das eine Übernahme durch einenf remden sehr einfach möglich ist. Kenn ich den Namen der Session und eine Sessionid dann kann ich die Session ganz einfach übernehmen, da nicht kontrolliert wird ob ich der eigentliche Inhaber der Session bin. So könnte man z.B. Accounts in Foren übernehmen usw. __________________ Fabian Martin Fabian Martin Blog | Twitter | XING |
#3
| ||||
| ||||
jo das ist mir bekannt ich umgeh das indem ich in der session paar benutzer variabeln speicher (unter anderem ip) wenn das nicht übereinstimmt, wird halt eine neue variabel gesetzt gibt es noch andere möglichkeiten? mfg __________________ Björn C. Klein Welt-Held! PunkRockNews.de |
#4
| ||||
| ||||
Zitat:
Das man Sessions ganz einfach übernehmen kann ist ja bekannt und gewollt. Nenn mal bitte ein paar Bugs. __________________ Fabian Martin Fabian Martin Blog | Twitter | XING |
#5
| ||||
| ||||
naja ich find das mit session bennen ganz nett PHPSESSID oder was daran gehängt wird recht unstylisch mfg __________________ Björn C. Klein Welt-Held! PunkRockNews.de |
#6
| |||
| |||
Zitat:
|
#7
| ||||
| ||||
Zitat:
PHP überprüft ob es diese gibt, wenn ja wird sie geladen, wenn nicht wird sie halt angelegt. Wo ist da das Problem?? Was hättest du davon wenn PHP ne neue generieren würde?? Gut, die Session ID ist ein wenig kurz, aber sie ist gültig. Ich seh da nicht wirklich ein Problem drin. __________________ Fabian Martin Fabian Martin Blog | Twitter | XING |
#8
| ||||
| ||||
Zitat:
zum thema die session ist doch sowieso nur eine bestimmte zeit gültig und wer sich selber eine mit sid=abc anhängt tja da kann man nichs machen.. evtl per script die länge oder so überprüfen! ein normaler hash besteht doch aus einem md5() hash oder irre ich mich da? also ich speicher wie gesagt paar sachen in der session und check die bei jeden seiten aufruf ohne db! sollte dies nicht passen wird der user sofort weitergeleitet und ihm wird eine neue session id erstellt sollte doch relativ sicher sein weil sonst hät ja jedes board ne potentielle sicherheitslücke mfg __________________ Björn C. Klein Welt-Held! PunkRockNews.de |
#9
| ||||
| ||||
Zitat:
Zitat:
Je weniger Personen eine Funktion testen desto größer ist die Wahrscheinlichkeit das sie fehlerhaft ist. __________________ Fabian Martin Fabian Martin Blog | Twitter | XING |
#10
| ||||
| ||||
Zitat:
__________________ Fabian Martin Fabian Martin Blog | Twitter | XING |
#11
| ||||
| ||||
Vielleicht könnten wir hier mal einige Fakten zusammentragen, denn hier wird wieder ohne stichhaltige Beweise diskutiert und bei solch einem Thema sollte man schon seine Behauptungen hinterlegen können. Ich kenn mich jetzt nicht mit Sessions so gut aus, aber ich trage mein Wissen zusammen: Der Sessionname kann frei gewählt werden, dabei spielt es absolut keine Rolle, ob der Name PHPSESSID ( Standart )oder s oder nasenhaare ist. Bei der eigentlichen Session handelt sich um eine 32stellige Kombination von Ziffern und Zahlen in einer zufälligen Reihenfolge. Sie wird immer nur einmal zugewiesen, so dass es auf natürlichem Wege keine zwei Benutzer mit der gleichen Session gibt. Diese Nummernbuchstabenkombination, welche entscheident ist, kann man auf verschieden Arten herausfinden. Damit wäre es möglich auf die Daten, welche in einer Session gespeichert wären zuzugreifen. Zwischen den einzelnen Seiten wird die Session ( SID ) entweder per Cookie, Post oder Get übertragen. Die Daten einer Session werden im PHP eigenen temporären Ordner gespeichert, oder in einem beliebigen anderen Pfad auf dem Server, dedingt durch die Einstellungen. Auf diesen kann man in der Regel nicht zugreifen. Soweit mein Wissen zum Thema, nun einige Möglichkeiten zum Thema Sicherheit, welche mir spontan einfallen: IP Adresse: Ermitteln, in der Session speichern und bei jedem Seitenaufruf prüfen. Session Lifetime: Je nach Seiteinhalt sollte in relativ geringer Wert gewählt werden, so dass die Session nicht Stunden später nach ansprechbar ist. Alternativ kann man auch die Zeit speichern, wenn die Session zum ersten initialisiert wird und später einen Vergleich mit der aktuellen Zeit durchführen und je nach Ausgang die Session neu starten. Sessionübertragung: Nur das Speichern der Session in einem Cookie erlauben. So kann legentlich der entsprechende Computer die Session nutzen. Natürlich ist dies eine Gefahr für bei Mehrpersonensystemen. SSL: Hierbei handelt es sich ja bereits um eine Sicherheitsmaßnahme, habe jedoch auch gelesen, dass dies im Bezug auf Sessions nützlich sein soll. Benutzerdaten: Man kann natürlich eine ganze Reihe von Daten des Nutzers ( Browser, OS, IP etc. ) speichern und bei jedem Abruf prüfen. Über Sinn und Unsinn kann man sich streiten - Es ist ein Resultat einiger Minuten des Denkens, dies ist jedenfalls mein Betrag zu diesem Thema |
#12
| ||||
| ||||
mit einiges inis und co kann mann das session system sehrgut benutzen! man sollte es allerdings mit einem ip check verbinden. ich benutzen derweil folgende inisets: PHP-Code: |
#13
| ||||
| ||||
mhm... dann hätte ich ein problem. habt ihr ne andere lösung? |
#14
| ||||
| ||||
Zitat:
Reimer hat schon recht, lass uns uns gegenseitig mit Fakten bewerfen. Fakt 1: Man kann selbst bestimmen wo die Sessions gespeichert werden. Den Pfad kann man mittels session_save_path() bestimmen. Fakt 2: Wie Reimer schon gesagt hat muss man sich selbst darum kümmern und überprüfen ob der User zur Session gehört oder nicht. Jedoch ist dies bei einem eigenen System nicht anders. Fakt 3: ich bin mir jetzt nicht ganz sicher, aber Reimer weiß dies ggf., aber unter Confixx (welches ja sehr beliebt ist bei Hostern) wird für jeden Benutzer ein extra tmp Verzeichnis angelegt. In diesem sollten auch die Session Daten landen. Andere Nutzer haben auf dieses Verzeichnis normalerweise kein Zugriff. Nunmal zu dem selbst bestimmen der SID: Wer Sessions ernsthaft einsetzt überprüft normalerweise ob en User zu der Session gehört oder nicht. Wenn nicht kriegt er halt ne neue ID, ich seh da jetzt wirklich kein Problem drin. Zitat:
__________________ Fabian Martin Fabian Martin Blog | Twitter | XING |
#15
| ||||
| ||||
Zitat:
was ja wohl letztendlich die beste möglichkeit scheint. ich speicher mir folgendes ab: md5($_ENV["HTTP_USER_AGENT"].$_ENV["HTTP_HOST"].$_ENV["REMOTE_ADDR"]) mfg __________________ Björn C. Klein Welt-Held! PunkRockNews.de |
#16
| ||||
| ||||
wie soll das denn bitte aussehen und wie umgehst du die sicherheitslücken die du ja im session system von php siehst? __________________ Björn C. Klein Welt-Held! PunkRockNews.de |
#17
| ||||
| ||||
haha witzbold nur wie willst du die session eindeutig zuordnen????? mfg __________________ Björn C. Klein Welt-Held! PunkRockNews.de |
#18
| ||||
| ||||
ciruZ anstatt so rumzumachen sag ihm entweder jetzt wie du es genau machst oder lass es hier im Thema etwas zu schreiben. Ich meine das jetzt nicht böse, aber es nervt irgendwie . Zum Thema: Ich habe keinerlei Probleme mit den PHP Sessions, mit ein paar Modifikationen passt das schon . __________________ Frederic Schneider WoltLab Team / WoltLab Wiki / GamePorts / Frederic Schneider / neuer-patriotismus.de |
#19
| ||||
| ||||
nö sagt ja keiner nur ich seh keinen eindeutigen weg einen benutzer zu identifizieren! ip adresse is essig => proxys etc cookie auch da einige leute keine akzeptieren zu dem pasten: wir könnten uns irgendwann dein forum saugen und abschaun aber ich interessiere mich nicht für den code sondern für eine lösung dieses von dir ja so ziemlich groß dargestellten problem das php session system zu nutzen! schliesslich will ich meinen benutzern eine gewisse sicherheit bieten! mfg __________________ Björn C. Klein Welt-Held! PunkRockNews.de |
#20
| ||||
| ||||
Zitat:
Ansonsten würde ich mich auch freuen, wie du, CiruZ, das ganze gelöst hast. Anscheinend hast du ja eine gute Lösung gefunden und kannst ja dann mal beschreiben, wie du das umgesetzt hast. |
#21
| ||||
| ||||
Super, du hast grad beschrieben wie jedes Session System in Foren funktioniert. Was aber alle wissen wollen, wie gehst du auf Nummer sicher das einem Benutzer auch die angesprochene Session gehört?? __________________ Fabian Martin Fabian Martin Blog | Twitter | XING |
#22
| ||||
| ||||
Und kannst du jetzt erklren, wo der Vorteil von deiner Variante zu dem Sessionsystem von PHP ist, denn davon hast du kein Wort gesagt. |
#23
| ||||
| ||||
Mich würde zusätzlich noch interessieren was für Daten bei dir in der Session landen und wie du es schaffen willst das jeder Benutzer deines Systems keine URLs weitergibt in denen die SID steht. __________________ Fabian Martin Fabian Martin Blog | Twitter | XING |
#24
| ||||
| ||||
ich muss reimer ma zustimmen... mfg btw: http://forum.powerteq.net/forum.php?...7d123405a74444 <-- wird ja doch mitgegeben o_O mfg __________________ Björn C. Klein Welt-Held! PunkRockNews.de |
#25
| ||||
| ||||
also bei mir wird automatisch überprüft ob die session per cookie gespeichert wird oder nicht und dementsprechend die session angehängt oder nicht.. mnfg __________________ Björn C. Klein Welt-Held! PunkRockNews.de |
Stichworte |
- |