Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Веб Форумы » VBulletin 2.x.x » Хаки от Netadmin или "Сделай сам" » Hack censorUserFields
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
LIGHTFRAG
Участник
Средний рейтинг: 4.5 | Оценок: 2

Зарегистрирован: Feb 2003
Место проживания: Pyatigorsk
Публикаций: 9
Статус: LIGHTFRAG в оф-лайне
Hack censorUserFields [сообщение #58831]

Или запрет ввода определенной последовательности символов, запрещенных администратором в профайле пользователя в кустомных полях. Ð_азработчик Grimnir для портала поддержания выделенных игровых серверов www.dedicated-server.ru


вставить в /$vb-path/admin/functions.php
после функции customcensortext
//Grimnir
function censoruserfield($text) {
global $DB_site;

$ctCensorUserFields=$DB_site->query_first("SELECT value FROM setting WHERE varname='ctCensorUserFields'");
$ctCensorUserFields=$ctCensorUserFields['value'];
if ($ctCensorUserFields=="")
{
return false;
}
$ctCensorUserFields = preg_quote($ctCensorUserFields);
$ctCensorUserFields = str_replace('/', '\\/', $ctCensorUserFields);
$ctcensoruserfield = explode(' ', $ctCensorUserFields);
while (list($key, $val) = each($ctcensoruserfield)) {
if ($val != '') {
if (substr($val, 0, 1) == '{')
{
$val = substr($val, 1, -1);
if (strlen($text)==strlen($val))
{
$result=stristr($text,$val);
}
else
{
$result=stristr($text," ".$val." ");
}
} else {
$result=stristr($text,$val);
}
}
}
return $result;
}
//Grimnir

Вставить в /$vb-path/register.php
в куске кода addmember
// check extra profile fields
$userfields="";
$userfieldsnames="(userid";
$profilefields=$DB_site->query("SELECT maxlength,profilefieldid,required,title
FROM profilefield
WHERE editable = 1
ORDER BY displayorder");
while ($profilefield=$DB_site->fetch_array($profilefields)) {
$havefields = 1;
$varname="field$profilefield[profilefieldid]";
if ($profilefield[required] and $$varname=="") {
eval("standarderror(\"".gettemplate("error_requiredfieldmissing")."\");");
exit;
}
$$varname=censortext($$varname);
// ENTER ANY CUSTOM FIELD VALIDATION HERE!
//Make sure user didn't try to bypass the maxchars for the fields

$$varname=substr($$varname,0,$profilefield[maxleng
th]);
$userfieldsnames.=",field$profilefield[profilefieldid]";
$userfields.=",'".addslashes(htmlspecialchars($$varname))."'";
}
$userfieldsnames.=')';

сделать так
// check extra profile fields
$userfields="";
$userfieldsnames="(userid";
$profilefields=$DB_site->query("SELECT maxlength,profilefieldid,required,title
FROM profilefield
WHERE editable = 1
ORDER BY displayorder");
while ($profilefield=$DB_site->fetch_array($profilefields)) {
$havefields = 1;
$varname="field$profilefield[profilefieldid]";
if ($profilefield[required] and $$varname=="") {
eval("standarderror(\"".gettemplate("error_requiredfieldmissing")."\");");
exit;
}
$$varname=censortext($$varname);
// ENTER ANY CUSTOM FIELD VALIDATION HERE!
//Make sure user didn't try to bypass the maxchars for the fields
//Grimnir
if (censoruserfield($$varname))
{
eval("standarderror(\"".gettemplate("error_censorfield")."\");");
exit;
}
//Grimnir
$$varname=substr($$varname,0,$profilefield[maxleng
th]);
$userfieldsnames.=",field$profilefield[profilefieldid]";
$userfields.=",'".addslashes(htmlspecialchars($$varname))."'";
}
$userfieldsnames.=')';

UPDATE setting SET displayorder='9' WHERE varname='ctCensorMod';
INSERT INTO setting VALUES (182,28,'CensorUserFields','ctCensorUserFields',''
,'Запрет регистрации с криво заполнеными пользовательскими полями. Степень кривизны определяет администратор.','',8);

Добавление запрещенных слов и словосочетаний в админ панели, параметр CensorUserFields

правила заполнения те же что и для всех остальных censor* параметров

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 16-01-2004 17:49
Нажмите сюда для просмотра профайла LIGHTFRAG Отправить Персональное сообщение LIGHTFRAG Посетить домашнию страничку LIGHTFRAG! Найти сообщения от LIGHTFRAG Добавить LIGHTFRAG в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 23:30.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.00910711 seconds (41.80% PHP - 58.20% MySQL) with 27 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.