Перейти к содержанию

Налик

Пользователи
  • Постов

    82
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Налик

  1. Снова возвращаюсь к теме.

    require $_SERVER['DOCUMENT_ROOT'].'/forum/init.php';
    \IPS\Session\Front::i();
    $member_IPS = \IPS\Member::loggedIn();

    Почему данный код не возвращает информацию о пользователе за пределами форума, если на форум не заходили более N минут. Если открыть страницу форума, а потом закрыть её. То данный код возвращает информацию о пользователе.

    Хочу проверить с других страниц сайта, авторизован ли пользователь на форуме...

  2. HooLIGUN поясните пожалуйста немного по коду, что вот это значит? Правильно ли понимаю, что если не существует куки IPSSessionFront, то они будут установлены и возвращены? Каким сроком жизни?

    \IPS\Session::i()->id

     

    Полный код проверки авторизации должен выглядеть следующим образом?

    require $_SERVER['DOCUMENT_ROOT'].'/forum/init.php';
    \IPS\Session\Front::i();
    $sessionId = isset( \IPS\Request::i()->cookie['IPSSessionFront'] ) ? \IPS\Request::i()->cookie['IPSSessionFront'] : \IPS\Session::i()->id;
    
    $sql = $pdoBDforum->prepare("SELECT *  FROM `core_sessions` LEFT JOIN `core_members` USING(`member_id`) WHERE `id` = :cookie");
    $sql->execute(array(':cookie' => $sessionId));
    $dataBD = $sql->fetch();

     

  3. Как выяснилось этот код тоже не работает до тех пор пока я не зайду на форум. Как только захожу на форум и потом возвращаюсь на главную страницу сразу получаю информацию о пользователе. В чем проблема, кто знает?

    require $_SERVER['DOCUMENT_ROOT'].'/forum/init.php';
    \IPS\Session\Front::i();
    $member_IPS = \IPS\Member::loggedIn();

     

  4. Загрузка страницы при проверке авторизации через классы форума занимает 0.013140201568604 сек

    require $_SERVER['DOCUMENT_ROOT'].'/forum/init.php';
    \IPS\Session\Front::i();
    $member_IPS = \IPS\Member::loggedIn();

    В то время как проверка запросом через БД страница загружается за 0.0060040950775146 сек.

    $sql = $pdoBDforum->prepare("SELECT *  FROM `core_sessions` LEFT JOIN `core_members` USING(`member_id`) WHERE `id` = :cookie");
    $sql->execute(array(':cookie' => $_COOKIE['ips4_IPSSessionFront']));

    Но тут правда есть проблемка, кука ips4_IPSSessionFront постоянно пропадает, такое ощущение, что каждые 10-30 минут )) И появляется только если снова зайти на форум. 

  5. Здравствуйте.

    Форум расположен по адресу site.ru/forum/, нужно со страницы site.ru проверить авторизован ли пользователь на форуме.

    Какой наиболее быстрый способ это сделать?

    Подключившись к классу

    require $_SERVER['DOCUMENT_ROOT'].'/forum/init.php';

    Или через получения куки ips4_IPSSessionFront и поиск в БД запросом?

  6. Здравствуйте.

    На почту приходит уведомление в котором предлагается отписаться от рассылки:

    "Хотите остановить получение этих email сообщений? Настройка уведомлений."

     

    Вот только проблема в том, что ссылка ведет на админ панель, а не на /forum/notifications/options/

    Где это исправить?)

    Тут важное уточнение.

    Ссылка на админку приходит только при рассылке из админ-панели

  7. 4 часа назад, bsnet сказал:

    Это не взлом, а сперва спамер косит под обычного юзера и пишет с нормальных ip, которые не в чёрном списке, так как на многих форумах надо сперва набрать сообщения, чтоб иметь возможно создавать темы и на многих форумах при реге с левых ip может прилететь бан, до отправки первого сообщения.

    Просто я бы понаблюдал с каких ip регятся такие спамеры и если они постоянные, в баню их.

    У меня интеграция со сторонней базой, регистрации даже не с форума. А по закрытому зашифрованному API с программы на windows. Всех тонкостей рассказывать не буду, но на 100% уверен, что регистрации были сделаны реальными людьми. Этому есть просто неопровержимые доказательства. Потому предполагаю, что проблема в вирусе вышитом в какой-то из плагинов. И не уверен, что отключение этих плагинов уже поможет. Вероятно поможет только чистая установка лицензионного форума и всех модулей. 

  8. Zero108 так и начал делать) Только видимо по мимо таблицы core_sys_lang_words еще откуда-то подтягивается. 

    Сделал поиск LIKE со значением "Tuesday" по всем таблицам БД, встречается только в "core_sys_lang_words".

    Изменил все значения Tuesday на Tuesday_test, очистил кэш. Зашел с чистого браузера. Ничего не поменялось. 

    Магия.

    Спасибо. Сейчас попробую

    English.png

    Странно, по моему тут все ок.. 

    English2.png

    English1.png

  9. А через БД можно исправить?)

    Вот все записи со значением "Tuesday"

    post.png

    bd.png

    Zero108 плагин еще нужно найти этот. Устанавливал тему только и переустановил чат. Но чат отключал - ситуация не меняется, значит это тема создала такой ключ. Сносить тему не хотелось бы. Хочется исправить)

  10. Zero108 имеете ввиду в БД в таблице? А как она называется? 

    В админпанеле ничего нету

    Языки.png

    Записи на форуме некорректно отображаются только при названии дней недели, то есть понедельник, вторник, среда, четверг, пятница, суббота, воскресенье.

    При этом правильно отображаются "Опубликовано вчера в 14:22" или "Опубликовано 3 ноября". Только с днями неделями некорректно "Опубликовано Saturday в 12:17".

    Посмотрел, ключ для даты публикации "date_replied", нашел в БД в таблице "core_sys_lang_words" этот ключ. Существует 2 записи со значением "Posted %s" и "Опубликовано %s". 

    Судя по всему некорректно отрабатывает замена переменной %s. Дальше тупик. Где искать?

    forum_lang1.png

    forum_date.png

    core_sys_lang_words.png

  11. Проблема не в спаме при регистрации. А в спаме с аккаунтов которые точно были зарегистрированы людьми. 
    Поставил одобрение всех сообщений в которых есть ссылки - по крайней мере теперь спам контролирую. Но иметь бы возможность ограничивать доступ к форуму для пользователя до тех пор пока он не изменит пароль. 

×
×
  • Создать...