PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sicherheit bei logins


ubol
28.03.2002, 10:47
Ich habe da ein Problem, dass ich nicht lösen kann:
Auf meiner Homepage gibts einen Bereich, der nur mit Benutzername und Passwort zugänglich ist.
Die Authentifizierung funktioniert mit Cookies und Sessions.
So weit, so gut. Alles läuft korrekt.
Wenn man aber den Browser schliesst, neu öffnet, in den offline-Modus geht und mit Hilfe der History die Seite erneut anschaut,
IST DER INHALT DER SEITE SICHTBAR!!!

Wie kann ich dieses Problem lösen?
d.h. gibt es eine Möglichkeit, dass ein Benutzer die Seite später nicht mehr durhc die history wählen und ansehen kann?

cu Urs

P.S: dieser Trick mit offline-Modus und history funktioniert auch bei HOTMAIL ?(
Ob das ein Fall für meinen Anwalt ist ...


liquidblaze
28.03.2002, 10:57
probier mal in ner .htaccess datei einen header zu aktivieren und dann machst einfach in den header (normale html datei aber ohne endung) ein script rein um ein leeres cookie zu schreiben !!

ubol
28.03.2002, 11:00
Geht nicht, da javascript ausgeschaltet werden kann und somit das leere Cookie auch nicht gesetzt wird.
Oder habe ich dich falsch verstanden?

liquidblaze
28.03.2002, 12:34
dann mach den login eben so dass auf aktiviertes java überprüft wird und wenn java nicht aktiviert ist kein zutritt möglich ist !! java haben ausserdem doch sowieso die meisten aktiviert ; nur mit den cookies ...


gruß liquid

ubol
28.03.2002, 12:52
Hmmm. ev. habt ihr mich falsch verstanden.

Also nochmals. Das Problem liegt nicht im Login selber (das funktioniert wunderbar).
Aber wenn der Benutzer sich abmmeldet und anschliessend in den Offline-Modus wechselt, kann er die Seite in der History (laden der Seite aus dem Cache) immer noch ansehen, obwohl er eigentlich keinen Zutritt mehr haben sollte. Da kann ich ncoh so viele Meta-Tags und Javascript reinschreiben wie ich will, es nützt alles nichts.

Folgendes Beispiel:
Ich sitze an einem öffentlichen PC und gehe auf die Seite. Ich melde mich mit meinem Benutzernamen und Passwort an und habe anschliessend Zutritt zum geschützten Bereich. Sobald ich fertig bin mit schreiben, surfen etc. melde ich mich ab (logout) und schliesse den Browser.
Soweit klar? Jetzt kommt aber der böse Mr.X und startet den Browser neu (schliesslich ist es ein öffentlicher PC, auf den jeder Zutritt hat.) Er geht in den offline-Modus, schaltet Javascript und Java ab und öffnet die History. Dort sieht er nun alle Seiten, die ich ahnungsloser Besucher vorher besucht hatte. Er klickt auf einen der Einträge und sieht die entsprechende Seite. IMMER!

Meine Frage ist nun, wie ich diesen offline-Zugriff auf die Passwort-geschützten Seiten verhindern kann.

cu ´n txs
Urs

P.S: Diese Methode mit offline-Brosing geht auch bei Hotmail - nur mal an einem öff. PC ausprobieren.?(

liquidblaze
28.03.2002, 13:18
hab mich mal ein bisschen umgeguckt und für den iis folgendes gefunden :

<% Response.CacheControl = &quot;no-cache&quot; %>
<% Response.AddHeader &quot;Pragma&quot;, &quot;no-cache&quot; %>
<% Response.Expires = -1 %>

siehe auch hier (http://support.microsoft.com/default.aspx?scid=kb;en-us;Q234067) !!

sollte dein mitglieder bereich aus php dateien bestehen so kannst du möglicherweise deinen server (apache) so einstellen dass er die seiten nicht cachen lässt

gruß liquid

ubol
28.03.2002, 14:32
Also, ich habe auf den entsprechenden Seiten folgenden Code inberhalb des Head-Tags plaziert:

<META http-equiv=&quot;Cache-Control&quot; content=&quot;no-cache&quot;>
<META http-equiv=&quot;Pragma&quot; content=&quot;no-cache&quot;>
<META http-equiv=Expires&quot; content=&quot;-1&quot;>

Trotzdem kann ich im Offline-Modus die vorher als registrierter Benutzer betrachteten Seiten ansehen. D.h. diese Head-Tags haben im IE keine Auswirkungen, die Seiten werden trotzdem im Cache gespeichert.

Wer weiss eine Lösung?

cu &acute;n txs
Urs

liquidblaze
28.03.2002, 16:17
dieses problem hat nicht nur der ie sondern auch ns !! opera ruft alle daten (nach einstellung) ganz neu ab und speichert nichts !!

cYrus
28.03.2002, 18:20
hast du vllt dein Sessionmanagement nicht gut geplant? Damit meine ich; kommst du auch wenn du onine bist auf die Seiten OHNE Login, wenn du sie direkt aufrufst?
Ich denke du hast einfach nicht in jedem File ne Funktion die das Login bzw. Session überprüft..

so long
cYrus

Bauchi
28.03.2002, 23:11
cyrus... das hat nix mit session mgmt zu tun ...

wenn der browser das speichert , dann isses nun mal da...

ich check nur nicht, warum ihr damit so ein problem habt .. *grummel*

wenn ich mich authenticated hab und mir ne page anschaue .. und nach&acute;m 10 min browsen die page aus&acute;m cache hole ... warum sollte ich sie mir dann auf einmal nicht anschauen können .. ???

das problem was ihr hier habt ist ja wohl eher browserspezifisch als irgendwie programmier relevant .. oder hab ich was ned gecheckt ???

btw... pragma no-cache bringt auch nix wenn man den browser ein bisschen zum cachen animiert ... :-)

ubol
29.03.2002, 16:32
warum ich damit ein Problem habe?

stell dir mal vor, man wüsste diese tatsache mit dem cachen nicht und würde als ahnungsloser user an einem öffentlichen pc (z.B. internet-café) seine mails lesen.
dann könnte theoretisch jeder nach mit meine mails auch lesen!!! also für mich wäre das schon ein problem! schliesslich sind die mails meine privatsache.

cu urs

p.s: ich habe dieses problem mal an hotmail geschrieben und folgende antwort erhalten:
I understand your concern and appreciate the opportunity to assist you. I suggest you to clear the &acute;History&acute; page. Please follow these steps to clear the &acute;History&acute; page:
1. If you are using Internet Explorer, from the &acute;Tools&acute; menu, select &acute;Internet Options&acute;.
2. Under &acute;History&acute;, click the &acute;Clear History&acute; button.
als wäre ich nicht selbst darauf gekommen! nur löst das das problem nicht! ist bloss symptombekämpfung ... :mauer:

Bauchi
29.03.2002, 16:55
dann nimm nen browser der nicht cached .. also lynx zum beispiel (ich versteh die panik nicht ...)

wenn man eh schon freiwillig mit einem unsicheren betriebssystem und einem unsicheren browser (windows+ie) surft, dann sollten gecachte seiten wohl das kleinste problem sein ...

ansonsten mach ne java box um die seite rum, die den content lädt, das wird dann nicht gecached ...

Marwin
29.12.2002, 14:58
Ich versteh' dein Problem ubol. Ich arbeite auch gerade an einem sicheren Login. Wenn man mit einem öffentlichen Rechner surft kann man sich gewöhnlich den Browser nicht aussuchen. Und wenn es dann bei der ganzen Sache noch (indirekt) um Geld geht, in meinem Fall sind es Werbepartner die sich einloggen um die Statistiken ihrer Banner zu verfolgen ist es sehr wohl wichtig, dass niemand auf die Daten zugreifen kann, oder irgentwie das Passwort erhält.

Habe mir dazu gerade können session-cookies manipuliert werden? (http://www.coding-board.de/board/showthread.php?s=&threadid=1722&highlight=einloggen+OR+login) durchgelesen. Hat mir aber ehrlich gesagt nicht sehr viel weitergeholfen, da aus diesem Thread nicht hervorgeht, wie man nun eine sichere Variante programmiert, welche sowohl ausschließt, dass jemend übers Netz das Passwort abfangen kann und dass man Zugang zum geschützten Bereich über Cookies oder eben die History erhält.

:( Marwin

Jan Krüger
29.12.2002, 15:52
Marwin: schön und gut, aber das ist nicht genau das Problem, um das es hier geht.

ubol: Wenn der Internet Explorer einfach die HTTP-Header (hast du es nur per meta-http-equiv probiert oder auch mit echten HTTP-Headern) ignoriert und dementsprechend wieder mal non-standard-gemäß agiert, kann ich wirklich nur einen anderen Browser anraten.
Phoenix (http://www.mozilla.org/projects/phoenix/phoenix-release-notes.html hat beispielsweise keinen Offline-Modus. Ich selber nutze Phoenix schon alleine deswegen, weil es auch ansonsten gut (und schnell) ist. Man muss zwar auf manchen Komfort verzichten, kann aber auch einiges wieder mit fertigen Plugins nachrüsten.
</werbung> ;)

Jonas
29.12.2002, 20:21
Ja also Serverseitig gibt es da sicher keine Lösung, weil der IE baut ja gar keine Verbindung beim 2. Mal zum Server auf sondern nimmt nur den schon lang generierten HTML-Code.
Und das ist ein Prob vom IE, da kannst nix dagegen machen (ausser M$ sprengen)

Marwin
30.12.2002, 18:26
Das ist die Idee Jonas!! :p
Allerdings müssten sich dann viele Software-Programmierer von Windows auf Unix-Programmierung umstellen 8z.B. /me).


:cool: Marwin

ape2303
08.01.2003, 21:40
logins auf webseiten würde ich grundsätzlich mit htaccess machen, da kann man wenigstens sicher sein dass unbefugte keinen zutritt haben und dass problem mit dem cache ist auch gelöst...

Jonas
08.01.2003, 21:55
Original geschrieben von ape2303
logins auf webseiten würde ich grundsätzlich mit htaccess machen, da kann man wenigstens sicher sein dass unbefugte keinen zutritt haben und dass problem mit dem cache ist auch gelöst...

quatsch, es kann doch trotzdem sein, daß der IE die lokal speichert und aus dem Cache aufruft, da is nix gelöst.
Ausser wenn er halt so geschützte seiten nich speichert...

ape2303
09.01.2003, 09:43
wer den cache hochgestellt hat und den verlauf bei 20 tagen oder so hat der isses doch selber schuld wenn die Seiten zu 90% aus dem cache geladen werden....

Jonas
09.01.2003, 13:52
Aber darum gehts doch gar nicht....

Jan Krüger
09.01.2003, 17:40
Tja, der IE hält sich da an fast keinen Standard. Es ist auch vorgegeben, dass Browser Seiten, die per POST requestet worden sind, nicht cachen soll. Und was macht IE? (rhetorische Frage (tm))