yura3d |
Отправлено: 28 сентября 2010 — 16:46
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
Светлана пишет:Возможно, где-то обсуждалось, не нашла...
При просмотре форума через rss гостем, видны посты тем, разрешённых к просмотру только пользователям. На форуме всё в норме: гость этих тем не видит. Небезопасно, однако. В чём может быть причина? Спасибо.
Действительно, есть такая проблема в модуле RSS-ленты. Для исправления открываем файл modules/rss/frontindex.php, находим строку:
CODE: if ($var['private'] === TRUE) return 0;
и заменяем её строками:
CODE: if ($var['stview'] == 'reged' && !$fm->user['id'] ||
$var['stview'] == 'admo' && !($fm->user['status'] == 'ad' || $fm->user['status'] == 'sm' || isset($var['moderator'][$fm->user['id']])) ||
$var['private'] && !($fm->user['status'] == 'ad' || isset($fm->user['private'][$var['id']]))) return 0;
Теперь в RSS будут попадать только те сообщения, для просмотра которых у пользователей есть соответствующие права доступа (учитываются также индивидуальные права доступа к приватным разделам) |
|
|
altjo |
Отправлено: 14 ноября 2010 — 17:05
|
ExBB Skins Creator
Покинул форум
Сообщений всего: 277
Дата рег-ции: Февр. 2009
Репутация: 86
|
Скрытый текст:Для просмотра Вам необходимо авторизоваться и оставить не менее 300 сообщений (Отредактировано автором: 14 ноября 2010 — 17:11) |
|
|
alexx |
Отправлено: 14 ноября 2010 — 20:39
|
Advanced Member
Покинул форум
Сообщений всего: 495
Дата рег-ции: Февр. 2010
Откуда: Россия
Репутация: 12
|
yura3d
Нет такой строки у меня в файле register.php
CODE:if ($fm->input['useravatar'] != '' && (!preg_match("#^[A-Za-z0-9-_]{1,}\.[A-Za-z]{3,4}$#is",$fm->input['useravatar']) || !file_exists('im/avatars/'.$fm->input['useravatar']))) {
CODE:и замените её строкой:
CODE:
if ($fm->input['useravatar'] != '' && (!preg_match("#^[A-Za-z0-9-_]{1,64}\.[A-Za-z]{3,4}$#is",$fm->input['useravatar']) || !file_exists('im/avatars/'.$fm->input['useravatar']))) {
У меня вот как
CODE:include('language/'.DEF_LANG.'/lang_tz.php');
$fm->input['timedifference'] = (isset($tz[$fm->input['timedifference']])) ? $fm->input['timedifference']:0;
if ($fm->exbb['wordcensor'] === TRUE && $fm->bads_filter($fm->input['signature'],0) === TRUE) {
$fm->_Message($fm->LANG['Registration'],$fm->LANG['NoProfanity']);
}
$siglines = explode("\n",$fm->input['signature']);
if (count($siglines) > $fm->exbb['max_sig_lin'] || strlen($fm->input['signature']) > $fm->exbb['max_sig_chars']) {
$fm->_Message($fm->LANG['Registration'],sprintf($fm->LANG['SigOptions'],$fm->exbb['max_sig_lin'],$fm->exbb['max_sig_chars']));
}
if (!preg_match("#^[A-Za-z0-9-_]{1,}\.[A-Za-z]{3,4}$#is",$fm->input['useravatar']) || !file_exists('im/avatars/'.$fm->input['useravatar'])) {
$fm->input['useravatar'] = 'noavatar.gif';
}
} else {
$fm->input['homepage'] = $fm->input['icqnumber'] = $fm->input['aolname'] = '';
$fm->input['location'] = $fm->input['interests'] = $fm->input['signature'] = '';
$fm->input['timedifference'] = 0;
$fm->input['useravatar'] = 'noavatar.gif';
}
return;
}
?> (Отредактировано автором: 14 ноября 2010 — 20:43) |
|
|
Светлана |
Отправлено: 14 ноября 2010 — 21:05
|
Забанен
Покинул форум
Сообщений всего: 240
Дата рег-ции: Июнь 2009
Репутация: 8
[+]
|
alexx пишет:Нет такой строки у меня в файле register.php Так же. |
|
|
yura3d |
Отправлено: 14 ноября 2010 — 21:17
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
alexx
Светлана
Есть небольшая неточность в инструкции. В файле register.php именно ту строку, что есть у Вас:
CODE: if (!preg_match("#^[A-Za-z0-9-_]{1,}\.[A-Za-z]{3,4}$#is",$fm->input['useravatar']) || !file_exists('im/avatars/'.$fm->input['useravatar'])) {
нужно заменить строкой:
CODE: if (!preg_match("#^[A-Za-z0-9-_]{1,64}\.[A-Za-z]{3,4}$#is",$fm->input['useravatar']) || !file_exists('im/avatars/'.$fm->input['useravatar'])) {
Инструкция по установке критического обновления была обновлена |
|
|
alexx |
Отправлено: 14 ноября 2010 — 21:56
|
Advanced Member
Покинул форум
Сообщений всего: 495
Дата рег-ции: Февр. 2010
Откуда: Россия
Репутация: 12
|
И, наконец, откройте файл templates/ваш_скин/agreed.tpl, найдите строки:
CODE:<td class="profilright"><input type="text" name="emailaddress" style="width: 200px" size="20" maxlength="255"></td>
и заметить на:
CODE:<td class="profilright"><input type="text" name="emailaddress" style="width: 200px" size="20" maxlength="100"></td>
Нет такой строки, есть такая у меня:
CODE:<td class="profilright"><input type="text" name="emailaddress" style="width: 200px" size="20" maxlength="255" onblur="verify_register(this);" />
<span id="verify_emailaddress"></span></td>
Вопрос, можно просто заметить maxlength="255 на maxlength="100" ?,
тоесть вот так будет:
CODE:<td class="profilright"><input type="text" name="emailaddress" style="width: 200px" size="20" maxlength="100" onblur="verify_register(this);" />
<span id="verify_emailaddress"></span></td> (Отредактировано автором: 14 ноября 2010 — 21:57) |
|
|
yura3d |
Отправлено: 14 ноября 2010 — 23:17
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
alexx
Всё верно Вы заметили. Просто у Вас установлен Мод: Динамическая проверка регистрационной формы (на Ajax)
Поэтому вместо строки:
CODE:<td class="profilright"><input type="text" name="emailaddress" style="width: 200px" size="20" maxlength="255"></td>
Вам нужно искать строку:
CODE:<input type="text" name="emailaddress" style="width: 200px" size="20" maxlength="255" onblur="verify_register(this);" />
и, соответственно, в ней изменять атрибут maxlength |
|
|
robert |
Отправлено: 15 ноября 2010 — 16:15
|
Advanced Member
Покинул форум
Сообщений всего: 258
Дата рег-ции: Март 2009
Репутация: 8
|
У меня тоже маленькая непонятка:
Цитата:Теперь откройте файл include/vars.class.php, найдите строку:
..........................
Далее в этом же файле нужно найти строку:
CODE:if (preg_match("#^(www\.|)([A-Za-z0-9-_]{1,40}\.){1,3}[A-Za-z]{2,4}(/[\.~A-Za-z0-9_-]{1,20}|)$#is",$this->input[$key])) {
у меня в файле не {1,20} - а {1,32} -но заменил на то, как написано:
CODE:if (strlen($this->input[$key]) <= 255 && preg_match("#^(www\.|)([A-Za-z0-9-_]{1,40}\.){1,3}[A-Za-z]{2,4}(/[\.~A-Za-z0-9_-]{1,20}|)$#is",$this->input[$key])) { но пока не пойму будут ли из-за этого проблемы?(Отредактировано автором: 15 ноября 2010 — 16:15) |
|
|
|