Jak wiemy co jakiś czas hasła do kont, które posiadamy w sieci powinny być zmieniane. Ponieważ ostatnio mnie naszła refleksja i nie chciało mi się na pałę wystukiwać "losowych" znaków to pomyślałem sobie, że napiszę maluteńki generator

Z tego co pamiętam to bezpiecznie jest zmieniać hasło co jakiś czasu (sugeruję co jeden miesiąc). Do czego może nam się to przydać? Odpowiednio przerabiając ten skrypt można go zastosować w większości serwisów, które udostępniają możliwość rejestrowania kont. Mam na myśli np. resetowanie hasła po akceptacji linka, który przyszedł w mailu do użytkownika.
Wyjaśnienie
Właściwie trzeba wyjaśnić tylko jedną rzecz. Jak ugryźć tablicę
$config['mode']? Jeżeli klucz z numerem
0 zwraca prawdę to do zestawu znaków dodawane są liczby. W przypadku
1 są to znaki specjalne. Ostatnie dwa klucze odpowiadają za małe (
2) i duże litery (
3).
Kod:<?php
// Konfiguracja
$config['mode'] = array(true, true, true, true); // Fajna tablica, nie?
$config['length'] = 8;
// Alfabet
$letters = 'abcdefghijklmnopqrstuvwxyz';
// Liczby
if($config['mode'][0])
{
$values = '0123456789'; // Można użyć tego: implode('', range(0, 9));
}
// Znaki specjalne
if($config['mode'][1])
{
$values .= '`~!@#$%^&*()_-=+<>?,.|\/\'";:[]{}';
}
// Małe litery
if($config['mode'][2])
{
$values .= $letters;
}
// Duże litery
if($config['mode'][3])
{
$values .= strtoupper($letters);
}
for($h = 0, $length = (strlen($values) - 1); $h < $config['length']; ++$h)
{
$random_symbols .= substr($values, mt_rand(0, $length), 1);
}
echo 'Losowe hasło na teraz brzmi: <pre>'.htmlspecialchars($random_symbols).'</pre>';
?>
Osoby, które chcą przetestować cały skrypt zapraszam do
dema. Aha i bym zapomniał! Lekką modyfikację tego kodu można znaleźć w tym
wątku.
Komentarze
Publikowane komentarze są prywatnymi opiniami użytkowników serwisu. Serwis nie ponosi odpowiedzialności za treść opinii. W trosce o zachowanie poziomu dyskusji wszystkie komentarze podlegają akceptacji przed ich publikacją dlatego proszę cierpliwie czekać aż komentarz zostanie opublikowany.
Dodaj komentarz
Zezwolono używać:
BBCode
Zabroniono używać:
znaczników HTML
pomek