Mithgol the Webmaster ([info]mithgol) wrote,
@ 2004-07-27 09:05:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Current mood: content
Current music:Vibe — Lonely Doomer

Фундаментальное огораживание: технические подробности
С глубокой и заслуженной радостью сообщаю, что только что я закончил забанивание всех 1567 читателей LJ-дневника apazhe: ранее я разбирался с их провокациями поодиночке, а сейчас мне это надоело, так что теперь я просто не принимаю их.

(В прошлом году я уже производил эту профилактическую меру — но, видимо, её придётся повторять регулярно.)

А теперь коротко расскажу о том, как именно следует просто и быстро забанить более полутора тысяч LJ-читателей. (Мысль о том, что всех их можно забанить вручную, мы отметём как неразумную — пускай, безусловно, и реализуемую.)

Для реализации этой задачи следует преодолеть ровно три чисто технических проблемы.

Первая проблема состоит в том, что на странице сведений об LJ-дневнике apazhe имена читателей разделены запятыми и пробелами, а в консоль команду на забанивание следует вводить в форме „ban_set имя“, причём каждую с новой строки.

Эту проблему нам помогает разрешить небольшой (менее двадцати строк!) гипертекстовый документ:

<html>
<head>
<title>Comma-separated banlist</title>
<script type="text/javascript">
function RenderBanlist(){
   var targetString = document.forms['banform'].elements['banlist'].value;
   targetString = targetString.replace(/[,]\s/g, '\nban_set ');
   document.forms['banform'].elements['banlist'].value = targetString;
};
</script>
</head>
<body>
<form name="banform">
<textarea name="banlist" style="width: 90%; height: 80%;"></textarea>
<br>
<input type="button" onClick="RenderBanlist();" value="Render banlist">
</form>
</body>
</html>

Сохраняем этот код в HTML-файл на диске, а потом открываем в одном окне браузера этот HTML-файл, в другом окне список апачечитателей, копируем список в текстовое поле и нажимаем кнопку “Render banlist”. Вуаля! Запятые со следующими за ними пробелами оказались автоматически заменены на начало новой строки со словом “ban_set”. Первая проблема разрешена.

Вторая проблема состоит в том, что LJ-консоль просто не сможет за один присест обработать более полутора тысяч “ban_set”-команд. Эта проблема преодолевается очевидным образом: из нашего текстового поля в LJ-консоль следует копировать не сразу всю кучу забанивающих команд, а небольшими группами по 20–100 строк. И после каждой нажимать “execute”.

Третья проблема состоит в том, что среди читателей apazhe есть мои LJ-friends. Их я разбанил обратно. (А если кого и не разбанил, то я же их LJ-дневники читаю: они мне напишут, ежели чего...)

И больше никаких проблем.




(Post a new comment)


[info]drgr
2004-07-26 11:16 pm UTC (link)
Ого! Какие жесткие превентивные меры!

(Reply to this) (Thread)

Разве?
[info]mithgol
2004-07-26 11:25 pm UTC (link)
На планете несколько миллиардов людей, которые никогда не смогут написать в мой LJ-дневник. Присоединить к ним ещё тысячу-другую — в этом нету ничего жёсткого.

(Reply to this) (Parent)(Thread)

Re: Разве? - [info]drgr, 2004-07-26 11:28 pm UTC

[info]hard2know
2004-07-26 11:19 pm UTC (link)
Рекомендую поставить дома видеонаблюдение, периметральные датчики, обмотать колючей проволкой забор, что бы читатели Апача не смогли, если что - залезть к вам в дом. :)

(Reply to this) (Thread)


[info]drgr
2004-07-26 11:25 pm UTC (link)
А нефиг им местоположение дома выдавать.

(Reply to this) (Parent)

а вот глупо так шутить
[info]mithgol
2004-07-27 12:00 am UTC (link)
Апач тут не при чём. Защитой жилища от уголовников не следует пренебрегать даже в том случае, когда они не читают apazhe. Это никакой не повод для иронии. Периметральные датчики — это всё чушь и фантазии; а вот простая бытовая возможность сколько-нибудь гарантированно прикончить грабителя или убийцу должна быть обеспечена. Ну а как без этого? В России ведь живём.

(Reply to this) (Parent)(Thread)

Re: а вот глупо так шутить - [info]hard2know, 2004-07-27 12:05 am UTC
Эти их занятия мне не столь важны - [info]mithgol, 2004-07-27 12:19 am UTC
А ты сделай по примеру Варракса. - [info]fornit1, 2005-07-23 09:25 am UTC

[info]leo431
2004-07-27 01:02 am UTC (link)
Первая проблема состоит в том, что на странице сведений об LJ-дневнике apazhe имена читателей разделены запятыми и пробелами, а в консоль команду на забанивание следует вводить в форме „ban_set имя“, причём каждую с новой строки.

Учишься программировать? Поздравляю %)

(Reply to this) (Thread)

Уже давно научился, слава Богу
[info]mithgol
2004-07-27 05:14 am UTC (link)
Дык я уже давно этому научился, слава Богу. У меня диплом инженера-программиста. И работаю я инженером-программистом.

(Reply to this) (Parent)(Thread)

Re: Уже давно научился, слава Богу - [info]iwsrus, 2005-07-19 11:31 pm UTC
Да ну? - [info]mithgol, 2005-07-20 04:31 am UTC

[info]thorppweber
2004-07-27 01:36 am UTC (link)
Чудовищная по своей негуманности… трата времени. Всё реализуется в простейшем notepad за 4 секунды.

(Reply to this) (Thread)

Может быть.
[info]mithgol
2004-07-27 05:11 am UTC (link)
Каждый да пользуется тем инструментом, который более удобен лично ему. Кроме того, я вовсе не уверен, что „простейший Notepad“ способен массово добавить перевод строки.

(Reply to this) (Parent)(Thread)

Re: Может быть. - [info]thorppweber, 2004-07-27 06:03 am UTC
Это да. - [info]mithgol, 2004-07-27 07:36 am UTC
Re: Может быть. - [info]lostpoint, 2005-07-19 10:24 am UTC

[info]dovlet
2004-07-27 01:48 am UTC (link)
Ужас какой. Чем же этот человек так перед Вами провинился?

(Reply to this)


[info]f_snork
2004-07-27 02:20 am UTC (link)
Мицгол.
Будьте добры, сделайте такую малость.
Уберите мой основной журнал из списка френдов.

Вам, я думаю, это несложно.
А мне будет приятно.

Я читаю Апача, я писала про Вас нелециприятные вещи, и вообще Вы мне очень не нравитесь.

Спасибо за внимание.

[info]aysaa

(Reply to this) (Thread)


[info]f_snork
2004-07-27 02:21 am UTC (link)
Нелицеприятные, разумеется. Очепяталась.

(Reply to this) (Parent)(Thread)

Разъяснение - [info]mithgol, 2004-07-27 03:55 am UTC
Re: Разъяснение - [info]f_snork, 2004-07-27 04:43 am UTC
А в чём проблема-то? - [info]mithgol, 2004-07-27 05:21 am UTC
Re: А в чём проблема-то? - [info]f_snork, 2004-07-27 05:24 am UTC
* жизнерадостно * - [info]mithgol, 2004-07-27 08:24 am UTC
Re: * жизнерадостно * - [info]f_snork, 2004-07-27 01:16 pm UTC
мой вам добрый совет :) - [info]kesrit, 2004-07-29 11:19 am UTC
Re: мой вам добрый совет :) - [info]f_snork, 2004-07-29 11:22 am UTC
согласна - [info]kesrit, 2004-07-29 11:29 am UTC
Re: согласна - [info]f_snork, 2004-07-29 11:34 am UTC
представьте на минутку - [info]kesrit, 2004-07-29 12:07 pm UTC
Re: представьте на минутку - [info]f_snork, 2004-07-29 12:10 pm UTC
спасибо за заботу - чувствую прекрасно - [info]kesrit, 2004-07-29 12:18 pm UTC
Re: согласна - [info]nelis, 2004-07-29 04:25 pm UTC
Re: согласна - [info]doktop_doktop, 2004-07-29 08:09 pm UTC
Re: согласна - [info]nelis, 2004-07-30 03:04 pm UTC
Re: согласна - [info]doktop_doktop, 2004-07-29 08:16 pm UTC
Я тоже это заметил. Но и на это есть рецепт. - [info]mithgol, 2005-03-19 08:42 am UTC
Re: согласна - [info]uele, 2005-07-21 06:43 am UTC
Не банишь? - [info]rak2004, 2004-09-13 05:49 am UTC
Re: Не банишь? - [info]f_snork, 2004-09-13 06:21 am UTC
Я оканчиваю ваш диалог. - [info]mithgol, 2004-09-13 08:38 am UTC

[info]vedm
2004-07-27 03:42 am UTC (link)
http://www.livejournal.com/users/vedm/44365.html?mode=reply
Интересно Ваше мнение. Заранее благодарю.

(Reply to this) (Thread)

Ok.
[info]mithgol
2004-07-27 05:15 am UTC (link)
Хорошо, я уже ответил на вопросы опроса.

(Reply to this) (Parent)(Thread)

Спасибо - [info]vedm, 2004-07-27 01:56 pm UTC

[info]shajtanka
2004-07-27 05:17 am UTC (link)
а можно меня тоже забанить!уж больно компания подобралась хорошая.
и вообше новый жизненный опыт!
забаньте меня пожалуйста!

(Reply to this) (Thread)

Ладно!
[info]mithgol
2004-07-27 07:28 am UTC (link)
Ежели добровольно, то пожалуйста... User shajtanka (1400702) banned from mithgol.

(Reply to this) (Parent)


[info]moshe_pigstein
2004-07-27 05:24 am UTC (link)
ну раз и петренку забанили, то и меня заодно занесите в списочек, пожалуйста.
а то как-то некузяво получается.

(Reply to this) (Thread)

А сейчас получится кузяво.
[info]mithgol
2004-07-27 07:31 am UTC (link)
С радостью.

User moshe_pigstein (1534274) banned from mithgol.

(Reply to this) (Parent)


[info]tucker102
2004-07-27 09:33 am UTC (link)
очень полезная заметка! спасибо!

(Reply to this)


[info]thingol
2004-07-27 12:41 pm UTC (link)
И даже того, кто дал Вам код? =)

(Reply to this) (Thread)

Справедливое замечание.
[info]mithgol
2004-07-27 10:24 pm UTC (link)
User kukutz (90316) un-banned from mithgol.

(Reply to this) (Parent)


[info]arvi
2004-07-28 07:00 am UTC (link)
Замечательное решение, Мицгол!

Войдет в историю. :-)

(Reply to this)


[info]orao
2004-07-30 12:57 am UTC (link)
echo "$BADPEOPLESLIST" | tr "," "\n" | awk '{print "ban_set " $1}'
ИМХО на порядок быстрее, в том числе и потому что не требует никакого мыслительного процесса.
Изначальная постановка задачи - клиника. Не люблю "обиженных" :)

(Reply to this) (Thread)

Не пойдёт.
[info]mithgol
2004-07-30 08:54 am UTC (link)
Я хотел написать кроссплатформенное решение. И написал.

Изначальная постановка задачи — самооборона. От клинических — — —.

(Reply to this) (Parent)(Thread)

Re: Не пойдёт. - [info]orao, 2004-07-30 01:01 pm UTC
Я это решение не для изысканных жирафов писáл. - [info]mithgol, 2004-07-31 07:51 am UTC
Re: Я это решение не для изысканных жирафов писáл. - [info]8_pow, 2004-07-31 08:10 am UTC
А на то есть верный, работающий способ. - [info]mithgol, 2004-07-31 08:21 am UTC
Re: А на то есть верный, работающий способ. - [info]8_pow, 2004-07-31 08:50 am UTC

[info]goodvin
2004-07-30 12:12 pm UTC (link)
Мицгол! Я иногда читаю апача и иногда -- Ваш дневник. Мне кажется, что однажды (минут через пятнадцать-двадцать) я выпью слишком много пива и напишу коммент к Вашему очередному посту в стиле "Mithgol, Вы -- (ч)удак".

Прошу Вас, забаньте меня.

(Reply to this) (Thread)

Нет уж.
[info]mithgol
2004-07-30 12:26 pm UTC (link)
Кто поставил меня облегчателем чужого самоконтроля? Учитесь воздержанному питию, и тем достигнете желаемого.

Разве не говорил некогда св. Серафим Саровский, что довольно самому уже спастись, чтобы окрест, на тебя глядючи, спаслись тысящи? Так вот так оно и с пивом бывает.

Может, пускай лучше Вы apazhe об этом попрóсите? Пущай он Вас забанит...

(Reply to this) (Parent)


[info]nezhalko
2004-08-19 12:40 pm UTC (link)
можно меня тоже забанить?
спасибо заранее.

(Reply to this)


[info]shakirov
2004-09-17 12:00 am UTC (link)
Серёжа, я смотрю народ бесится от того что ты всех подряд баннишь, причём тех кого ты даже незнаешь. Помоему наказывать за несовершённые преступления неверно.. ты сам как считаешь?

Я отношусь к тебе с глубоким уважением, ты мне много раз помогал, я такие вещи незабываю, но вот эта политика бана всё и вся, непонятна абсолютно..

5049/3.42
5049/97.30

(Reply to this)


[info]yoshke
2004-10-07 06:46 am UTC (link)
"Первая проблема состоит в том, что..."

Легко получается ввиде списка имен без всяких запятых и без джава-скрипта

"Эту проблему нам помогает разрешить небольшой (менее двадцати строк!) гипертекстовый документ"

Смеетесь? Эта проблема решается двумя строками в perl или одной строкой в awk

"Эта проблема преодолевается очевидным образом: из нашего текстового поля в LJ-консоль следует копировать не сразу всю кучу забанивающих команд, а небольшими группами по 20–100 строк"

Точно смеетесь. А пройти циклом по текстовому файлу не приходило в голову?

(Reply to this) (Thread)

Но ведь я это решение не для себя сочинял.
[info]mithgol
2004-10-09 03:01 am UTC (link)
Я умышленно сочинял такое решение, которым способен был бы воспользоваться кто угодно, имея под рукою только браузер. И, более того, не скачивая этим браузером и не устанавливая на свою систему ни awk, ни grep, ни интерпретатор языка PERL или PHP.

Потому что я предвидел, что этому рецепту последую не только я сам, но и другие люди — весьма вероятно, менее технически искушённые.

И предвидение это оказалось справедливым.

(Reply to this) (Parent)


[info]greymage
2005-03-20 11:23 am UTC (link)
Это все-таки клиника :) Как все распереживались из-за банов :)
Нет, все же виртуал многим заменил реальную жизнь.

(Reply to this)


[info]zsa
2005-07-19 09:13 am UTC (link)
а не думал white-list создать ? :)

(Reply to this)


[info]dron_nova_cat
2005-07-19 06:47 pm UTC (link)
а меня можно тоже забанить? :0)

(Reply to this) (Thread)


[info]mithgol
2005-07-20 02:14 am UTC (link)
Да, и тебя можно; от этого никто не застрахован.

(Reply to this) (Parent)


[info]bobbatron
2005-09-02 10:33 am UTC (link)
мицгол. думаю что вы таким образом культивируете [info]apazhe у себя в голове. это просто его реклама в вашем жж. мне кажется излишнее внимание уделенное бану кого то только культивирует наплыв нежелательной публики. и причем это только потому что вы готовы сражаться. есть воин - есть война.

(Reply to this) (Thread)

Ну дык
[info]mithgol
2005-09-03 04:36 pm UTC (link)
Альтернатива войне гораздо хуже; это капитуляция.

(Reply to this) (Parent)(Thread)

Re: Ну дык - [info]bobbatron, 2005-09-04 05:38 am UTC

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…