special

This webpage has been robot translated, sorry for typos if any. To view the original content of the page, simply replace the translation subdomain with www in the address bar or use this link.

Anti-chat или "nick flooding" ч.2

Anti-chat продолжение, либо Nick Flooding II

Предполагается что чтец знаком со статьей "Nick Flooding" также подумав что флудить чат какими-то цифрами наполненный отстой, решил прочитать продолжение:) Сдесь мы написал о том как можно генерировать приблизительно настоящие имена, например вы сами выбираете из чего будет состоять ник: буквы,  цифры, другие символы. В рассмотренном ниже примере, скрипт генерит ник из восьми символов, причем первая знак заглавная, а остальные прописные(Они отмечены галочками). Этот скрипт разрешено использовать в обмен того какой генерирует случайное количество, в то время флуд станет больше похож на действия человека но никак не скрипта.

Пример труда скрипта, код с комментариями приведен ниже

Первый символ: Number Lowercase Uppercase Other
Остальные символы:  Number Lowercase Uppercase Other
Длина ника: Другие символы:
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>


</td></tr></table>
</td></tr> <tr align=center> <td>

Generated nick: 
<input type=text name=nick size=20> <!-- Форма в которую записывается, сгенерированный ник, именуется nick, никак не забудьте что это имя тут в качестве образца, в разных чатах оно разное: user, username, nick..., поэтому скрипт пишите под название в вашем чате -->

<!-- Функция, выполняемая при нажатии кнопки -->
<input type=button value="Generate Nick" onClick="
document.myform.nick.value =
getnick(document.myform.nickLength.value, document.myform.extraChars.value,
document.myform.firstNumber.checked, document.myform.firstLower.checked,
document.myform.firstUpper.checked, document.myform.firstOther.checked,
document.myform.latterNumber.checked, document.myform.latterLower.checked,
document.myform.latterUpper.checked, document.myform.latterOther.checked);">
</form> <!-- Не забудьте написать закрывающийся тег form -->
</td></tr></table>

Остается только вписать в автозагрузку страницы выполнение этого скрипта также отправку данных на сервак (submit). Так станет выглядеть исток кода:
<HTML><HEAD><TITLE>Chat Flooder</TITLE>

<script Language="JavaScript">
function submit() {
Timer= setTimeout(" (document.myform.submit())",1000);
}
</script>

</HEAD>

<BODY  onload="document.myform.nick.value =
getnick(document.myform.nickLength.value, document.myform.extraChars.value,
document.myform.firstNumber.checked, document.myform.firstLower.checked,
document.myform.firstUpper.checked, document.myform.firstOther.checked,
document.myform.latterNumber.checked, document.myform.latterLower.checked,
document.myform.latterUpper.checked, document.myform.latterOther.checked);

submit()">

Далее самолично код страницы также скрипт...

Рабочие примеры никак не выкладываю специально т.к. их придется все пора апгрейдить, во-вторых, мы мыслю что флудить чаты - плохо:)

Предыдущая статья


Дата створення/оновлення: 25.05.2018

';>