Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как защитить форум PHPBB от спамеров?
 
 автор: Valera_r   (09.04.2006 в 23:32)   письмо автору
 
 

Помогите пожалуйста. Как защитить форум PHPBB от спамеров-машин.
И как в файлы шаблонов дизайна templates/subSilver/ файлы *.tpl вставить php код.

   
 
 автор: cheops   (10.04.2006 в 00:26)   письмо автору
 
   для: Valera_r   (09.04.2006 в 23:32)
 

Единственный надёжный вариант - это предлагать посетителям вводить код, изображённый на картинке... только такой подход идёт уже в ущерб удобства посетителей.

   
 
 автор: Valera_r   (10.04.2006 в 01:25)   письмо автору
 
   для: cheops   (10.04.2006 в 00:26)
 

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

А как в файлы шаблонов дизайна templates/subSilver/ файлы *.tpl вставить php код. например какую нибудь новую переменную которой в форуме phpbb нет?

   
 
 автор: Yakor   (10.04.2006 в 09:41)   письмо автору
 
   для: Valera_r   (10.04.2006 в 01:25)
 

Рецепт подключения собственного кода на php к phpBB через шаблоны

А вообще тебе сюда: http://www.phpbbguru.net/community/

   
 
 автор: DDK   (10.04.2006 в 22:35)   письмо автору
 
   для: cheops   (10.04.2006 в 00:26)
 

Хе-хе :) Эти боты уже научились обходить и ввод кода с картинки... к сожалению. А вот подтверждение по мылу ещё не умеют подделывать.

   
 
 автор: Axxil   (10.04.2006 в 15:29)   письмо автору
 
   для: Valera_r   (09.04.2006 в 23:32)
 

На мой сайт тут недавно целая атака спамерская была, так как я по доброте душевной ничего на форуме не ограгичивал. По 50 тем в день уроды создавали.
Но нехитрым набором элементарных действий враг был повержен:

1. Регистрация пользователей с подтверждением по email
2. Регистрация с использованием кода-картинки
3. Запрещение гостям создавать темы. (Разрешение отвечать можно пока оставить, если же и до этого доберутся можно и выключить)

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

   
 
 автор: Yakor   (10.04.2006 в 19:41)   письмо автору
 
   для: Axxil   (10.04.2006 в 15:29)
 

>1. Регистрация пользователей с подтверждением по email
Это легко обходят более сложные боты
>2. Регистрация с использованием кода-картинки
Если оставить стандартный модуль генерации картинки - не поможет, ибо его боты тоже научились распозновать
>можно пока оставить, если же и до этого доберутся можно и выключить
Поверьте доберутся))

   
 
 автор: axxil   (10.04.2006 в 20:55)   письмо автору
 
   для: Yakor   (10.04.2006 в 19:41)
 

Это понятно что чё угодно сломают и обойдут :)
Движок то открытый и популярный.
У меня пока проблемы так решились, но в дальнейшем хочу ограничить число ссылок в посте скажем до 5-10. Т.е посты с большим числом автоматом зачисляются в спам и сносятся без сожаления. А без ссылок и смысл спама пропадает...

   
 
 автор: axxil   (10.04.2006 в 20:57)   письмо автору
 
   для: Yakor   (10.04.2006 в 19:41)
 

Это понятно что чё угодно сломают и обойдут :)
Движок то открытый и популярный.
У меня пока проблемы так решились, но в дальнейшем хочу ограничить число ссылок в посте скажем до 5-10. Т.е посты с большим числом автоматом зачисляются в спам и сносятся без сожаления. А без ссылок и смысл спама пропадает...

   
 
 автор: Valera_r   (10.04.2006 в 22:04)   письмо автору
 
   для: axxil   (10.04.2006 в 20:57)
 

А как все таки в файлы шаблонов дизайна templates/subSilver/ файлы *.tpl вставить php код. например какую нибудь новую переменную которой в форуме phpbb нет? Подскажите пожалуйста.

   
 
 автор: Yakor   (11.04.2006 в 19:59)   письмо автору
 
   для: Valera_r   (10.04.2006 в 22:04)
 

>А как все таки в файлы шаблонов дизайна
>templates/subSilver/ файлы *.tpl вставить php код. например
>какую нибудь новую переменную которой в форуме phpbb нет?
>Подскажите пожалуйста.

Valera_r, я уже выше вам отвечал.

   
 
 автор: cheops   (10.04.2006 в 23:24)   письмо автору
 
   для: Axxil   (10.04.2006 в 15:29)
 

>Получил ещё один незапланированный плюс. Пользовательского
>флуда тоже стало меньше... Не всем говорунам охота
>регится...
А посещаемость не падает?

   
 
 автор: Axxil   (11.04.2006 в 12:28)   письмо автору
 
   для: cheops   (10.04.2006 в 23:24)
 

Падает, потому что спамеры уходят :)
У меня просто ресурс можно скзать узкоспециальный. Расчитан на студентов Казанского Университета и рекламируется он в реале. Т.е. это целевая аудитория. И если товарищь придёт на сайт и потратит пару минут на регистрацию значит это наш человек, а не праздношатающийся...

   
 
 автор: DDK   (10.04.2006 в 22:30)   письмо автору
 
   для: Valera_r   (09.04.2006 в 23:32)
 

1) Ставим на форуме подтверждение регистрации по E-Mail и запрещаем гостям создавать новые топики (однако не запрещаем оставлять ответы в существующих).
2) Ставим вот этот хак, позволяющий использовать php-вставки в шаблонах: http://www.phpbbhacks.com/download/1657

   
 
 автор: Valera_r   (11.04.2006 в 01:54)   письмо автору
 
   для: DDK   (10.04.2006 в 22:30)
 

Спасибо, это интересно. Я вообщето надеялся мне кто нибудь скажет где прописываются переменные которые заменяются в шаблонах. И как туда свои поставить и сделать чтобы работало как надо. Хак это конечно интересно и его я тоже поизучаю, но хотелось бы без него разобраться, как то безопаснее кажется... Как этот хак повлияет на безопасность? И вообще мне интересно знать как этот PHPBB устроен! Очень интересно.

   
 
 автор: DDK   (11.04.2006 в 14:56)   письмо автору
 
   для: Valera_r   (11.04.2006 в 01:54)
 

Переменные, заменяемы в шаблонах прописываются в выводящих скриптах в конце файла. Обычно это создание массива, подобно такому:

<?
...
$template->assign_block_vars('postrow', array(
        
'RANK_IMAGE' => $rank_image,
        
'POSTER_JOINED' => $poster_joined,
        
'POSTER_KARMA' => $karma,
        
'POSTER_POSTS' => $poster_posts,
        
'POSTER_FROM' => $poster_from,
        
'POSTER_AVATAR' => $poster_avatar,
        
'POST_DATE' => $post_date,
        
'POST_SUBJECT' => $post_subject,
        
'MESSAGE' => $message,
        
'SIGNATURE' => $user_sig,
        
'EDITED_MESSAGE' => $l_edited_by,
        ...
        
'U_POST_ID' => $postrow[$i]['post_id'])
    );
...
?>
(отрывок из viewtopic.php)

Имя элемента массива (POSTER_NAME, к примеру) - это имя переменной замены. Т.е. в шаблоне она будет выглядеть как {POSTER_NAME}. Дальше, думаю, сами разберётесь ? ;-)

   
 
 автор: Valera_r   (12.04.2006 в 23:23)   письмо автору
 
   для: DDK   (11.04.2006 в 14:56)
 

А как туда вообще встроен этот шаблон и как например {POSTER_NAME} заменяется на переменную? Вроде бы нет никаких включений типа require и include этих шаблонов...

   
 
 автор: Axxil   (13.04.2006 в 10:10)   письмо автору
 
   для: Valera_r   (12.04.2006 в 23:23)
 

Там есть обработчик шаблонов, т.е. файл шаблона считывается в переменную

$templ = implode("",file($template_file));

а затем с помощью элементарной операции

foreach($vars as $var=>$value){
  $templ = str_replace("{".$var."}",$value,$templ);
}

Все конструкции типа {POSTER_NAME} заменяются на значения соответствующих переменных vars, определённых в $template->assign_block_vars(...

PS Это всё схематично, на самом деле немного сложнее, но принцип такой.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования