Используйте внутренний кеш MediaWiki, чтобы предотвратить неудачные попытки входа в систему.

Я работаю над плагином MediaWiki, который добавляет определенную капчу, если у пользователей более трех неудачных попыток входа в систему. Я основываюсь на существующем плагине ConfirmEdit, но по какой-то причине они хранят плохие попытки входа в систему, похоже, не работают для меня. После проверки кода, который они используют, кажется, что они используют глобальную переменную $wgMemc, которая в моем случае является экземпляром FakeMemchachedClient. Это поддельный мемчач, который просто возвращает true для всего, даже ничего не сохраняя.

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

Единственное, что я мог придумать, чтобы полностью избежать кеша, - это отправка количества неудачных входов в систему, но это может быть легко изменено умным пользователем/ботом...

У кого-нибудь есть идеи?


person Stephan Muller    schedule 13.03.2011    source источник


Ответы (1)


В идеальном случае $wgMemc должен быть экземпляром MemcachedPhpBagOStuff. На самом деле это интерфейс для memcached, см. страницу MediaWiki для получения дополнительной информации и использования в MediaWiki. .

Для этого варианта использования это был бы отличный выбор. Однако, поскольку похоже, что у вас не настроен memcached, возможно, единственной жизнеспособной альтернативой является использование базы данных.

person Matěj G.    schedule 17.04.2011
comment
Хм, спасибо. Я думаю, что слишком много включать memcached только для этого, поэтому я просто буду использовать базу данных :) - person Stephan Muller; 22.04.2011