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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как защитить форум PHPBB от спамеров?

Сообщения:  [1-10]   [11-18] 

 
 автор: 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 Это всё схематично, на самом деле немного сложнее, но принцип такой.

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

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

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

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

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

   
 
 автор: 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}. Дальше, думаю, сами разберётесь ? ;-)

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

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

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

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

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

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

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

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

   
 
 автор: 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   (10.04.2006 в 22:04)   письмо автору
 
   для: axxil   (10.04.2006 в 20:57)
 

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

   

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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