Sawer |
Дата: Понедельник, 18.06.2012, 01:16 | Сообщение # 1
|
Новичок
Сообщений: 26
Статус: Offline
|
Думаю ничего объяснять, ибо все и так понятно. А вот собственно и сам исходник: Code <? error_reporting(7); // Конфигурация $clcolor=Array( 1 => "#339900",// Цвет улучшений чейнжлога 2 => "#006699",// Цвет внимания чейнжлога 3 => "#990000" // Цвет ухудшения чейнжлога ); $beta=0;// Тестовая версия:1-да/0-нет $ver=1.1;// Версия программы числом if($beta==1)$ver.=" BETA"; $version="(ver. $ver)";// Версия программы в скобках с комментами $copyright="<center><b><a href=\"http://xz-team.info/tools/passgen\">Powered by Xz-PassGen</a> (c) $ver</b></center>"; //Копирайт "Powered by FreeBieGen" //========== function menu($link,$text,$separator){// Функция показа меню return "<b><a href=\"$link\">$text</a></b> $separator";} $menu=menu("index.php?page=jsgen","Генератор JS","| ").menu("index.php?page=phpgen","Генератор PHP","| ").menu("index.php?page=faq","ЧаВо","| ").menu("index.php?page=changelog","Лог изменений","| ").menu("index.php?page=about","О программе",false); //Меню echo $menu;// Выводим меню echo "\n<hr>"; switch($_GET["page"]){ case "phpgen": echo "<b>Генератор паролей [PHP] $version</b><br><br>"; echo'<form action="" method="post"> <table width="300" cellpadding="0" cellspacing="0"> <tr> <td align="left" style="padding:2px;"><b>Длина пароля: </b></td> <td align="right" style="padding:2px;"> <select name="len" style="border:1px solid #FFFFFF;"> <option value="5">5 символов</option> <option value="8">8 символов</option> <option value="16">16 символов</option> <option value="24">24 символа</option> <option value="32">32 символа</option> </select> </td> </tr> <tr> <td align="left" style="padding:2px;"><b>Знаки (!"№;%:?*): </b></td> <td align="right" style="padding:2px;"><input name="simbol" type="checkbox" value="1" checked="checked"/></td> </tr> <tr> <td align="left" style="padding:2px;"><b>Верхний регистр: </b></td> <td align="right" style="padding:2px;"><input name="up_r" type="checkbox" value="1" checked="checked"/></td> </tr> <tr> <td align="left" style="padding:2px;"><b>Нижний регистр: </b></td> <td align="right" style="padding:2px;"><input name="down_r" type="checkbox" value="1" checked="checked"/></td> </tr> <tr> <td align="left" style="padding:2px;"><b>Цифры в пароле: </b></td> <td align="right" style="padding:2px;"><input name="cf" type="checkbox" value="1" checked="checked"/></td> </tr> <tr> <td style="padding:2px;" colspan="2"><input type="submit" value="Сгенерировать пароль" /></td> </tr> </table> </form>'; if(isset($_POST["len"])): $code = ""; if(isset($_POST["simbol"])) $code .= "!№;%:?*()_+=-@#$^&{}[]|/>\<"; if(isset($_POST["up_r"])) $code .= "QWERTYUIOPASDFGHJKLZXCVBNM"; if(isset($_POST["down_r"])) $code .= "qwertyuiopasdfghjklzxcvbnm"; if(isset($_POST["cf"])) $code .= "1234567890"; if(strlen($code) > 1) {$len = (intval($_POST["len"]) > 32) ? 5 : intval($_POST["len"]); $cl = strlen($code)-1; $password = ""; while($len--) $password .= $code[rand(0,$cl)]; echo'<b>Сгенерированный пароль: </b><BR> <input type="text" size="37" value="'.$password.'">';
}else{ echo "<center><font color=\"red\">Вами не был выбран ни один параметр генерации, пожалуйста выберите его.</font></center>"; }endif; break; case "jsgen": echo "<b>Генератор паролей [JS] $version</b><br><br>"; ?> <script language="JavaScript"> with (document) { writeln('<form name=passgen>' + '<input name=upper type=checkbox value=0> <b>Заглавные буквы</b><br>' + '<input name=lower type=checkbox value=1> <b>Маленькие буквы</b><br>' + '<input name=digit type=checkbox value=2> <b>Цифры</b><br><br>Число символов в пароле (3-30): ' + '<select name=numbers><option value=3 selected>3</option>'); for (j = 4; j <= 30; j++) { writeln('<option value=' + j + '>' + j + '</option>'); } writeln('</select><br><br>' + '<input type=button value=Генерировать ... onClick=generate()> Ваш пароль: ' + '<input name=getback size=40 type=text value=""></form>'); } // массивы символов upp = new Array('','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'); low = new Array('','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'); dig = new Array('','0','1','2','3','4','5','6','7','8','9'); // -------------------------------------------------------------------------------------------------------------------------------------------- ------------------ function rnd(x,y,z) { var num; do { num = parseInt(Math.random()*z); if (num >= x && num <= y) break; } while (true); return(num); } // -------------------------------------------------------------------------------------------------------------------------------------------- ------------------ function genArray() { var pwd = ''; var res, s; var k = 0; var n = document.passgen.numbers.value; var pass = new Array(); var w = rnd(30,80,100); for (var r = 0; r < w; r++) { if (passgen.upper.checked) { res = rnd(1,26,100); pass[k] = upp[res]; k++; } if (passgen.lower.checked) { res = rnd(1,26,100); pass[k] = low[res]; k++; } if (passgen.digit.checked) { res = rnd(1,10,100); pass[k] = dig[res]; k++; } } for (var i = 0; i < n; i++) { s = rnd(1,k-1,100); pwd+= pass[s]; } document.passgen.getback.value = pwd; }
// -------------------------------------------------------------------------------------------------------------------------------------------- ------------------ function generate() { if (passgen.upper.checked || passgen.lower.checked || passgen.digit.checked) { genArray(); } else { alert('Должен быть выбран тип символов!'); passgen.upper.checked = true; } } </script> <? break; case "faq": echo'<b><abbr title="Часто задаваемые вопросы" style="cursor:help;">ЧаВо</abbr> по генератору никнеймов</b><br><br>'; echo "<table border=1 style=\"border:1px black;\"><td>"; echo "<b>Легенда:</b><br><b>Q</b> - question (вопрос)<br>\n<b>A</b> - answer (ответ)"; echo "</td></table>"; echo ' <b>Q</b>: Как пользоваться генератором паролей?<br> <b>A</b>: Пользоватья нашим генератором очень просто. Для начала выберите необходимую версию генератора в меню, на данный момент их две: PhpPassGen и JSPassGen. На страницы генерации поставте галочки напротив необходимых вам символов для генерации и выберите количество знаков в пароле, далее кликните на кнопку для генерации пароля, которая находится ниже. <br><br> <b>Q</b>: В чем отличие между PHP и JS версиями?<br> <b>A</b>: Отличие между этими двумя версиями заключается в следующем: генерация пароля в версии PHP осуществляется посредством обработки PHP срипта сервером, а в JS версии генерация осуществляется посредством обработки JS скрипта браузером, т.е. генерация осуществляется на компьютере пользователя, который выбрал генерацию скриптом JS. <br><br> <b>Q</b>: Это окончательная версия генератора или он еще будет дорабатываться?<br> <b>A</b>: Это неокончательная версия, поэтому генератор будет улучшаться с каждой новой версией. <br><br>'; break; case "changelog": echo "<b><abbr title=\"Лог изменений\" style=\"cursor:help;\">ChangeLog</abbr> генератора паролей.</b><br><br>"; echo "<table border=1 style=\"border:1px black;\"><td>"; echo "<b>Легенда:</b><br><font color=\"$clcolor[1]\">[+]</font> - плюсы/добавлено<br>\n<font color=\"$clcolor[3]\">[-]</font> - минусы/убрано<br>\n<font color=\"$clcolor[2]\">[*]</font> - внимание"; echo "</td></table>"; echo "<b>[FreeBieGen 1.1]</b><br> <font color=\"$clcolor[1]\">[+]</font>Были исправлены некоторые незначительные ошибки в коде обоих генераторов.<br> <font color=\"$clcolor[1]\">[+]</font>Слияние двух генераторов успешно завершено.<br> <font color=\"$clcolor[2]\">[*]</font>Начато слияние двух версий генераторов паролей в один полноценный сервис.<br> <b>[FreeBieGen 1.0]</b><br> <font color=\"$clcolor[1]\">[+]</font>Написан генератор паролей на JS.<br> <font color=\"$clcolor[2]\">[*]</font>Начата работа над генератором паролей JS.<br> <font color=\"$clcolor[1]\">[+]</font>Написан генератор паролей на PHP.<br> <font color=\"$clcolor[2]\">[*]</font>Начата работа над генератором паролей PHP.<br> "; break; case "about": echo "<b>Генератор паролей $version</b><br><br>"; echo "Над программой работал <a href=\"http://xz-team.info\">RuFude32</a>.<br>Исходный код генератора открыт.<br>(c) 2009-2012 Все права защищены.<br><p align=\"right\">PassGen $ver (c) 2010-2012</p>"; break; default: echo"<b>Приветствие!</b><br><br>"; echo"Добро пожаловать в Онлайн Генератор паролей!\n<br>\nПожалуйста,выберите одну из вышеперечисленных в меню опцию."; break; } echo $copyright; // Выводим копирайт ?> Пример работы: http://xz-team.info/tools/passgen/ Переделывайте код на свое усмотрение ЗЫ от +сика не откажусь
Сообщение отредактировал Sawer - Понедельник, 18.06.2012, 08:34 |
|
|
|
shadowter |
Дата: Четверг, 09.08.2012, 05:20 | Сообщение # 2
|
Новичок
Сообщений: 27
Статус: Offline
|
Это что то типо генератора радномных цифр?:D
Pcuxoz...
|
|
|
|