Перейти к контенту

malik

Клиенты
  • Число публикаций

    87
  • Регистрация

  • Последнее посещение

  • Дней в топе

    2

malik последний раз побеждал 22 Февраля 2018

malik - автор самых популярных публикаций!

Дополнительные

  • Пол
    Мужчина

Недавние посетители профиля

4 090 просмотров профиля

Достижения malik

  1. Приветствую. У меня описание стиля (CSS) включается в код страницы, а хотелось бы, чтобы стили были в отдельном файле. Не хочу, чтобы почти 100КБ добавлялось внутрь каждой страницы. У меня главная страница и так больше 600КБ, это только хтмл. Перелопатил админку, шаблоны и даже в коде ковырялся - судя по всему такая возможность должна быть, а найти не могу.
  2. А разве изменение названия в "Глобальные настройки - Название форума" не меняет название в мобильной версии? По логике должно. Но если хотите прям только для мобильной версии поменять, то вероятно это надо делать в шаблоне через Внешний вид - Управление стилями - IP.Board Mobile - Управление шаблонами и CSS и там шаблон globalTemplate. Наверное, правильнее было бы ввести дополнительную переменную в настройках, но я уже не помню как это делается и сходу не смогу описать.
  3. Может кому-то пригодится. Нашёл только что как можно удалить статус пользователя. При просмотре профиля сразу под статусом есть строка "Обновлено 11 янв" кликаем по нему и там уже всё понятно - есть ссылка "Удалить" и "Заблокировать". Насколько я понял "Заблокировать" - это значит запретить изменения.
  4. А как отредактировать или просто удалить статус пользователя? Может я плохо смотрел, но так и не смог найти, ни в админке, ни в "Редактировать пользователя".
  5. Мне кажется так лучше. В форме будет одно поле с одним и тем же названием и идентификатором, но зато с разными вопросами и ответами. Это будет сложнее для ботов, нежели сразу все вопросы каждый в своём поле - неизвестно какой именно вопрос-ответ используется в данный момент. Кроме того вопросов должно быть много, иначе какой смысл в такой защите. Выдавать пользователю десяток вопросов - это перебор, лучше один случайный.
  6. Что-то я туплю - никак не могу найти как посмотреть все удалённые публикации конкретного пользователя, хотя по идее должна быть где-то такая опция.
  7. Я понимаю, что тема очень старая, но может кому-то пригодится мой опыт. Хук или ручная правка шаблонов только на первый взгляд кажется хорошим решением, но, и то, и то другое неполноценны - где-нибудь да вылезезет отсутствие описания темы, например, в мобильном шаблоне или в поиске. Лучше всего привести название и описание тем к нужному состоянию - объединить их. Это можно сделать одним запросом в MySQL: update ibf_topics set title=concat(title,'. ',description) where description is not NULL;Этот запрос пишет в поле title комбинацию title и description, разделённых точкой и пробелом, в тех случаях когда поле description не пустое. Поле description остаётся как было, оно не мешает, при желании можно его и удалить. Запрос даже на моей, достаточно большой базе, выполнился довольно быстро и заметного влияния на работу форума не оказал.
  8. Т.е. если идёт запрос с некоего айпишика, но в БД есть уже другой ИД сессии для этого айпишника, то клиент получает сообщение об ошибке? А как же клиенты за NAT-ом или прокси? Их может быть десятки и даже сотни с одного айпишника. А ещё, насколько я знаю, браузеры открывают по несколько сессий к сайту чтобы загружать объекты с него в несколько потоков. Получается, чтобы нормально работать с сайтом требуется обязательно залогиниться? А ботов от людей вы как отделяете? Тотальный аксес-лог, мне кажется, лучше вообще отключить если много обращений. К каким? Заранее же непонятно на какой адрес будут долбиться атакующие. Скорее всего это будет главная страница, но не факт. К тому же, сейчас атаки настолько распределённые, что обращений будет очень много, но с разных айпишников, так что все и не перебанишь. Всё-таки я больше за принудительное кеширование. Я делал вот так - средствами nginx-а пытался по кукам отделить гостей от авторизованных пользователей. Гостей перенаправлял в кеш, который хранился в nginx, например, одну минуту (у меня форум часто обновляется). Получалось, что все обращения гостей в течение минуты получали ответ из кеша. Однако, проблема оказалась в том, что с куками какая-то путаница - зачастую те или иные куки (ИД юзера или группы, хеш и т.п.) могут быть или не быть вне зависимости от того гость это или авторизованный пользователь. Возможно имеет смысл подправить проверку сессий в движке и добавить какую-то специальную куку, по которому nginx сможет однозначно отделить гостей. Есть ещё другая идея. В том же nginx-е разделить запросы POST и GET между двумя апстримами (php-fpm), POST-запросы будет обрабатывать основной апстрим, подключенный к основной БД, а GET-запросы уйдут ко второму апстриму, у которого будет своя копия скриптов сайта и обращаться он будет к реплике БД. Конечно, сложновата схема и требует дополнительных ресурсов. Но самая главная проблема - отставание репликаций MySQL. Может получиться так, что пользователь написав сообщение (в основную БД) не увидит его (из реплики).
  9. Ну да, юзер-агент штука не надёжная. Но в данном случае резкое снижение количества ботов после изменения настройки указывает, что это всё-таки Гугл. Фейковые Гугл-боты если и есть, то заметного влияния не оказывают. Я особо на юзер-агент не ориентируюсь, только для ознакомления. Для блокировки чересчур активных адресов буду ориентироваться на айпишники вне зависимости от типа пользователя. Вот вчера с одного айпишника нагенерили около пяти тысяч гостевых сессий в течение минут 10-15. Нагрузка, конечно, была такая, что сайт не отвечал вообще. Load-average превысил сотню, а количество запросов в очереди MySQL было около 400. Лучше всего было бы встроенное в движок принудительное кеширование для гостей, но оно появилось только в версии 4, а реализации сторонними средствами плохо получаются.
  10. Это открытые сессии, причём за последние 15 минут. Я ограничил активность Гугл-бота через консоль вебмастера на Гугле. Там было указано максимальное количество запросов - 10 в секунду. Поменял на 5. В течение суток количество ботов резко упало раз в 5. Правда резкого снижения нагрузки я не заметил.
  11. Получилось вроде, надо проверить на живых людях ) Добавил в настройки "Ограничения пользовательских имен" пункт с названием "Сообщение об ошибке при наличии русских и английских букв в имени", ключом "username_error_rueng" и текущим значением "Имя не может содержать одновременно русские и английские буквы!". Дописал после указанного вами блока, начинающегося со строки "// Blocking certain chars in username?", вот такой блок: if( ipsRegistry::$settings['username_error_rueng'] ) { if( preg_match("/[a-z]/i", $_name) && preg_match("/[а-я]/i", $_name) ) { return array( 'name' => $original, 'errors' => array( ipsRegistry::$settings['username_error_rueng'] ) ); } } Работает нормально, за исключением буквы "ё", она не попадает в диапазон "а-я". С учётом того, что и вообще форум как-то по-особенному воспринимает эту букву в именах пользователей (вероятно где-то в коде это специально описано) я решил, что лучше вообще запретить её использование в именах.
  12. Анализирую таблицу ibf_sessions на предмет количества пользователей, гостей и ботов онлайн (за 15 минут). Получается так: - пользователи - записи, в которых идентификатор пользователя больше нуля (member_id>0) или же другой вариант с тем же результатом - имя и идентификатор пользователя не пустые (member_id!=0 and member_name!=''); - гости - записи, в которых имя и идентификатор пользователя пустые (member_id='' and member_name=''); - боты - записи, в которых идентификатор сессии заканчивается на "_session" (id like '%_session'); У меня получается так: members=843 guests=3754 bots=8963 В сумме примерно соответствует числу, отображаемому в панели управления админки в строке "Состояние системы пользователей онлайн". Вроде всё верно, но в результате получается огромное количество ботов и небольшое количество пользователей. До этого, в версии движка 2.4, общее количество было примерно таким же, а пользователей получалось примерно в два раза меньше чем гостей и ботов. Для проверки посмотрел какие боты попадаются: 1 MSN 4 Baidu 11 BrandWatch 11 Yandex 20 Majestic12 25 Ahrefs 27 Bing 40 Yahoo 53 Alexa 1258 Google Mobile 6987 Google Ничего лишнего. Что я делаю не так? А как у вас?
  13. Спасибо за развёрнутый ответ. Раз скоро патчи и обновы перестанут выпускать, то проще прям в коде дописать. А ещё вопрос не совсем по теме. В версии 2 можно было написать свой модуль и обращаться к нему прямо через УРЛ (например - мой_сайт/index.php?act=module&module=my-module), а в версии 3 модулей не нашёл. Как теперь реализовывать дополнительный функционал, напрямую не используемый в работе форума, с возможностью прямого обращения к нему? Например, у меня были модули для съёма статистики по юзерам и гостям онлайн, для обзора активности модераторов и т.п.
  14. Как правильнее сделать проверку на одновременное наличие латинских и русских букв в логине при регистрации? Это нужно во избежание регистрации ников с визуально похожими буквами разных алфавитов. Если можно сделать хуком, то подскажите где можно почитать про их написание. Можно, конечно, внести правки прямо в скрипт, но как-то это некрасиво. Хотя нужное место я уже вроде нашёл - файл admin/applications/core/modules_public/global/register.php где-нибудь в начале функции registerForm. Спасибо.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.