php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Sicherheit von Sessions


 
yezariel
21-01-2003, 14:18 
 
Hallo!

Ich habe eine Frage bzgl. Sessions. Ich habe einen Kunden, der gerne einigen seiner Händler Daten über ihre Verkaufszahlen und ihre Zielerreichnung zur Verfügung stellen möchte. Diese Daten sind natürlich höchst brisant und dürfen immer nur vom jeweiligen Händler eingesehen werden.

Ich möchte da auch SSL-Verschlüsseln aber mir geht es um das Log-In und Daten die in der Session gespeichert werden. Die Log-In Daten werden beim anmelden natürlich mit den Login-Daten des Händlers in einer Mysql-Datenbank verglichen. Die Frage ist jetzt, wie ich jetzt sicherstellen kann, dass jeder Händler auch nur seine Daten sieht. Mir ist schon klar, dass ich die Daten in der DB an sich an das Händler-Login binden muß, das ist nicht das Problem. Ich suche nach irgendeiner Möglichkeit, wie ich feststellen kann, ob der, der sich angemeldet hat, auch wirklich derjenige ist für den er sich ausgibt...

Habt ihr irgendeine Idee?

Danke!

Gruss

Bernd

 
tj99de
21-01-2003, 14:31 
 
Original geschrieben von yezariel
Ich suche nach irgendeiner Möglichkeit, wie ich feststellen kann, ob der, der sich angemeldet hat, auch wirklich derjenige ist für den er sich ausgibt...


Tust Du nicht genau das mit der Anmeldung? Mehr als eine Passwortabfrage kannst Du da wohl nicht einbauen. Jeder der den Usernamen und das Passwort kennt, muß also zwangsläufig derjenige sein, der seine Daten einsehen darf ...

 
MoRtAlAn
21-01-2003, 14:31 
 
mit sessions kannst du das ganze machen!

wenn deine Daten in der DB zur Verifizierung stimmen, kannst du in den Sessions eine eindeutige zuweisung speichern, anhand derer die Daten für den Kunden ausgewählt werden können...

Zur Sicherheit der Sessions ist zu sagen:
- Sie sind sicher, solange der Kunde seine SessionID vor dem SessionTimeout nicht an jmd. weitergibt

alles andere liegt an dir, bzw. am Hoster
- Verzeichnissicherheit, sprich die User dürfen nicht an das /tmp Verzeichnis dran kommen
- für die Sicherheit der Skripts bist du zuständig!

hoffe, das macht das etwas klarer ?!

gruss

 
kapitaeniglo
21-01-2003, 14:36 
 
um bei sessions sicherzustellen ob der user der ist der sich angemeldet hat, kann man auch in der session die IP speichern ....

und bei jedem seitenaufruf die ip pruefen ........

mfg
kapitaeniglo

 
yezariel
21-01-2003, 14:43 
 
Genau das wollte ich hören. :)

Vielen Dank für eure Antworten!

Ich denke dass ich das dann schon schaffe mit der Sicherheit. :)

Ich hatte schon überlegt noch eine weitere Sicherheitsstufe einzubauen, indem man dem jeweiligen Händler eine URL zuschickt, die nur eine beschränkte Zeit aktiv ist (mit einem Schlüssel in der URL oder so), die er vorher aufrufen muss und die dann ein Cookie auf seinem Rechner speichert mit einem Schlüssel. Dann hätte ich beim anmelden am System noch extra geprüft ob der Schlüssel vorhanden ist und wenn nicht die Anmeldung abgebrochen. Haltet ihr sowas für sinnvoll? Das Problem dabei ist natürlich, dass der Händler seine Cookies nicht löschen darf...

Gruss

Bernd

 
mrhappiness
21-01-2003, 23:21 
 
und auch eher abschreckend/userunfreundlich denke ich.

ich persönlich fänd's recht nervig, wenn ich auf ner seite bin und mich einlogge, auf mail warte, den link in der mail anklicke und dann erst weiterarbeiten kann.

speicher die ip mit in der session wie kapitaeniglo schon sagte und gut is

kannst ja im prinzip die gesamte seite als formular aufbauen, dann hast du die session-id im post-bereich und der user kann sie nicht weitergben, wenner einfach ne url kopiert und verschickt (nach dem motte: "He, das hier is interessant")

 
jamesbond
01-02-2003, 10:41 
 
und was ist, wenn dann ein client hinter einem proxy server sitzt?

dürfte ziemllich schwer werden, das mit dem speichern der IP!

oder seh ich das falsch?


james

 
ghost
25-02-2003, 03:00 
 
hi,

IP´s kannste für sowas vergessen... AOL und Co. lässt grüssen ;)

du kannst unique transaction id´s in die session schreiben und diese auch in der url mittragen :

- bei jedem klick wird dann geschaut, ob die transacttion id mit der in der session übereinstimmt -> wenn ja, wird eine neue vergeben und gespeichert... andernafalls wird geblockt.

- das ganze hat den nachteil, dass die applikation dann nur in einem fenster laufen kann... da bei jedem popup die transaction id geändert werden würde und die im "alten" fenster auslaufen würde...

des weiteren sollteste du dich halt mit ssl beschäftigen, ist sichere als zu versuchen eine lücke in php durch code zu schliessen ;)

mfg GhOsT !


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:16 Uhr.