Для чого можна використовувати генератор випадкових чисел і слів?
Наприклад, випадковий пароль. Розглянутий нижче скрипт (швидше php код) дуже добре підходить для таких функцій, як ssl, створення інвайтів, створення автоматичного складного пароля і подальшого його відправки на мило і багато ін.
Також генератор можна використовувати як захисний код (або капча). Такий код може виводитися, наприклад, у вигляді картинки. Загалом, наведений нижче скрипт генерації, дуже корисний у чому. Куди його використовувати я залишаю на ваш розсуд.
Спочатку необхідно визначити область випадкових символів. Робити це будимо з допомогою двох функцій: range і array_merge()
range - ця функція створює діапазон значень, наприклад:
range("A", "Z") - створить діапазон від A до Z включно.
range("0", "9") - створить діапазон від 0 до 9 відповідно.
array_merge() - злиття масивів.
Створюємо змінну $code
$code= array_merge( range("A", "Z"), range("0", "9"));
вона зливає масиви, перераховані в її аргументи, в один великий масив і повертає результат.
Створюємо сеансовую змінну $_SESSION і прісваєваєм їй порожнечу
$_SESSION["code"] = " ";
Запускаємо цикл поки не досягне наш довільний код 5-і знаків.
for ($i = 0; $i < 5; $i++)
І нарешті, формуємо код:
$_SESSION["code"] .= $code[array_rand($code)];
Ну і перевіряємо працездатність нашого коду
echo $_SESSION["code"];
Ось як буде виглядати наш PHP код:
<?PHP
$code= array_merge( range("A", "Z"), range("0", "9"));
$_SESSION["code"] ="";
for ($i = 0; $i < 5; $i++)
$_SESSION["code"] .= $code[array_rand($code)];
?>
Ще один дуже цікавий момент:
Часто з захисного коду, для його кращого розпізнавання, викидають погано читабельні символи, такі як 0 O 1 J I ну і далі на ваш розсуд. Робиться це дуже просто.
$code= array_merge( range("A", "H"), array("K", "M", "N", "P"),range("R", "Z"), range("1", "9"));
У даному випадку я викинув I, J, L, O,0 і Q.
array - це ряд конкретних значень.