VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Есть в PHP такая замечательная переменная $_SERVER['HTTP_REFERER'], которая позволяет узнать, с какой странички зашли на мой сайт. Но в то же время есть несколько ресурсов, на которых моё творение поливает несправедливой грязью, что вызвано личной неприязнью. На самом сайте средствами PHP я организовал систему авто-бана, а вот как организовать её на форуме? Даже необязательно систему автобана, мне нужен хак, который будет получать значение этой переменной, а также ip-адрес, с которого бы совершён заход на сайт, а вот что дальше будет делать с ним - собственно говоря не важно. Есть ли у кого какие-то варианты?
На самом сайте средствами PHP я организовал систему авто-бана, а вот как организовать её на форуме?
все тоже самое, только засунь код в плагин и подключи его хуком init_startup (или как то так, не помню точно), тогда при переходе со станицы (указанной в скрипте), узер будет получать результат (так же определенный в твоем скрипте)
а вообще, лучше выложить свой готовый код, тот который на сайте работает, что нибудь придумаем
@Sargeras
Простоузер
Join Date: May 2008
Posts: 28
Версия vB: 5.x.x
Reputation:
Lamer -2
Репутация в разделе: -2
0
kerk, вообще-то бан делается мной вручную, мне только на почту письмо присылается о том, что обнаружен нежелательный адрес, если в переменной реферера нужная информация обнаружена.
Ладно, вот код (если ip-адрес пользователя есть в списке забаненных в админке, то выдаётся сообщение с содержанием "вам закрыт доступ на сайт"):
Quote:
include("mysql.php"); //присоединение к базе данных
$options = mysql_result(mysql_query("select data from datastore where title = 'options'"),0,0);
$options = strstr($options,'"banip"');
$options = substr($options,1);
$options = strstr($options,'"');
$options = substr($options,1);
$options = strstr($options,'"');
$options = substr($options,1);
$banip = '';
$k = 0;
$strl = strlen($options);
while ($k < $strl)
{
if ($options[$k] !== '"')
{
$banip = $banip.$options[$k];
}
else
{
break;
}
$k = $k + 1;
}
$ip = $_SERVER['REMOTE_ADDR'];
$bad_ips = explode(" ",$banip);
$num = count($bad_ips);
$z = 0;
$go_away = false;
while($z < $num)
{
if ((strpos($ip,$bad_ips[$z])) === 0)
{
$go_away = true;
}
$z = $z + 1;
}
if (((strstr($_SERVER['HTTP_REFERER'], 'plohoy_site.ru'))&&((strstr($_SERVER['HTTP_REFERER'], 'plohaya_papka_na-site'))||(strstr($_SERVER['HTTP_REFERER'], 'drugaya_plohaya_papka_na-site'))))||($_GET['do'] == 'up'))
{
echo ('<b><center>Текст1</center></b>');
$message = "Обнаружен IP-адрес нежелательного нам человека! Выглядит он так: ".$ip."\n
Необходимо принять меры для предотвращения его повторного появления на сайте.\n\n
До свидания.";
$headers = 'From: e-mail1'."\r\n".'Reply-To: e-mail1'."\r\n".'X-Mailer: PHP/'.phpversion();
mail("e-mail2", "Найден нежелательный ip-адрес!", $message, $headers);
}
elseif ($go_away)
{
echo ('<b><center>Текст2<center></b>');
}
Знаю, что код не рациональный, ибо я его второпях писал и мудрить времени не было.
Sargeras добавил 18.07.2008 в 20:03
Кстати, есть ещё такая прога, называется Traffik Compressor. Она подсоединяется к серверу какому-то, который траффик фильтрует, а в итоге $_SERVER['HTTP_REFERER'] получается в виде ip-адреса сервера, к которому присоединяется программа. А на форуме реальный ip виден. В какой переменной находится реальный IP?
Last edited by Sargeras : 07-18-2008 at 09:03 PM.
Reason: Добавлено сообщение
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,711
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
0
хм... я думал конкретный какой то адресс, а там из БД данные тянутся...
ну в принципе можно это дело хаком организовать, если знать структуру таблиц(ы), откуда скрипт достает инфу, потом так же точно, как я и говорил в посте выше, запихиваешь новый код в плагин, но уже коннект идет к БД форума, а не сайта и соотв. таблицы должны быть созданы в БД форума, и уже оттуда подтягивается инфа
кстати, можно так же написать скриптик, который будет добавлять/редактировать/удалять информацию в этой таблице прямо из админки
и можно даже сделать свое(и) действия на совпадение всех условий из скрипта, ну например если реферер совпал, то выдать посетителю 403 или 502 () или какое то сообщение на странице... ну тут уж от фантазии зависит =)
удачи
@Sargeras
Простоузер
Join Date: May 2008
Posts: 28
Версия vB: 5.x.x
Reputation:
Lamer -2
Репутация в разделе: -2
0
Quote:
ну в принципе можно это дело хаком организовать, если знать структуру таблиц(ы), откуда скрипт достает инфу, потом так же точно, как я и говорил в посте выше, запихиваешь новый код в плагин, но уже коннект идет к БД форума, а не сайта и соотв. таблицы должны быть созданы в БД форума, и уже оттуда подтягивается инфа
Вся инфа о забаненных ip-адресах как раз-таки и берётся из форумной БД, таблицы datastore. Но поле этой в таком жутком формате идёт, что менять там что-то не решаюсь.
А как плагины добавлять и писать их самому?
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,711
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
1
Quote:
Originally Posted by Sargeras
А как плагины добавлять и писать их самому?
это долго объяснять, я несколько раз уже описывал подробно, как сие сотворить, поищи по моим постам
или открой любой продукт, который создает таблицы в БД, создает свои шаблоны, создает свои плагины и т.д. и разберешься, я думаю.
вроде с ПХП ты знаком, а дальше дело техники =)
@Sargeras
Простоузер
Join Date: May 2008
Posts: 28
Версия vB: 5.x.x
Reputation:
Lamer -2
Репутация в разделе: -2
0
kerk, Ок, спасибо. Но темку прошу не закрывать. Вдруг кто-то ещё идей подкинет.