Veilige cookies
Pagina: « vorige 1 2 3 volgende »
Een geldige sessie is als in de cookie en de database de sessie_id, user_id, ip-adres en browser overeenkomen.
Als mensen de browser sluiten is de cookie niet meer geldig, dus mensen moeten zich steeds weer overnieuw inloggen. Ik maak een webshop dus dit is een vereiste, voor mij.
Ook maak ik gebruik van wachtwoord versleuteling doormiddel van Javascript (http://pajhome.org.uk/crypt/md5). Snuffelaars maken geen kans meer dus.
Ik denk dat het op deze manier aardig veilig is.
edit:
En vertrouw nooit de waarde van Superglobals, dus ook niet de $_SERVER superglobal.
Gewijzigd op 04/01/2006 19:15:00 door Martijn B
Als Pietje inlogt en automatisch ingelogd blijft als hij niet actief uitlogt (en veel Pietjes doen dat) dan kan Keesje op de zelfde PC met de account van Pietje aan de gang.
In dit geval geef ik de security dan voorrang. Mijn loginsystemen werken dan ook niet met cookies.
Jan:
In dit geval geef ik de security dan voorrang. Mijn loginsystemen werken dan ook niet met cookies.
Waarmee werkt je dan?
Martijn!:
Ook maak ik gebruik van wachtwoord versleuteling doormiddel van Javascript (http://pajhome.org.uk/crypt/md5). Snuffelaars maken geen kans meer dus.
Die laatste zin snap ik niet. Waarom maken snuffelaars geen kans meer? Omdat je JavaScript gebruikt?
Gewijzigd op 04/01/2006 19:25:00 door Martijn B
Martijn!:
Waarmee werk je dan?
Met password versleuteling via SHA1. Bij een fout wachtwoord geen melding geven en sleep(5) toepassen tegen brute-forcen.
Dus, hoe weet je dat Piet wel Piet is?
SHA1 lijkt mij trouwens wel een goede verbetering t.o.v.
MD5. 128 vs 160 bit.
Gewijzigd op 04/01/2006 19:33:00 door Martijn B
Ooit van sessies gehoort?
Gewijzigd op 04/01/2006 19:40:00 door Martijn B
Bij mij niet, niet client-side in ieder geval
Martijn!:
Jawel, maar ik vraag aan Jan wat voor sessie hij heeft, want hij werkt niet met cookies.
Ik bedoel ik gebruik set_cookie niet zelf. Een inlogsysteem zonder sessions lijkt me erg onhandig.
if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']!==$name || $_SERVER['PHP_AUTH_PW']!==$pass)
{
header('WWW-Authenticate: Basic realm="blabla"');
header('HTTP/1.0 401 Unauthorized');
exit("N/A");
}
}
Ik kan die pagina zo vaak aanroepen als ik wil, hoef maar 1 keer in te loggen. Geen sessies. Dus of de browser stuurt bij iedere aanvraag die gegevens mee, of op een of andere manier onthoudt de server het.
edit: bij iedere aanvraag geeft de browser deze header mee:
Gewijzigd op 04/01/2006 20:21:00 door Jelmer -
Jelmer:
Ik heb dit op een pagina staan:
if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']!==$name || $_SERVER['PHP_AUTH_PW']!==$pass)
{
header('WWW-Authenticate: Basic realm="blabla"');
header('HTTP/1.0 401 Unauthorized');
exit("N/A");
}
}
Ik kan die pagina zo vaak aanroepen als ik wil, hoef maar 1 keer in te loggen. Geen sessies. Dus of de browser stuurt bij iedere aanvraag die gegevens mee, of op een of andere manier onthoudt de server het.
edit: bij iedere aanvraag geeft de browser deze header mee:
if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']!==$name || $_SERVER['PHP_AUTH_PW']!==$pass)
{
header('WWW-Authenticate: Basic realm="blabla"');
header('HTTP/1.0 401 Unauthorized');
exit("N/A");
}
}
Ik kan die pagina zo vaak aanroepen als ik wil, hoef maar 1 keer in te loggen. Geen sessies. Dus of de browser stuurt bij iedere aanvraag die gegevens mee, of op een of andere manier onthoudt de server het.
edit: bij iedere aanvraag geeft de browser deze header mee:
Als het goed is kan je deze inloggegevens opvragen met phpinfo() direct na het inloggen.
Heel verhelderend om dit alles te lezen want ik ga beslist door met zoeken in mijn script waar het fout gaat...
ik gebruik gewoon sessions bij inloggen, weet geen veiligere manier.
http://nl3.php.net/manual/en/ref.mcrypt.php
Als je blowfish gebruikt, met een geheime string als key, en wat blowfish terug geeft in de cookie zet, dan is het wel veilig.. Afaik is blowfish nog niet gekraakt :)
En het voordeel is dat je ook gewoon weer kan decrypten als je de info uit de cookie nodig hebt...
Als je blowfish gebruikt, met een geheime string als key, en wat blowfish terug geeft in de cookie zet, dan is het wel veilig.. Afaik is blowfish nog niet gekraakt :)
En het voordeel is dat je ook gewoon weer kan decrypten als je de info uit de cookie nodig hebt...
Dan hoef je niets te kraken, je set gewoon je eigen cookie en voila!
Je hoeft je alleen maar voor te doen als iemand anders via je koekje. Wachtwoord weten is niet echt van belang.
Je moet dus koekjekaping tegen gaan, dan ben je al aanzienlijk veiliger.
De beste manier is bij mijn weten de manier die Steam e.a. gebruiken. Een soort van signature van je hardware. Onmogelijk te spoofen tenzij je achter dezelfde computer zit. Maar dat is helaas niet mogelijk om te gebruiken via javascript/webbrowsers.
Gewijzigd op 05/01/2006 10:54:00 door Jelmer -
beste manier. Jammer gaat dat niet.
Als ik de cookie set dan
doe ik dat zo:
ip|tekst
En dat encrypt ik en zet in de cookie
Om uit te lezen
decrypt ik het en kijk of het ip nog het zelfde is.
Ja?
Dan geef ik de inhoud terug anders niet
Maar cookies blijven gevaarlijk.
Omdat ze op de pc zelf staan. en zijn ze dus te manipuleren.
Maarjah er zijn veel methodes, en mijne hoeft niet goed te zijn.