Как давить spambot'ы?

12
PA
На сайте с 03.05.2002
Offline
3
#11

Для различных гостевых книг, и прочих сервисов с e-mail где надо показывать e-mail, но не хочеться их подставлять можно предложить следующую конструкцию. Она состоит из трех страниц:

1-ая спрашивает e-mail и проверяет на корректность

2-ая вносит в базу (попутно разбивая на конструкции)

3-ая выводит результат

Если Грею будет интерестно, то могу это оформить в виде статьи и закомментировать код

Каждое слудующее сообщение - код одного из файлов. Удачи :-)))

Скрипт написан на ASP язык - JavaScript, но его можно достаточно лугко перенести под PHP и еще легче под JSP

С уважением Галушко Павел
PA
На сайте с 03.05.2002
Offline
3
#12

<%@ Language=JScript %>

<html>

<head>

<title>Боремся с почтовыми спамерами</title>

<script>

function sumb()

{

isemail = false;

em = document.all("email");

stem = new String(em.value)

if (stem == "")

{

alert("Вы не ввели E-mail");

}

else

{

if (stem.indexOf("@",1) != -1)

{

dog = stem.indexOf("@",1);

str1 = stem.substring(0,dog);

dog1 = dog+2;

if (stem.indexOf(".",dog1) != -1)

{

dot = stem.indexOf(".",dog1);

str2 = stem.substring(dog1-1,dot)

end = stem.length;

str3 = new String(stem.substring(dot+1,end));

if (str3.length > 0)

{

isemail = true;

}

}

}

if (isemail != true)

{

alert("Это не E-mail адрес")

}

else

{

document.frm.submit();

doSubmit = true;

}

}

}

</script>

</head>

<body>

<form id = frm action = anty2.asp method = post name = frm>

<INPUT id = "email" type="text" NAME="email" size= 20>

<INPUT type="button" value="Оправить" onclick = sumb()>

</form>

</body>

</html>

PA
На сайте с 03.05.2002
Offline
3
#13

<%@ Language=JScript %>

<!--Соединение с базой у каждого свое :-))) -->

<!-- #include Virtual = "conn.htm" -->

<%

LastRec = Server.CreateObject("ADODB.Recordset");

SQL = "SELECT * FROM test";

LastRec.Open(SQL,Conn,adOpenStatic,adLockReadOnly,adCmdText);

if (LastRec.BOF != true)

{

LastRec.MoveLast;

Last = LastRec("id").Value;

Last = Last +1;

}

else

{

Last = 1;

}

Session("Last") = Last;

stem = new String(Request.Form("email"))

dog = stem.indexOf("@",1);

str1 = stem.substring(0,dog);

dog1 = dog+2;

dot = stem.indexOf(".",dog1);

str2 = stem.substring(dog1-1,dot);

end = stem.length;

str3 = stem.substring(dot+1,end);

SQL = "INSERT INTO test (str1,str2,str3,id) VALUES ('"+str1+"','"+str2+"','"+str3+"',"+Last+")";

Conn.Execute(SQL);

LastRec.Close;

%>

<html>

<head>

<title>АнтиСПАМ!!!!!!!</title>

</head>

<body>

Внесли в базу, на следующей странице посмотрим результаты :-)))

<br><a href = anty3.asp>Результаты :-)))</a>

<script>

</script>

</body>

</html>

PA
На сайте с 03.05.2002
Offline
3
#14

<%@ Language=JScript %>

<!--Соединение с базой у каждого свое :-))) -->

<!-- #include Virtual = "conn.htm" -->

<%

MailRec = Server.CreateObject("ADODB.Recordset");

SQL = "SELECT * FROM test WHERE id ="+Session("Last");

MailRec.Open(SQL,Conn,adOpenStatic,adLockReadOnly,adCmdText);

%>

<html>

<head>

<title>Анти спам финал</title>

</head>

<body>

<script>

str1 = "<%

st = new String(MailRec("str1"));

str = st.split(" ");

stnew = "";

for (y=0; y < str.length; y++)

{

if (str[y] != "")

{

stnew = stnew+str[y]+" ";

}

}

str1 = new String(stnew);

str1 = str1.substring(0,str1.length-1);

Response.Write(str1)

%>";

str2 = "<%

st = new String(MailRec("str2"));

str = st.split(" ");

stnew = "";

for (y=0; y < str.length; y++)

{

if (str[y] != "")

{

stnew = stnew+str[y]+" ";

}

}

str1 = new String(stnew);

str1 = str1.substring(0,str1.length-1);

Response.Write(str1)

%>";

str3 = "<%

st = new String(MailRec("str3"));

str = st.split(" ");

stnew = "";

for (y=0; y < str.length; y++)

{

if (str[y] != "")

{

stnew = stnew+str[y]+" ";

}

}

str1 = new String(stnew);

str1 = str1.substring(0,str1.length-1);

Response.Write(str1)

%>";

dog = "@";

st = str1+dog+str2+"."+str3;

document.write("<a href=mailto:"+st+">"+st+"</a>")

</script>

</body>

</html>

YZ
На сайте с 10.04.2001
Offline
119
#15

Да помоему бесполезно что то против них делать, я сам пишу такие проги, вернее писал, так любой символ вытяну с html страницы. Лучшее решение это типа такой страницы http://www.kirov.ru/~yura/spam.htm , но сделать её так кб в 900-2500!!! У меня места мало, а то бы сделал. Пускай захлёбываются :) там же где то и прога лежит, для изготовления этого добра.

SS
На сайте с 31.08.2001
Offline
14
#16
Первоначальное сообщение от Yura_Z
Да помоему бесполезно что то против них делать, я сам пишу такие проги, вернее писал, так любой символ вытяну с html страницы.

Очевидно, что если речь о специализированной программе, "заточенной" под конкретный сайт, то против неё мало что сделаешь. Но большая часть спаммеров --- люди со способностями к производительному труду (в частности написанию программ)... эээ... ниже средних. И, следовательно, пользуются они готовыми решениями, которые "задавить" как раз можно.

А страница такая тоже покатит. :) В качестве дополнительной меры. :)

vmegap
На сайте с 03.02.2002
Offline
158
#17
Первоначальное сообщение от PaulAria


Если Грею будет интерестно, то могу это оформить в виде статьи и закомментировать код

Срасибо за скрипты. Статью тоже было бы интересно почитать.

С уважением,

Виктор

PA
На сайте с 03.05.2002
Offline
3
#18

Пожалуйста :-)))

Как только разберусь с работой обязательно пришлю статью :-)))

YZ
На сайте с 10.04.2001
Offline
119
#19

>Есть два способа продвинуть сайт на первое место в Yandex за один

>день... Только их никто не знает :-)))

За один день не знаю, а страницу с титлом "апоарн лпрьпрьб прльр" например, на первое место вывести очень легко. Вот только будет ли ее кто искать...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий