FAQ |
Kalender |
2009-08-22, 16:50 | #21 | ||
|
|||
Mycket flitig postare
|
På vissa ställen blir man påtvingad en ny IP varje dygn, även om all utrustning inklusive dator har varit påslagen hela tiden.
|
||
Svara med citat |
2009-08-22, 16:54 | #22 | |||
|
||||
Mycket flitig postare
|
Citat:
Personligen tycker jag inte man ska ha "kom ihåg"-funktioner, dom flesta webbläsare klarar själva av att spara inloggning + lösenord, och då är det upp till användaren hur han vill göra, inte siteägaren. Betydligt enklare och i många fall säkrare. |
|||
Svara med citat |
2009-08-22, 16:58 | #23 | ||
|
|||
Supermoderator
|
Citat:
Annars håller jag med dig, det finns inte längre någon större poäng med att göra egna kom ihåg mig-funktioner.
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
2009-08-22, 16:58 | #24 | ||
|
|||
Mycket flitig postare
|
Ett mellanalternativ är att komma ihåg användarnamnet, så användaren bara behöver skriva lösenord för att logga in. Markören kan placeras i lösenordsrutan automatiskt om användarnamn är satt.
|
||
Svara med citat |
2009-08-22, 17:00 | #25 | |||
|
||||
Mycket flitig postare
|
Citat:
|
|||
Svara med citat |
2009-08-22, 17:02 | #26 | ||
|
|||
Medlem
|
Citat:
Om alla här inne sitter på samma ISP och hämtar samma bild vid ungefär samma tidpunkt kommer i många fall bara ett HTTP request gå ut, vilket sparar väldigt mycket bandbredd och bandbredd är pengar. Du kan inte ens förvänta dig att ett IP är samma under en request (hämtning av bilder, filer etc). Detta går enkelt att se på vilken välbesökt sida som helst med ett någorlunda avancerat statistikskript. Så förlita er aldrig på att IP / user agent ska vara samma hela tiden. |
||
Svara med citat |
2009-08-22, 17:06 | #27 | ||
|
|||
Flitig postare
|
Citat:
Det låter som det absolut bästa alternativet, och bra mycket enklare! Däremot så kommer nog många användare bli lite fundersamma på att deras användarnamn blir ihågkommet men inte resten. Ang. detta med dynamisk IP så får jag en ny IP ungefär varje gång som jag startar om datorn. |
||
Svara med citat |
2009-08-22, 17:12 | #28 | ||
|
|||
Medlem
|
Citat:
|
||
Svara med citat |
2009-08-22, 17:13 | #29 | ||
|
|||
Administratör
|
Citat:
__________________
eldefors.com - Personlig (teknik)-blogg |
||
Svara med citat |
2009-08-22, 17:18 | #30 | ||
|
|||
Medlem
|
"Kom ihåg mig" - säkraste sättet
VPN kryptering, inbyggt tillägg som stegar igenom fördefinerade sha-256 strängar genom ett tillägg i webbläsaren som bakas in vid varje request... Ehm. En lite mer normal lösning; Använd mcrypt med t.ex. blowfish på ett liknande sätt Kod:
class Cookie { private $created; private $userid; private $version; private $td; private $cookie; private $cypher = 'blowfish'; private $mode = 'cfb'; private $key = 'choose a better key'; private $cookiename = 'USERAUTH'; private $myversion = '1'; private $expiration = '600'; private $warning = '300'; private $glue = '|'; public function __construct($userid = false) { $this->td = mcrypt_module_open ($this->cypher, '', $this->mode, ''); if($userid) { $this->userid = $userid; return; } else { if(array_key_exists($this->cookiename, $_COOKIE)) { $buffer = $this->_unpackage($_COOKIE[$this->cookiename]); } else { throw new AuthException("No Cookie"); } } } public function set() { $cookie = $this->_package(); set_cookie($this->cookiename, $cookie, 0); } public function logout() { set_cookie($this->cookiename); } public function validate() { if(!$this->version || !$this->created || !$this->userid) { throw new AuthException("Malformed cookie"); } if ($this->version != $this->myversion) { throw new AuthException("Version mismatch"); } if (time() - $this->created > $this->expiration) { throw new AuthException("Cookie expired"); } else if ( time() - $this->created > $this->resettime) { $this->set(); } } private function _package() { $parts = array($this->myversion, time(), $this->userid); $cookie = implode($glue, $parts); return $this->_encrypt($cookie); } private function _unpackage($cookie) { $buffer = $this->_decrypt($cookie); list($this->version, $this->created, $this->userid) = explode($glue, $buffer); if($this->version != $this->myversion || !$this->created || !$this->userid) { throw new AuthException(); } } private function _encrypt($plaintext) { $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size ($td), MCRYPT_RAND); mcrypt_generic_init ($this->td, $this->key, $iv); $crypttext = mcrypt_generic ($this->td, $plaintext); mcrypt_generic_deinit ($this->td); return $iv.$crypttext; } private function _decrypt($crypttext) { $ivsize = mcrypt_get_iv_size($this->td); $iv = substr($crypttext, 0, $ivsize); $crypttext = substr($crypttext, $ivsize); mcrypt_generic_init ($this->td, $this->key, $iv); $plaintext = mdecrypt_generic ($this->td, $crypttext); mcrypt_generic_deinit ($this->td); return $plaintext; } private function _reissue() { $this->created = time(); } } |
||
Svara med citat |
Svara |
|
|