Есть ли возможность отключить «Поиск» для анонимных пользователей? Разрешить поиск по форуму только авторизованным пользователям. Заранее спасибо.
Скройте поле поиска с помощью CSS. Кроме того, убедитесь, что Google не индексирует ваш сайт, если вы действительно не хотите, чтобы люди могли найти информацию.
Привет, посмотрите эту тему: Hooks from: & to: syntax in yml to disable anonymous searches - #4 by opcourdis
Добавление строки ниже в ваш app.yml в секцию env, а затем выполнение ./launcher restart app может быть полезным, хотя я сомневаюсь, существует ли всё ещё способ доступа к содержимому другим образом для анонимных пользователей, которые также могут установить cookie сессии, чтобы притвориться подключёнными, но я могу ошибаться… Если у кого-то есть мнение по этому поводу, не стесняйтесь поделиться.
env:
DISCOURSE_RATE_LIMIT_SEARCH_ANON_GLOBAL_PER_MINUTE: 0
Я пробую это, но прямые ссылки на страницы поиска теперь просто возвращают этот JSON:
{
"failed":"FAILED",
"message":"You’ve performed this action too many times, please try again later."
}
Есть ли другой способ это сделать?
Причина, по которой я не могу позволить анонимным пользователям искать по форуму, заключается в том, что изощрённый бот собирает данные с помощью запросов вроде этого:
/search?q=%40UserName+%23general+in%3Afirst
Похоже, они составляют карту пользователей и их контента для какого-то вида задачи по добыче данных. Чтобы защитить данные пользователей, я хочу предотвратить любой анонимный доступ к поиску. Проблема в том, что есть внутренние ссылки на страницы поиска, поэтому любой, кто не вошёл в систему, столкнётся с этим некорректным JSON-сообщением.
Я отредактировал темы так, чтобы поисковая строка не была видна до входа в систему, но любой анонимный пользователь, который кликнет по существующей ссылке на результаты поиска, получит этот JSON.
Сегодня они обрушили на форум десятки тысяч запросов, прежде чем я это остановил.
Скорее всего, сегодня будет 100 000 бот-запросов. ![]()
Проверьте свои форумы на наличие такого трафика, потому что это похоже на то, что они скрапят множество форумов для сбора данных для какого-то «поиска людей», связывая имена пользователей и контент форумов с реальными личностями.
Привет! То, что я предлагаю здесь, не связано с функцией поиска в этой теме, но вы используете форум с глобальным охватом или нет? Если нет, то это очень полезно: GitHub - friendly-bits/geoip-shell: User-friendly and versatile geoblocker for Linux · GitHub, и его легко настроить и поддерживать.
Однако членам вашего сообщества следует знать, что, путешествуя в некоторые страны, они могут не иметь доступа к вашему сайту.
Или всем, кто использует VPN. Я считаю, что это ядерный вариант со множеством последствий, и это не решение для автора темы.
Есть также плагины:
Именно поэтому я спросил OP, является ли форум всемирным или на уровне страны. Если вы живёте в Норвегии и используете европейского провайдера VPN, у него нет шансов показаться как приходящий из страны на далёком континенте, которую заблокировал бы инструмент geoip-shell.
В этом нет ничего «ядерного», всё зависит от ситуации OP, посмотрим, что он скажет.
@nat и @sam, что вы думаете по поводу этого запроса?
Мне кажется, это вполне разумно, особенно учитывая трафик, который я лично вижу на эндпоинте /search для анонимных пользователей.
С другой стороны, я знаю, что вы недавно думали о том, как сделать «Ask AI» доступным для анонимных пользователей.
А с третьей стороны, возможно, если мы будем думать о конфигурации доступности, это может быть в рамках рассмотрения как часть этого?
Ситуация, конечно, не из приятных. Я искренне считаю, что поиск должен быть доступен всем, но я также понимаю, сколько проблем этот бот доставляет. Кроме того, мне кажется, что предложения о гео-блокировке, приведённые выше, очень полезны в качестве первой линии защиты, если известно, что пользователи находятся из определённых мест.
Изначально я рассматривал вариант с search_allowed_groups, но, пожалуй, allow_anonymous_search (по умолчанию true) — лучшее решение. Реализация функции на основе групп сделала бы некоторые внутренние функции, зависящие от search, слишком сложными.
С учётом вышесказанного, когда allow_anonymous_search отключён, все функции поиска (API/UI) становятся недоступны для анонимов. Описание параметра сайта отражает это.
Одно, в чём я колебался: хотя причина этого PR и параметра сайта связана с вредоносными действиями (griefing), я задумываюсь, следует ли при отключённом allow_anonymous_search всё равно показывать поле поиска (которое не работает), чтобы побудить пользователя зарегистрироваться или войти в систему. Однако, я не думаю, что это должно мешать слиянию данного PR.
Также я бы предпочёл, чтобы мы не смешивали другие функции с этим конкретным запросом, который пока ограничен /search.
Будет здорово, если появится такая функция ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Согласен, это имело бы смысл. Также согласен, что это не должно блокировать созданный тобой PR. И у тебя уже есть этот фрагмент, который помогает:
При установке значения false анонимные пользователи, переходящие на
/search, будут перенаправлены на страницу входа.
Похоже, этого достаточно, чтобы выполнить данное требование на первом этапе.
Привет! Это уже было объединено.
Пожалуйста, обнови, чтобы получить новый параметр allow_anonymous_search, чтобы ты мог его отключить.
Эта тема была автоматически закрыта через 4 дня. Новые ответы больше не разрешены.