Visa föregående ämne :: Visa nästa ämne |
Startad av: |
Meddelande |
mbrodin

Medlem i: 2388 dagar Från: Halmstad
Status: Offline
#739081
|
Skrivet: 2015-03-14 18:47
Ämne: cr_sessionid()
|
|
|
Hej,
jag har under det senaste halvåret haft problem att hitta en kodsnutt som skulle ge mig det perfekta session_id jag skulle behöva. Det ska vara kort, 20 tecken långt och lätt att identifiera, och varje kod ska ge ett nytt id utan att man ska behöva se efter i databasen om det redan finns ett sträng med detta id, därför kombinerade jag ordesn SE{2}-TIDSTÄMPEL{10}-AUTOGEN-CHAR{3}AUTOGEN-NUM{2}, detta kommer därför genera endast ett id även på de mest aktiva sajterna. Ja, hoppas ni förstår vad jag menar!
SE = Session
Nedan följer koden:
1: /** 2: * 3: * Generates a unique session id for visitors on the site. 4: * 5: * @return string 6: * 7: * @autohor Mikael Brodin <mikael.brian.brodin@gmail.com> 8: * 9: **/ 10: function cr_sessionid(){ 11: 12: $range_a = range('A', 'Z'); 13: shuffle($range_a); shuffle($range_a); 14: $c = array_rand($range_a, 3); 15: 16: $range_0 = range(0, 9); 17: shuffle($range_0); 18: $n = array_rand($range_0, 2); 19: 20: // This will output someting like "SE-1425954714-RBF02" 21: return 'SE-'. time() .'-'. $range_a[$c[0]].$range_a[$c[1]].$range_a[$c[2]] .''. $range_0[$n[0]].$range_0[$n[1]]; 22: }
|
Vill man ha ännu mer random, gör så här:
1: /** 2: * 3: * Generates a unique session id for visitors on the site. 4: * 5: * @return string 6: * 7: * @autohor Mikael Brodin <mikael.brian.brodin@gmail.com> 8: * 9: **/ 10: function cr_sessionid(){ 11: 12: $range_a = range('A', 'Z'); 13: shuffle($range_a); shuffle($range_a); 14: $c = array_rand($range_a, 3); 15: 16: $range_0 = range(0, 9); 17: shuffle($range_0); 18: $n = array_rand($range_0, 2); 19: 20: shuffle($range_a); 21: $s = array_rand($range_a, 2); 22: 23: // This will output someting like "SE-1425954714-RBF02" 24: return $range_a[$s[0]].$range_a[$s[1]] .'-'. time() .'-'. $range_a[$c[0]].$range_a[$c[1]].$range_a[$c[2]] .''. $range_0[$n[0]].$range_0[$n[1]]; 25: }
|
Hoppas någon får användning av denna koden.  |
|
|
_________________ Min blogg Mitt gamla konto Mikael Brodin.  |
Till toppen på sidan |
|
intedinmamma
Medlem i: 4265 dagar Från: Göteborg
Status: Offline
#739099
|
Skrivet: 2015-03-16 11:33
Ämne:
|
|
|
För referens så genereras sessions-id't såhär som standard, vilket "alltid" är tillräckligt.  |
|
|
_________________ Statistiskt sett? Kanske. |
Till toppen på sidan |
|
Tarre
Medlem i: 5737 dagar
Status: Offline
#740181
|
Skrivet: 2015-12-24 23:16
Ämne:
|
|
|
när du använder flera variabler för att skapa en sträng så bör du använda sprintf |
|
|
|
Till toppen på sidan |
|
|