WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   "Kom ihåg mig" - säkraste sättet (https://www.wn.se/forum/showthread.php?t=38651)

BjörnJ 2009-08-22 15:47

Timeout när jag försöker spara redigerat inlägg. :(
Citat:

Originally posted by BjörnJ@Aug 22 2009, 15:42
Om användaren väljer att logga ut bör cookien raderas.
Och även radera nyckeln ur databasen.

BjörnJ 2009-08-22 15:50

Citat:

Originally posted by Draqir@Aug 22 2009, 15:47
User agent är inte direkt alltid statiskt. Beror på vad du har för ISP, ibland kan det växla under bara ett enda request.
Hm? En ISP ändrar väl aldrig user agent i HTTP requests som går genom deras nät? Eller? (Om man inte kör via proxy förstås.)

_Michael_ 2009-08-22 15:55

Längden på nyckeln har väl i praktiken ingen direkt betydelse. Bättre att se över antalet inloggningsförsök från samma IP.
Men ur en hackares synvikel är det mycket lättare att köra en wordlistattack på lösenordet än på en unik sträng.

Att spara gilltighetstiden i databasen eller att låta cookie:n dö efter en viss period har väl ingen betydelse?

Att cookie:n raderas när man manuellt loggar ut är en självklarhet. Om att använda user agent ger högre säkerhet men leder som sagt till problem för vissa. Där är det en avägning vad som är att föredra.

Angående att matcha IP så ger det även problem för det som bär med sig datorn...

EDIT:
ISP har ju ingen koppling till användarens user agent. Det som däremot kan ändra user agent är ju uppgradering av webbläsare eller OS

BoXon 2009-08-22 16:00

Skall genomföra ett litet test på det jag själv skrev förut. Angående att man inte kan bli ihågkommen på flera olika platser så tycker jag nog mest att det är positivt. Som sagt, skulle man av misstag kryssa i kom ihåg mig någonstans så är det ju ogjort nästa gång man loggar in. :)

SimonP 2009-08-22 16:03

Citat:

Originally posted by _Michael_@Aug 22 2009, 14:21
men väldigt många användare får då problem för att de har dynamiskt IP...
Självklart, men det är ändå rätt sällan man får nytt IP, mitt har jag nu haft i 4 mån.

Men som sagt, enbart User agent gör det inte svårare för en hacker, det handlar om sekunder så har man testat vilken User agent som validerar gentemot cookien.

_Michael_ 2009-08-22 16:16

Citat:

Originally posted by SimonP@Aug 22 2009, 16:03
Men som sagt, enbart User agent gör det inte svårare för en hacker, det handlar om sekunder så har man testat vilken User agent som validerar gentemot cookien.
Nej, en någorlunda duktig hacker lär testa samma user agent (Som man för övrigt troligen kommit över långt innan man fått tag på cookie:n). Det svåra i allt är givetvis att man inte vet vad som matchas.
Sen kan man alltid argumentera för att ett system ska vara säkert även om en hacker känner till alla säkerhetsåtgärder och algoritmer så ur det perspektivet är kom ihåg mig inte speciellt säkert...

Sen krävs det ganska speciella omständigheter för att man ska lägga ner tiden på att komma över en cookie när det övergripande problemet är att användare tenderar att välja extremt svaga lösenord.

BoXon 2009-08-22 16:28

En hacker har ändå väldigt liten chans att lyckas om han endast har 3 försök innan han blir IP-bannad, vilket är fallet på mina webbplatser. :)

Här är min början, vad tycks?
Citat:

<?php
ob_start();
session_start();

if(!isset($_SESSION['user'])) {
if(isset($_COOKIE['userkey'])) {

$sql = mysql_query("SELECT user FROM web_users WHERE userkey='".mres($_COOKIE['userkey'])."' AND useragent='".mres($_SERVER['HTTP_USER_AGENT'])."' ");

if(mysql_num_rows($sql) <> 0) {

// Lyckad inloggning, arrangera en ny nyckel...
$_SESSION['user'] = mysql_result($sql, 0, 'user');
$randValue = randomValue('128', '3');
mysql_query("UPDATE web_users SET userkey='".$randValue."', useragent='".mres($_SERVER['HTTP_USER_AGENT'])."'");
setcookie('userkey', $randValue);

}else{

// Ta bort felaktig nyckel...
setcookie('userkey');

}

}

}
?>


SimonP 2009-08-22 16:38

Citat:


... Det svåra i allt är givetvis att man inte vet vad som matchas.

Det är inte ett dugg svårt om man bara använder User agent.

Citat:


Sen kan man alltid argumentera för att ett system ska vara säkert även om en hacker känner till alla säkerhetsåtgärder och algoritmer så ur det perspektivet är kom ihåg mig inte speciellt säkert...

Man behöver inte veta någonting om någon algoritm ifall den baseras på cookievärdet + User agent.

Det var trådskaparen som ville veta det "säkraste sättet".

Citat:


Sen krävs det ganska speciella omständigheter för att man ska lägga ner tiden på att komma över en cookie när det övergripande problemet är att användare tenderar att välja extremt svaga lösenord.

Om någon snor en cookie via ett XSS hål i sidan spelar det ingen roll om användaren har ett extrem komplicerat lösenord! När det gäller cookies har siteägaren lika mkt ansvar att skydda dessa på bästa sätt, det är en viss skillnad på detta och om användaren själv valt en svagt lösenord, då får han/hon skylla sig själv.

tartareandesire 2009-08-22 16:46

Citat:

Ursprungligen postat av SimonP
Citat:

Ursprungligen postat av _Michael_
men väldigt många användare får då problem för att de har dynamiskt IP...

Självklart, men det är ändå rätt sällan man får nytt IP, mitt har jag nu haft i 4 mån.
Men som sagt, enbart User agent gör det inte svårare för en hacker, det handlar om sekunder så har man testat vilken User agent som validerar gentemot cookien.

Nja, det varierar en hel del. Det blir inte så lyckat att utgå från sig själv och sedan tro att den statistiken gäller =) På en plats man kan ha tre olika IP-nummer på en dag medan man på nästa ställe sitter med ett och samma i flera månader trots att man har dynamiskt IP.

_Michael_ 2009-08-22 16:49

Citat:

Originally posted by SimonP@Aug 22 2009, 16:38
Citat:

Det var trådskaparen som ville veta det "säkraste sättet"..

Och det säkraste sättet är dessvärre inte speciellt säkert.

IP är säkrare men fungerar inte för alla.

Så värst mycket mer går inte att göra...


Alla tider är GMT +2. Klockan är nu 16:40.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson