09:45 

Объ спаме

-DRACO-
Однажды в огромных количествах стал сыпаться однотипный спам, с похожим оформлением. Каждый день по 5-10 сообщений. Примечателен он был ещё и тем, что в поле "кому" всегда стояли левые адреса, и часто повторяющиеся.

Решил обмазаться фильтром. Потыкал, поковырял. И решил вносить встречающиеся адреса по условию "если адресат содержит". Адреса хоть и повторяются, но часто попадаются новые. Из-за чего у меня примерно раз в неделю возникала задачка добавить новые встретившиеся адреса в условие, через "или". Со временем формула стала гигантской, в десятки строк.


Сначала я хотел найти более простой способ добавлять адреса. Может быть, тупо список адресов скормить куда-нибудь кому-нибудь чему-нибудь. Не нашёл в летучей мыши такой возможности. А список всё рос и рос.


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


Недавно дочитал книгу вот этого фанатика-свободчика про программирование и паскаль. Узнал про указатели и списки, почти осилил, но пока плохо представляю, зачем это может пригодиться. Оттуда же узнал про другие его статьи. Пишет хорошо и здраво. Но фанатизм иногда прёт из всех щелей.
У него есть писанина про спам, которая тоже недоумевает, кто те люди, что обращают внимание на спам.

@темы: Проги, Маразм, Картинки, Интернет, Из жизни

URL
Комментарии
2016-05-24 в 10:36 

Дрег Ден
Я не сплю, я перешел в режим замедленного функционирования
Узнал про указатели и списки, почти осилил, но пока плохо представляю, зачем это может пригодиться.
Указатели могут понадобится, скажем, если тебе нужно значение одной переменной привязать к другой. Например, у тебя есть штук 30 полей, и каждое из них должно отображать постоянно обновляющееся значение определенной переменной. Мне в свое время пришлось писать эмуляцию указателей именно для этого :)

Ну а списки понятно зачем - например, для организации какой-либо очереди.

2016-05-24 в 18:37 

-DRACO-
Например, у тебя есть штук 30 полей, и каждое из них должно отображать постоянно обновляющееся значение определенной переменной
Массив в такой задаче не подойдёт?
Указатели, как я понял, нужны для создания динамических переменных. Чтобы программно захватывать всю память и вешать комп. Но всё равно сами по себе они бессмысленны и аналогичны простым переменным. И в полной мере они себя проявляют в списках. Или есть какое-то несписочное применение?

Ну а списки понятно зачем - например, для организации какой-либо очереди.
Ну вот, где эта очередь может быть? У меня нет идей.

URL
2016-05-24 в 19:23 

Дрег Ден
Я не сплю, я перешел в режим замедленного функционирования
Массив в такой задаче не подойдёт?
кратко

запутанно

Еще одно применение (хотя в этом я не уверен, могу ошибаться) - передача данных между процедурами или даже программами. Ты можешь либо передать переменную размером сотни мегабайт, либо лишь адрес, где она хранится (который занимает 4-8 байта).

Ну вот, где эта очередь может быть? У меня нет идей.
Ну, например, е-мэйлы, что ты отправляешь через почтовый сервер :). Или отправка документов на печать. Или набор файлов, что ты копируешь. Другими словами, очереди используются везде, где запросы могут поступать быстрее, чем обрабатываться.
Есть также альтернатива очереди, называется стак. Если очередь - первый-зашел-первым-вышел, то стак - первый-зашел-последним-вышел. Тут примеры использования немного сложнее придумать. Например, таким списком служат модальные окна.

А списки - весьма неплохая альтернатива массивам. Допустим, тебе надо удалить элемент 4 из набора:
1 2 3 4 5 6 7 8 9
При массиве тебе придется пройтись по элементам, начиная с 5 и до 9, сдвигая их на позицию вперед, после чего обрезать/обнулить последний элемент.
А в списке тебе лишь достаточно для числа 3 поправить ссылку на следующий элемент (ну и для 5 на предыдущий, если список двухсторонний). Когда массив разбухает до тысяч и миллионов элементов, это дает существенный буст к производительности.

2016-05-24 в 22:43 

-DRACO-
переменную размером сотни мегабайт
Ну это экзотика.

Есть также альтернатива очереди, называется стак.
Про стек и очередь в той книге было рассказано.

URL
2016-05-25 в 20:41 

Анамезонный крыс
Ведь жизнь – это единственная яркая сторона смерти. ©
> как так делают, что адресовано не мне, а приходит мне

telnet your.smtp.com 25
HELO i.am.spammer.name
MAIL FROM: spam@spammer.name
RCPT TO: you@yourmail.com
DATA
From: info@microsoft.com
To: mark@canonical.com

Enlarge your penis now!

.


Примерно так.

2016-05-25 в 20:46 

-DRACO-
И какой смысл так делать? Это же даёт простой способ отфильтровать их.

URL
2016-05-25 в 20:50 

Анамезонный крыс
Ведь жизнь – это единственная яркая сторона смерти. ©
Потому что рассылающий робот часто делается на коленке лишь бы хоть как-то слал, и умеет подставлять только rcpt to.

2016-05-25 в 20:52 

Анамезонный крыс
Ведь жизнь – это единственная яркая сторона смерти. ©
И кстати способ не совсем надёжный, легальные рассылки тоже могут подставлять только rcpt to, а вместо заголовка To: ставить что-то вроде undisclosed-recipients;

2016-05-25 в 20:55 

Дрег Ден
Я не сплю, я перешел в режим замедленного функционирования
-DRACO-, только имей в виду, что (хоть и редко) некоторые относительно порядочные сайты тоже присылают уведомления с неправильным е-мэйлом получателя.
Пример - ютубовские уведомления

Зачем так делают - не представляю.

   

Хроники дракона

главная