русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Генератор випадкових чисел і слів в PHP

Для чого можна використовувати генератор випадкових чисел і слів?

Наприклад, випадковий пароль. Розглянутий нижче скрипт (швидше 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 - це ряд конкретних значень.

Переглядів: 4526

Повернутися взміст


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн