Предполагается что читатель знаком со статьей "Nick Flooding" и подумав
что флудить чат какими-то цифрами полный отстой, решил прочитать
продолжение:) Сдесь я написал о том как можно генерировать почти
настоящие имена, например вы сами выбираете из чего будет состоять
ник: буквы, цифры, другие символы. В рассмотренном ниже
примере, скрипт генерит ник из восьми символов, причем первая буква
заглавная, а остальные прописные(Они отмечены галочками). Данный
скрипт можно использовать взамен того который генерирует случайное
число, тогда флуд будет больше похож на действия человека а не
скрипта.
Пример работы скрипта, код с комментариями
приведен ниже
Generated nick:
Рассотрим на примере кода главной
страницы чата:
<FORM
action=http://www.domen.ru/cgi-bin/chat/chat.cgi method=post
name="myform"> <!-- Еще тут может быть форма для ввода пароля,
выбор цвета и т.д. --> <input
type=text name=nick size=20> <!--
Форма в которую вписывается ник при заходе в чат
--> <input type=button value="Generate Nick"><!-- В примере на кнопке написано Generate Nick, в чате может быть по
другому --> </form>
А так выглядит этот код со "встроенным" скриптом написанным
именно под него (я имею ввиду что в скрипте использованы те же
названия форм), хоть он с виду и большой, разобраться не
сложно даже тому кто не знает Java-script. Зеленым цветом написаны
комментарии, их можно стереть.
<!-- Скрипт,
который генерирует случайный набор символов с заданными параметрами.
Там где указан набор символов, например var lowerChars =
"abcdefghijklmnopqrstuvwxyz" английские можно поменять на русские
--> <SCRIPT LANGUAGE="JavaScript"> <!--
Begin function getRandomNum(lbound, ubound) { return
(Math.floor(Math.random() * (ubound - lbound)) +
lbound); } function getRandomChar(number, lower, upper, other,
extra) { var numberChars = "23456789"; var lowerChars =
"abcdefghijklmnopqrstuvwxyz"; var upperChars =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var otherChars =
"`~!@#$%^&*()-_=+[{]}\\|;:'\",<.>/? "; var charSet =
extra; if (number == true) charSet += numberChars; if
(lower == true) charSet += lowerChars; if (upper ==
true) charSet += upperChars; if (other == true) charSet +=
otherChars; return charSet.charAt(getRandomNum(0,
charSet.length)); } function getnick(length, extraChars,
firstNumber, firstLower, firstUpper, firstOther, latterNumber,
latterLower, latterUpper, latterOther) { var rc = ""; if
(length > 0) rc = rc + getRandomChar(firstNumber, firstLower,
firstUpper, firstOther, extraChars); for (var idx = 1; idx <
length; ++idx) { rc = rc + getRandomChar(latterNumber,
latterLower, latterUpper, latterOther, extraChars); } return
rc; }
// End
--> </script>
<center> <table
width=80% border=0> <tr align=center>
<td> <FORM
action=http://www.domen.ru/cgi-bin/chat/chat.cgi method=post
name="myform"><!-- Имя формы можете заменить на свое, только не
забудьте везде поменять, далее выделено желтым цветом
--> <table border=0><tr>
<td>
First character can be: <!-- Каким должен быть первый символ
--> </td><td> <input type=checkbox
name=firstNumber>Number <input type=checkbox
name=firstLower>Lowercase <input type=checkbox
name=firstUpper checked>Uppercase <input
type=checkbox
name=firstOther>Other
</td></tr><tr><td>
Latter
characters can be: <!-- Какими должны быть
остальные символы--> </td><td> <input
type=checkbox name=latterNumber>Number <input type=checkbox
name=latterLower checked>Lowercase <input
type=checkbox name=latterUpper>Uppercase <input
type=checkbox
name=latterOther>Other </td></tr><tr><td>
Длина
ника: </td><td> <!-- Длина
ника, в данном случае указано 8 символов --> <input
type=text name=nickLength size=3 value=8>
<!-- Если требуется использовать какие-то другие
символы, то их можно вписать сюда --> <!-- Extra nick
characters: --> Другие символы: <input
type=text name=extraChars
size=20>
Generated
nick: <input type=text name=nick size=20>
<!-- Форма в которую записывается,
сгенерированный ник, называется nick, не забудьте что это имя тут в
качестве примера, в разных чатах оно разное: user, username,
nick..., поэтому скрипт пишите под название в вашем чате
-->