yura3d |
Отправлено: 29 ноября 2009 — 22:09 • Тема: Пароли • Форум: Общие вопросы |
Ответов: 20 Просмотров: 18112
 |
nnn пишет:Да, спасибо за ответы. Просто сейчас думаем как выкручиваться с размещением фотографий. После размещения штук 10 превьюшек через радикал, форум начал жутко тормозить и вообще не открывать эти сообщения. Пробуем что-то думать с фотохостингом своим, а там нужна регистрация, а самостоятельной регистрации там не предусмотрено. Вот и думаем, как регистрировать самим пользователей, под ихними паролями как на форуме. А может просто запретить превьюшки людям размещать, да не заморачиваться с фотохостингом, бо что-то тормозит очень, грешим на превью эти с радикала.
Проблема заключается в том, что на этапе открытия темы скрипт скачивает внешние (вставленные бб-кодом img) изображения на Ваш сервер и генерирует для них превью-копии. Если изображений слишком много (или сами изображения объёмные), или сервер, с которого подгружаются изображения, тормозит (что бывает с радикалом), то тормозить будет и открытие темы. Как вариант решения Вашей проблемы, установите доработку мода превью-копий прикреплённых изображений, эта доработка позволяет отделить процесс открытия тем от процесса загрузки внешних изображений, в результате чего темы со внешними изображениями будут загружаться так же быстро, как и темы без таковых. Если Вам не требуется создание превью-копий изображений, то отключите этот мод в админке на странице Управление в разделе Модули |
yura3d |
Отправлено: 29 ноября 2009 — 20:45 • Тема: Оповещение пользователя о создании новой темы • Форум: Настройка форума |
Ответов: 7 Просмотров: 6506
 |
robert пишет:yura3d, странно, возможно глючит что-то другое..или с почтой что-то. Если что, прошу прощения 
Если сомневаетесь, может убрать данное изменение и проверить, но это точно не поможет. Ранее уведомления о новых ЛС приходили? И включён ли соответствующий мод в админке? |
yura3d |
Отправлено: 29 ноября 2009 — 20:28 • Тема: Оповещение пользователя о создании новой темы • Форум: Настройка форума |
Ответов: 7 Просмотров: 6506
 |
robert пишет:yura3d, сделал как описано, теперь почему то не приходят и сообщения на почту о новых личных сообщениях (с текстом).
Эти вещи никак не взаимосвязаны. Скрипт post.php отвечает за создание тем и отправку ответов, он вообще никаким боком не относится к ЛС |
yura3d |
Отправлено: 29 ноября 2009 — 18:55 • Тема: Автоизменение размеров загружаемых изображений • Форум: Решение проблем |
Ответов: 4 Просмотров: 3834
 |
Виктория пишет:yura3d пишет:включить модуль Превью-копии прикрепленных изображений
Про него я в курсе, но я не хотела бы его использовать, я хочу чтоб все картинки, которые люди прикрепляют становились одного размера ну например 700*500. Чтото подобное происходит с фотографиями в контакте... Я думаю вы в курсе 
На вконтаке фотографии уменьшаются, при этом сохраняются их пропорции, поэтому одного размера фотографии никак не могут быть. В ближайшее время постараюсь выложить реализацию того, что Вы хотите |
yura3d |
Отправлено: 29 ноября 2009 — 18:48 • Тема: Как установить рекламный блок? • Форум: Настройка форума |
Ответов: 156 Просмотров: 108713
 |
drummer69
Конкретнее, в какое именно место шаблона board_body.tpl вставляется код? При вставки кода в файл data/banners.php проблемы наблюдаются? |
yura3d |
Отправлено: 29 ноября 2009 — 16:23 • Тема: Способы раскрутки форума • Форум: Раскрутка |
Ответов: 6 Просмотров: 7389
 |
nikk
Самое главное условие - наполнить форум качественным контентом (если конечно вы собрались делать СДЛ - сайт для людей). Т.е. форум должен подробно освещать грани своей тематики таким образом, чтобы это было востребовано посетителями. Возьмите для примера этот форум, предоставленный здесь контент уникальный - все новые версии, модули, скины и локализации для ExBB выкладываются здесь, поддержка пользователей ExBB тоже осуществляется только здесь. Другого такого же сайта (форума) для тех, кто пользуется ExBB, нет. И Вам, если Вы замахиваетесь на какую-то широкую тематику, нужно думать, как сделать так, чтобы посетителям было интересно именно у Вас. Не нужно делать то, что уже сделано - особенно если уже существуют форумы, предлагающие ту же информацию и возможности, что и Ваш - Вам не удастся конкурировать с крупными проектами, если Вы на их фоне не будете ничем выделяться
Ну и не нужно забывать о раскрутке. Правильно vipraskrutka как-то один раз сказал, что существует огромное кол-во качественных продуктов (в контексте продукта рассмотрим сайт), которые не востребованы именно потому, что банально о них никто не знает. Вам нужно подумать, как грамотно донести до конечных пользователей Ваш сайт, а также его преимущества, иначе говоря показать, чем Вы так выгодно отличаетесь от конкурентов. Касательно способа раскрутки, это к Гуглу
nikk пишет:Первый метод, это пригласить своих друзей-знакомых и просто общаться. Со-временем подтянутся и целевые юзеры. это долгий путь...
Это всё равно что общаться на форуме с самим собой. Данный метод подойдёт разве что в том случае, если Ваши друзья сильно заинтересованы в тематике Вашего форума, если они "в теме" обсуждаемых вопросов. В противном случае это ничего не даст, проще уже поболтать с ними по телефону/в аське/в скайпе
nikk пишет:Также можно обратиться к примеру в Адвего, где за n- сумму авторы напишут Вам кучу контента...
У меня вообще создаётся впечатление, что Вы работаете над сайтом ради раскрутки, а не ради сайта. В принципе, и такое возможно, но смотрите, как бы затраты на написание статей не перевалили за доход от Вашего сайта. Если Вы действительно увлекаетесь тематикой Вашего сайта, нужен уникальный и именно Ваш (или Ваших пользователей) контент. В противном случае не понятен предмент обсуждения на Вашем форуме |
yura3d |
Отправлено: 29 ноября 2009 — 15:55 • Тема: Пароли • Форум: Общие вопросы |
Ответов: 20 Просмотров: 18112
 |
2ALL
Администратор может видеть пароль пользователя только в момент его регистрации, если в админке на странице Безопасность включена опция Сообщать Вам по почте о новом пользователе? В этом случае при каждой новой регистрации на e-mail администратора (который указывается тоже в админке, на странице Конфигурация в поле E-mail адрес администратора) будет отправляться информация о новом пользователе, включая его пароль. Если пользователь позже изменит свой пароль в профиле, информация о новом пароле администратору не отправляется (хотя это можно реализовать, но я не вижу в этом необходимости)
Смысл использования md5 в том, что даже если кто-либо и получит доступ к содержимому файлов текстовой базы данных Вашего форума (в том числе и к содержимому файлов с информацией для авторизации), то войти на форум он всё равно не сможет, поскольку, как уже говорилось, для дехеширования контрольной суммы md5 нужны годы непрерывного подбора, а если пароль очень сложный, то десятки лет
electron пишет:однако каким-то образом под моим паролем админ заходил на одном из форумов, который работал на Exbb 0.1.4
Александр Михалицын пишет:Я думал в Full Mods'ах во всех md5.
vipraskrutka пишет:md5 появилась вроде только в последней ExBB FM 1.0 Beta
Правильно vipraskrutka говорит, полноценное использование md5 началось с ExBB FM 1.0 Beta. До этого существовали некоторые наработки (выкладывались на ТвойВебе), позволяющие реализовать хранение паролей в md5 на старых версиях вроде ExBB Full Mods 0.1.4, но изначально старые версии хранили пароли в открытом виде |
yura3d |
Отправлено: 28 ноября 2009 — 23:29 • Тема: Регистрация таблицы пользователем • Форум: PHP/Perl |
Ответов: 30 Просмотров: 24556
 |
Светлана
Ну тут уже чистая логика. Во-первых, нам нужны обе проверки как на авторизацию, так и на попытку повторной регистрации. Значит вариант "вместо" отпадает. Идём далее, имеет ли смысл проверять наличие файлов, если пользователь не авторизован? Очевидно что нет, поскольку гости не могут создавать счета и для них эти файлы никогда созданы не будут. Значит "перед" тоже не подходит, поскольку проверка на авторизацию должна быть раньше
(Добавление)
проверки наличия файлов. Остаётся "после" |
yura3d |
Отправлено: 28 ноября 2009 — 21:37 • Тема: Регистрация таблицы пользователем • Форум: PHP/Perl |
Ответов: 30 Просмотров: 24556
 |
Светлана
Для того, чтобы запретить повторную регистрацию счёта одним и тем же пользователем (и как результат избежать перезаписывания данных) в файле reg_table.php нужно найти строку:
CODE:$fm->_GetVars(); // Получаем входящие данные
И за ней вставить строки:
CODE:// Ищем файлы с данными о пользователе в папках R и D
if (file_exists('accounts/R/'.$fm->user['id'].'.php') || file_exists('accounts/D/'.$fm->user['id'].'.php'))
// Если в одной из папок файл найден, выводим ошибку и останавливаем регистрацию
$fm->_Message('Регистрация счёта', 'Повторная регистрация счёта запрещена'); |
yura3d |
Отправлено: 28 ноября 2009 — 20:38 • Тема: Регистрация таблицы пользователем • Форум: PHP/Perl |
Ответов: 30 Просмотров: 24556
 |
Светлана пишет:Юра!!! Да вы же текст файла поправили, а не сообщили
У меня и без правки работало. Я там исправил только синтаксические ляпы
Светлана пишет:Ещё бы ограничение на кол-во открываемых счетов (регулируется админом) одним пользователем
Так ведь для одного пользователя не может быть более одного файла <N>.php и <N>_data.php (в данном варианте скрипта при попытке 2-ой регистрации старые данные затрутся, и в файлы запишутся новые данные)
Светлана пишет:запрет на повтор ай-пи адресов, а то ведь хитрых много и они для открытия дополнительных аккаунтов (чтоб на удачу получить деньги инвестора) будут регистрироваться как новые пользователи форума
Бесполезное это занятие, существует бесконечное множество прокси-серверов, используя которые, даже не самые сведущие в области Интернета люди (например, нынешние школьнеги-спамеры-и-тролли) спокойно обойдут подобное ограничение. Более того, это создаёт дополнительные проблемы пользователям с доступом в Интернет через NAT-шлюзы (а этим сейчас страдают все провайдеры, когда один-два-три IP адреса распределены на несколько десятков-сотен-тысяч компьютеров). Бан по маске IP адреса тоже далеко не лучший вариант, поскольку существует вероятность риска забанить всю сеть. Злоумышленник воспользуется прокси и всё равно получит доступ к Вашему форуму, а вот другие пользователи сети - возможно Ваши потенциальные клиенты - останутся заблокированными |
yura3d |
Отправлено: 28 ноября 2009 — 18:34 • Тема: Регистрация таблицы пользователем • Форум: PHP/Perl |
Ответов: 30 Просмотров: 24556
 |
Светлана пишет:При любых правах на запись - то же самое. А по умолчанию на хосте были выставлены права такие же как у папки members.
Хм, странно, сейчас проверил, никаких проблем нет. Это сообщение выводится только для файла <N>_data.php, или для <N>.php тоже? |
yura3d |
Отправлено: 28 ноября 2009 — 17:18 • Тема: Регистрация таблицы пользователем • Форум: PHP/Perl |
Ответов: 30 Просмотров: 24556
 |
Светлана пишет:При нажатии кнопки - "Could not write in the file uccounts/R/1_data.php". Но файл создан.
Нужно на папки uccounts/R и uccounts/D поставить права на запись
Светлана пишет:При 'a' => 0, в файл записывается параметр, равный 0 или нет записи?
Записывается 0
Светлана пишет:К сожалению, может регистрировать счёт не только зарегистрированный на форуме пользователь.
Нет проблем, в файле reg_table.php после строки:
CODE:$fm->_GetVars(); // Получаем входящие данные
добавим проверку на авторизацию пользователя:
CODE:if (!$fm->user['id']) // Если пользователь не авторизован
$fm->_Message('Регистрация счёта', 'Гости не могут регистрировать счета'); // Ошибка: гости не могут регистрировать счета |
yura3d |
Отправлено: 28 ноября 2009 — 12:45 • Тема: Регистрация таблицы пользователем • Форум: PHP/Perl |
Ответов: 30 Просмотров: 24556
 |
Светлана
Для начала определимся с формой. Мой шаблон с формой будет содержать только сами поля формы с кнопкой отправки, и более ничего, Вам конечно же нужно будет доверстать страницу самостоятельно. Создайте шаблон templates/ваш_скин/reg_table.tpl, форма в нём примет вид:
CODE:<form method="post">
<input type="radio" name="radio" value="R">
<input type="radio" name="radio" value="D">
<input type="text" name="N">
<input type="text" name="P">
<input type="text" name="S">
<input type="submit">
</form>
Далее создаём скрипт reg_table.php, который будет выводить нашу форму, а также отправлять введённые данные на e-mail администратору и создавать необходимые файлы с информацией. Сам скрипт будет выглядеть примерно так:
CODE:<?php
define('IN_EXBB', 1); // Скрипт относится к ExBB
require_once('include/common.php'); // Подключаем ядро ExBB
$fm->_GetVars(); // Получаем входящие данные
if ($fm->__POST !== true) { // Если форма не отправлена
// Выводим форму
$fm->_Title = ' :: Регистрация счёта'; // Заголовок страницы будет добавлен за названием форума
// Далее идёт подключение шаблонов
include('./templates/'.DEF_SKIN.'/all_header.tpl'); // Заголовки страницы
include('./templates/'.DEF_SKIN.'/logos.tpl'); // Шапка форума
include('./templates/'.DEF_SKIN.'/reg_table.tpl'); // Регистрационная форма
include('./templates/'.DEF_SKIN.'/footer.tpl'); // Футер
}
else { // Форма отправлена
// Действия, если форма отправлена
$radio = $fm->_String('radio'); // Получаем значение радиогруппы (R или D)
$n = $fm->_String('N'); // Получаем значение поля N
$p = $fm->_String('P'); // Тоже самое для поля P
$s = $fm->_String('S'); // Для S
if ($radio != 'R' && $radio != 'D') {
header('Location: reg_table.php'); // Введён неверный тип счёта, возвращаемся к форме
die;
}
// Получаем текущие дату и время на сервере, которые будут использоваться как регистрационные для счёта
$regtime = $fm->_Nowtime;
// Создание ассоциативного массива с данными для 1-го файла
$data = array(
'name' => $fm->user['name'], // Имя пользователя на форуме
'regtime' => $regtime // Дата регистрации счёта
);
// Создание файла counts/<radio>/<N>.php (radio - тип счёта, N - id пользователя на форуме)
$fm->_Read2Write($fp, 'counts/'.$radio.'/'.$fm->user['id'].'.php');
// Запись содержимого массива в файл
$fm->_Write($fp, $data);
// Создание ассоциативного массива с данными для 2-го файла
$data = array(
'a' => 0,
'b' => 0,
'c' => 0,
'd' => 0,
'e' => 0,
'f' => 0,
'g' => 0,
'h' => 0
);
// Создание файла counts/<radio>/<N>_data.php (radio - тип счёта, N - id пользователя на форуме)
$fm->_Read2Write($fp, 'counts/'.$radio.'/'.$fm->user['id'].'_data.php');
// Запись содержимого массива в файл
$fm->_Write($fp, $data);
// Создаём переменную с текстом для отправки админу
$email = sprintf('Имя: %s
Категория счёта: %s
Данные счёта N: %s
Данные счёта P: %s
Данные счёта S: %s
Дата регистрации: %s',
$fm->user['name'], $radio, $n, $p, $s, date('H:i:s, d.m.Y', $regtime));
// Отправка админу почты с информацией о регистрации
$fm->_Mail($fm->exbb['boardname'], $fm->exbb['adminemail'], $fm->exbb['adminemail'], 'Регистрация счёта', $email);
// Вывод сообщения о завершении регистрации
$fm->_Message('Регистрация счёта', 'Счёт успешно зарегистрирован', 'index.php');
}
require_once('include/page_tail.php'); // Подключение части ядра ExBB, выполняющей вывод данных
?>
Конечно, это не конечный вариант, а только каркас. Конечный вариант (с проверкой всех возможных значений вводимых данных) будет несколько длиннее |
yura3d |
Отправлено: 28 ноября 2009 — 11:48 • Тема: Архив версий форума • Форум: Обсуждаем |
Ответов: 45 Просмотров: 43214
 |
Александр Михалицын пишет:Это вообще надуманая проблема, решается она грамотным использованием функции flock. За 5 минут в версии 1.9.1 фиксится.
Ничего там не фиксится, поскольку дело не только в неправильном использовании блокировки. В старых версиях сам принцип работы с файлами со стороны алгоритмов форума (скажем так, файловый интерфейс) изначально неправильный и не учитывает особенностей работы PHP с файлами (это относится к процедуре записи в файлы). Поэтому старые файловые функции для работы не годятся, необходима их полная замена, а также последующее редактирование практически всех скриптов форума с целью изменения в них операций работы с файлами (применения нового файлового интерфейса). И не надо забывать, что на неправильной работе с файлами проблема обнуления не ограничивается, в старых версиях (особенно в первых сборках Full Mods с индексами версий 0.1.x) довольно затратно расходуется ОЗУ, что часто приводит к переполнению памяти на этапе работы скрипта, как результат скрипт аварийно завершается, а данные, которые на момент завершения размещались в ОЗУ и должны были быть записаны в файл, фактически теряются (ещё один случай обнуления и повреждения файлов). Безопасность 1.9.1 вообще никакая, существуют бреши в функциях закачки файлов, позволяющие заливать шелл, а также ошибки в функции обработки бб-кодов, приводящие к XSS
Говорю всё это к тому, что если и собирать какой-то архив старых версий ExBB (подобный этому), то нужно обязательно указывать, что эти версии предназначены только для ознакомления, а не для использования. И обязательно указывать ссылку на дистрибутив с последней версией. В противном случае, как уже говорил выше:
yura3d пишет:найдутся какие-нибудь личности, которые скачают и установят это на своём сайте (вопреки любым предупреждениям). И потом прийдут сюда плакаться, что не работает  |
|