Magefan захищає ваш магазин від будь-якого бот-трафіку, пошукового спаму, DDoS-атак та підозрілих запитів до сервера, щоб заощадити ресурси вашого сервера та покращити взаємодію з користувачем.
Він поєднує в собі кілька функцій, таких як автоматичне обмеження швидкості, додавання до білого/чорного списку IP-адрес, блокування агентів користувача, блокування країн, обмеження сторінок ботів, перевірка reCAPTCHA та детальні звіти про трафік, щоб допомогти вам блокувати трафік ботів.
У цьому посібнику ви дізнаєтеся, як налаштувати кожну функцію захисту від ботів цього модуль, увімкнути перевірку CAPTCHA та отримувати сповіщення щоразу, коли ваш магазин зазнає атаки ботів.
Встановлення та оновлення
Перейдіть до свого облікового запису Magefan та Документація з керування модулі Magefan , щоб дізнатися, як встановити Bot Blocker для Magento 2.
Загальні налаштування
Перейти до Магазини > Налаштування > Модулі Magefan > Блокувальник ботів щоб налаштувати модуль.
Примітка: більшість Параметри, наприклад, боти, запити та URL-адреси, вже заблоковані відповідно до найкращих практик, тому після ввімкнення модуль воно автоматично почне захищати ваш магазин. Змініть налаштування нижче, щоб блокувати/дозволяти певні IP-адреси, агенти користувачів, сторінки, пошукові терміни та налаштовувати CAPTCHA.
модуль має деякі загальні налаштування, які застосовуються до всього модуль.
- Увімкнути блокувальник ботів— вмикає або вимикає модуль .
- Точка ініціалізації — підтвердження лише для читання про додавання хука раннього завантаження розширення до pub/index.php. Це гарантує виконання правил блокування до того, як Magento почне обробку запиту.
- Заголовок IP-адреси довіреного проксі-сервера — повідомляє блокувальнику ботів, яким проміжним серверам (наприклад, NGINX, Cloudflare або CDN) дозволено повідомляти справжню IP-адресу клієнта в HTTP-заголовках. Ви можете ввести кілька заголовків, розділених комами, наприклад, HTTP_CF_CONNECTING_IP,HTTP_X_REAL_IP.
Натисніть Показати значення активного заголовка щоб побачити фактичні значення $_SERVER, надіслані з вашим поточним запитом. Це показує заголовок, який фактично надсилає ваш проксі-сервер або CDN, тож ви можете налаштуватиЗаголовок IP-адреси довіреного проксі-сервера правильно.
Залиште порожнім, щоб покластися на ВІДДАЛЕНА_АДРЕСА лише, що рекомендується, якщо ваш магазин не знаходиться за проксі-сервером або CDN. Якщо так, встановіть для цього значення $_SERVER ключ, який ваша інфраструктура використовує для передачі реальної IP-адреси відвідувача.
наприклад,HTTP_CF_CONNECTING_IP для Cloudflare або HTTP_X_REAL_IP для модуля ngx_http_realip_ від Nginx.
Примітка: Ретельно налаштуйте цей параметр, якщо ви використовуєте CDN або балансувальник навантаження, оскільки якщо ви налаштуєте його неправильно, кожен відвідувач матиме спільну IP-адресу проксі, що може призвести до хибнопозитивних блокувань обмеження швидкості.
- Електронна пошта для сповіщень та відправник електронної пошти — визначити список адрес, які отримують сповіщення про DDoS-атак та автоматичні сповіщення reCAPTCHA, а також відповідно відправника цих сповіщень.
Якщо залишити порожнім, тоЗагальне Контактна електронна адреса використовується для сповіщень електронною поштою.
![]()
Захист від DDoS-атак
Налаштування розділу DDoS дозволяють автоматично блокувати IP-адреси, які надсилають забагато запитів за заданий короткий проміжок часу.
- Дія при досягненні ліміту — визначає, що відбувається, коли певна IP-адреса перетинає певну кількість запитів:
- Надсилати сповіщення електронною поштою (з можливістю блокування через електронну пошту) — ви отримуєте сповіщення про шкідливу IP-адресу та вирішуєте, чи блокувати її, електронною поштою.
- Негайно заблокувати — IP-адресу блокують негайно.
- Негайно заблокувати та повідомити електронною поштою — IP-адресу блокується негайно, і ви отримуєте сповіщення про це електронною поштою.
- Вимагати reCAPTCHA — потрібна перевірка CAPTCHA.
Примітка: якщо ви оберетеВимагати reCAPTCHA опцію, вам також потрібно налаштувати Ключі reCAPTCHA розділ нижче.
- Максимальна кількість запитів на IP-адресу — визначає кількість запитів, які може надіслати одна IP-адреса в межахВікно моніторингу перш ніж буде запущено налаштовану дію (вище).
- Поріг блокування підмережі (× обмеження IP-адрес) — вказує, у скільки разів вищий сумарний ліміт запитів для всієї підмережі /24 порівняно з однією IP-адресою. Це виявляє розподілені атаки, які поширюють запити на кілька IP-адрес.
Наприклад, з обмеженням IP-адрес 100 та множником 3, вся підмережа блокується, коли загальна кількість запитів досягає 300.
- Вікно моніторингу (секунди) — визначає часове вікно, яке використовується для підрахунку запитів. Мінімальне дозволене значення становить 300 секунд, що становить 5 хвилин.
- Тривалість блоку (секунди) — визначає, як довго тимчасовий блок залишається активним після перевищення певною IP-адресою максимальної кількості запитів. Значення за замовчуванням — 3600 секунд, що дорівнює 1 годині.
- Зберігання журналу запитів (дні) — визначає час життя даних журналу запитів у Моніторі трафіку, перш ніж cron автоматично видаляє старіші записи.
![]()
Списки доступу
У цьому розділі ви можете контролювати, які IP-адреси та агенти користувачів блокувати або дозволяти.
IP-адреси в чорному/білому списку
- Дозволені IP-адреси — визначає IP-адреси або діапазони CIDR, які ніколи не блокуються у вашому магазині. Використовуйте це для надійних партнерів, внутрішніх інструментів або віддалених офісів.
- Заблоковані IP-адреси — визначає IP-адреси або діапазони CIDR, яким назавжди заблоковано доступ до вашого магазину.
наприклад, однакові формати працюють для обох полів 192.168.1.30 або 192.168.1.0/24.
![]()
Блокувати/дозволяти агенти користувачів
- Перевірка пошукових роботів — підтверджує запити, що стверджують, що надходять від Googlebot, Bingbot, DuckDuckBot або Applebot, за допомогою зворотного пошуку DNS з підтвердженням уперед, перш ніж дозволити їм обійти перевірки DDoS, країни та обмеження швидкості, замість того, щоб покладатися лише на згоду Дозволених користувацьких агентів.
Примітка: Це виконує пошук DNS у реальному часі, коли вперше виявлено нову IP-адресу сканера, а потім кешує результат протягом 24 годин для кожної IP-адреси. Якщо ваше середовище хостингу має повільну або ненадійну розв’язку вихідних DNS-адрес, вимкніть цю опцію, щоб модуль використовувало звичайний рядок збігу дозволених User-Agents.
Запити, які не проходять цю перевірку, не блокуються негайно. Вони просто перестають розглядатися як надійні пошукові роботи та підпадають під дію звичайних правил захисту.
- Дозволені агенти користувача — визначає агенти користувачів, які обходять усі правила блокування ботів, включаючи захист від DDoS-атак та обмеження URL-адрес (налаштовано нижче).
Примітка: Блокувальник ботів Magefan за замовчуванням додає до білого списку Googlebot, Bingbot та DuckDuckBot, тому ваш SEO не постраждає.
- Заблоковані користувацькі агенти — визначає агенти користувачів, яких завжди слід блокувати.
![]()
Обидва налаштування підтримують регулярні вирази та точні рядки.
наприклад, /.*Googlebot.*/ відповідає будь-якому агенту користувача, що містить "Googlebot", тоді як MyBot/1.0 відповідає лише цьому точному рядку.
/.*spider.*/ відповідає будь-якому агенту користувача, що містить "spider", тоді як python-requests/2.31.0 відповідає лише цьому точному рядку. Використовуйте /python-requests\/.*/ щоб заблокувати всі версії.
Блокування країн
Тут ви можете обмежити доступ до магазину з цілих країн за допомогою географічного визначення IP-адреси.
модуль постачається з двома базами даних Geo IP для забезпечення належного відстеження та симулятором місцезнаходження, який дозволяє протестувати блокування без VPN.
- Увімкнути блокування за країнами — вмикає або вимикає геоблокування.
- Заблоковані країни — вибирає країни, відвідувачам яких слід заборонити доступ до вашого магазину.
![]()
Обмеження сторінки бота
Цей розділ дозволяє блокувати непотрібну генерацію URL-адрес (наприклад, відфільтрованих URL-адрес категорій або пошуку) певними ботами, які намагаються запитувати певні сторінки, незалежно від захисту від DDoS-атак.
модуль повертає відповідь 410 Gone для вказаних ботів та забезпечує повний доступ до вашого магазину для реальних відвідувачів та перевірених пошукових роботів.
- Правила обмеження — кожне правило поєднує в собі одне Шаблон User-Agent з одним Шаблон URL-адреси, тож ви можете визначити окремі обмеження для кожного бота, замість того, щоб один бот був обмежений на кожній налаштованій сторінці.
наприклад, одне правило може обмежувати Бот А з /checout, тоді як окреме правило обмежує доступ бота B до /admin, незалежно один від одного.
Приклади шаблонів користувацьких агентів
Це визначає шаблони регулярних виразів, які слід розглядати як боти для обмежень сторінок.
Цей список не залежить від глобального Дозволені агенти користувача список (розділ «Список доступу»), оскільки дозволеному агенту користувача все ще може бути обмежено доступ до цих конкретних сторінок.
напр. /.*bot.*/i, /.*crawler.*/i, /.*spider.*/i, /.*slurp.*/i.
Приклади шаблонів URL-адрес з обмеженнями
Це визначає шаблони регулярних виразів або звичайного тексту, що зіставляються з REQUEST_URL. Боти, що відповідають цим URL-адресам, отримають відповідь 410 Gone під час спроби доступу до цих URL-адрес.
наприклад
|[?&]p=\d|
|[?&]каталог_списку_продуктів=|
|[?&]замовлення_списку_продуктів=|
|/пошук у каталозі/|
|/оформлення замовлення/|
|/пошук/|
|/клієнт/|
![]()
Багаторівневий захист навігації
Ці налаштування дозволяють вам перевіряти відвідувачів, які розсилають спам у вашій категорії та фільтри пошуку, за допомогою reCAPTCHA, незалежно від порогів DDoS-атак та налаштувань reCAPTCHA для всього сайту. Цей захист спрямований на схему, коли одна IP-адреса швидко застосовує кілька фільтрів до вашої навігації.
- Увімкнути — вмикає або вимикає багаторівневий захист навігації. Коли IP-адреса перевищує встановлений нижче ліміт, необхідно виконати перевірку reCAPTCHA.
- Макс. кількість відфільтрованих запитів за хвилину — кількість запитів на багаторівневу навігацію, дозволених з однієї IP-адреси протягом однієї хвилини до ввімкнення перевірки reCAPTCHA.
- Мінімальні параметри фільтра— мінімальна кількість параметрів багаторівневої навігації, які рядок запиту може містити в одному запиті.
- Виключені параметри запиту— список параметрів запиту, розділених комами, які ніколи не враховуються як фільтри.
наприклад, p, каталог_списку_продуктів, порядок_списку_продуктів, режим_списку_продуктів, обмеження_списку_продуктів, q, cat, джерело_utm, засіб_utm, кампанія_utm, термін_utm, контент_utm, магазин___, ідентифікатор_сіти
Шаблони URL-адрес багаторівневої навігації — шаблони регулярних виразів або звичайного тексту, що відповідають URL-адресі запиту. Перевіряються лише сторінки, що відповідають цим шаблонам, на наявність шкідливої багаторівневої навігації. Залиште поле порожнім, щоб перевірити кожну сторінку.
![]()
Блокувальник недійсних запитів
Ці налаштування виявляють та блокують запити, що відповідають відомим шаблонам експлойтів та сканерів, перш ніж вони потраплять до Magento.
Як тільки ви увімкнути Блокувальник поганих запитів перевіряє заборонені шаблони тіла запитів лише на тіла запитів POST та PUT, а заборонені шаблони URL-адрес — на URL-адресу запиту для всіх методів HTTP.
- Сповіщення електронною поштою — якщо встановлено значення «Так», щогодини надсилає електронну пошту зі зведеним звітом, коли блокуються нові погані запити (не більше одного сповіщення на годину).
- Сповіщення Шаблон електронного листа — визначає шаблон електронної пошти для заблокованих поганих запитів, що надсилаються модуль.
Заборонені візерунки на тілі
Тут ви визначаєте шаблони, що перевіряються за тілами запитів POST/PUT. Звичайний текст зіставляється як підрядок без урахування регістру. Оберніть шаблон у роздільники /, щоб використовувати його як регулярний вираз, наприклад, /eval\s*\(/i.
Список за замовчуванням вже блокує поширені виклики впровадження шаблонів, небезпечні функції PHP (eval, exec, shell_exec, phpinfoтощо), команди оболонки, такі як wget/rm -rf, вбудований ін'єкції, та base64/atob корисні навантаження.
Заборонені шаблони URL-адрес
Тут ви визначаєте шаблони, що перевіряються за URL-адресою запиту для кожного методу HTTP, використовуючи ті самі правила підрядків/регулярних виразів.
Шаблон за замовчуванням блокує поширені цілі сканування, такі як .env, .git, .htaccess, /wp-адміністратор, /wp-login, xmlrpc.php, phpinfo і XDEBUG_SESSION.
Примітка: той/та/те Звіт в обох розділах визначає, чи включатимуться збіги за заданим шаблоном до погодинного дайджесту електронної пошти. Встановіть для нього значення Ні щоб продовжувати мовчки блокувати цей візерунок.
![]()
Фільтр пошуку
Цей розділ запобігає використанню ботів пошуком та створенню тисяч спам-сторінок результатів пошуку. Налаштування за замовчуванням уже блокують найпоширеніші пошукові запити, згенеровані ботами.
- Ключові слова — визначає пошукові запити, які блокуються. Додайте будь-які ключові слова, які, на вашу думку, повторно перетинаються зі шляхами /catalogsearch/ у Монітор трафіку.
наприклад, об'єднання вибору, об'єднання всіх виборів, group_concat, concat(, benchmark(, updatexml(
![]()
реКАПЧА
Блокувальник ботів Magefan дозволяє вам увімкнути CAPTCHA-перевірку для підозрілих ботів з кроком перевірки замість їх миттєвого блокування.
Ключі
У цьому розділі ви налаштовуєте бажаний метод CAPTCHA. Це потрібно, якщо ви хочете вимагати reCAPTCHA як дію захисту від DDoS-атак або якщо ви хочете миттєво або автоматично ввімкнути режим reCAPTCHA для всього сайту.
- Постачальник CAPTCHA — виберіть між Google reCAPTCHA v2 (прапорець «Я не робот»), Google reCAPTCHA v3 або Cloudflare Turnstile (альтернатива, що забезпечує конфіденційність).
- Ключ сайту та секретний ключ — налаштування, що використовуються для авторизації за допомогою відповідного режиму CAPTCHA у вашому магазині. Ви генеруєте їх під час реєстрації в сервісах Google reCAPTCHA або Cloudflare.
Примітка: Google reCAPTCHA, зареєструйте прапорець reCAPTCHA v2 у Адміністратор Google reCAPTCHA консоль. Для турнікета Cloudflare згенеруйте ключі з вашої Панель керування Cloudflare.
- Пароль для підтвердження — автоматично генерується під час першого збереження конфігурації. За потреби ви можете змінити його власним значенням.
![]()
Wholesite reCAPTCHA
У цьому розділі ви визначаєте, чи хочете використовувати reCAPTCHA для всього веб-сайту та як це робити.
- Режим — контролює, коли CAPTCHA-запит увімкнено на всьому вашому вебсайті:
- Інвалід — КАПЧА завжди вимкнена.
- Завжди увімкнено — кожен відвідувач бачить завдання для перевірки.
- Завжди ввімкнено (для певних сторінок) — кожен відвідувач має проблеми, але лише на сторінках, які ви перерахували в Включені шаблони URL-адрес.
![]()
- Автоматично (увімкнути при високому навантаженні) — CAPTCHA-запит активується автоматично, щойно використання процесора або кількість запитів перевищує налаштовані порогові значення (описано нижче), а потім знову деактивується, щойно трафік повертається до нормального стану.
Примітка: обидва Завжди увімкнено і Авто режими вимагають налаштування параметрів у Ключі розділ вище.
- Сповіщення електронною поштою — визначає, коли ви отримуватимете сповіщення про CAPTCHA, якщо ви використовуєте Авто режим: коли reCAPTCHA Обидва (увімкнено та вимкнено), Тільки коли ввімкнено, або ніколи (Не надсилати).
- Повідомити після — надсилає електронний лист із повідомленням «reCAPTCHA увімкнено» лише після того, як завдання залишається безперервно активним протягом певного часу (наприклад, через 5 хвилин). Це дозволяє уникнути спаму у вхідних повідомленнях через короткочасні стрибки трафіку.
Примітка: Якщо навантаження повертається до нормального стану раніше цього порогу, ні ввімкнений, ні вимкнений електронний лист не надсилається.
- Поріг процесора (%) — активує reCAPTCHA в Авто режим, як тільки середнє навантаження на процесор перевищує цей відсоток.
- Запити / хвилина Поріг — активує reCAPTCHA в Авто режим, як тільки загальна кількість запитів за останню хвилину перевищить це значення.
- Виключені шаблони URL-адрес — визначає, які запити на зіставлення завжди повинні обходити CAPTCHA. Використовуйте це для кінцевих точок API та вебхуків, які не можуть розв’язати CAPTCHA, таких як зворотні виклики IPN платежів.
наприклад, /paypal/, /braintree/, /stripe/, /elavon/
![]()
- Країни — увімкнути CAPTCHA лише для певних країн, відповідно до інших правил, що застосовуються до вибраного режиму CAPTCHA.
![]()
Зовнішній вигляд сторінки підтвердження
Тут ви можете налаштувати сторінку, яку бачать відвідувачі, коли їх просять виконати CAPTCHA-запит.
- Показати логотип — відображає логотип вашого магазину над заголовком на сторінці підтвердження.
- Код мови HTML — встановлює мову, що використовується на сторінці атрибут.
- Заголовок сторінки — заголовок, що відображається на сторінці підтвердження.
- Опис сторінки — текст, наведений під заголовком, що пояснює, чому потрібна перевірка.
- Текст кнопки — мітка на кнопці «Надіслати».
- Заголовок помилки — текст повідомлень про помилки, що наведено вище, якщо перевірка не вдається.
![]()
Моніторинг трафіку та звіти
Щойно блокувальник ботів Magefan почне блокувати ботів та шкідливі запити, ви зможете точно переглянути, що саме потрапляє у ваш магазин, на панелі моніторингу трафіку. Перейдіть до Система > Блокувальник ботів > Монітор трафіку щоб відкрити його.
Примітка: Монітор трафіку зчитує дані в реальному часі безпосередньо з файлів журналів на диску. Записи автоматично видаляються cron на основі Зберігання журналу запитів (дні) і Тривалість блоку (секунди) налаштування, які ви налаштували раніше.
Огляд панелі інструментів
У верхній частині сторінки ви можете знайти п’ять карток з підсумками, які надають вам огляд трафіку вашого магазину:
- Тимчасово заблоковано — Тимчасово заблоковано IP-адреси.
- Унікальні IP-адреси — кількість унікальних IP-адрес, що спостерігаються протягом вибраного діапазону дат діаграми.
- Загальна кількість запитів — загальна кількість запитів, зареєстрованих у вибраному діапазоні.
- Постійно заблоковано — IP-адреси заблоковано назавжди, за допомогою правила блокування (наприклад, захист від DDoS-атак) або вручну (наприклад, через панель огляду IP-адрес, списки доступу).
- Постійно дозволено — IP-адреси у вашому постійному списку дозволених адрес.
![]()
Примітка: використовувати Діапазон дат діаграми селектор у верхньому правому куті (під картками), щоб змінити період, який відображають ці картки та діаграми нижче (наприклад, останні 24 години, весь час, власний діапазон).
Діаграми
У розділі моніторингу трафіку відображається розширений розділ діаграм, що охоплює різні тенденції трафіку:
- Запитів за годину — загальний обсяг запитів з можливістю вибору інтервалу (1 хв, 5 хв, 10 хв, 30 хв, 1 год), щоб ви могли виявляти піки трафіку ботів.
- Навантаження сервера за годину — середнє використання процесора за однакові інтервали. Це дозволяє співвідносити піки трафіку з навантаженням на сервер.
- Найпопулярніші агенти користувачів — агенти користувачів, що генерують найбільше запитів.
наприклад, використовуйте цю діаграму, щоб виявити сканери (наприклад, python-requests, sqlmap, Nikto), що ховаються серед реального трафіку браузера.
- Найпопулярніші країни — країни, що надсилають найбільше запитів.
- Найпопулярніші шляхи — найпопулярніші URL-адреси у вашому магазині. Це допомагає визначити сторінки з незвичною кількістю запитів.
- Найпопулярніші IP-адреси — окремі IP-адреси, що генерують найбільше запитів, з їхнім місцезнаходженням.
- Топ/24 підмережі та Топ/16 підмереж — обсяг запитів, згрупований за діапазоном підмереж.
![]()
Оглядова сітка IP-адрес
Під діаграмами трафіку та запитів у моніторі трафіку Magefan є сітка з вкладками, що містить повну історію запитів. Вона дозволяє переглядати та вживати заходів щодо будь-якої IP-адреси, країни чи агента користувача:
- Огляд IP-адрес — кожна унікальна IP-адреса, що відображається в журналах, з такими даними:
наприклад, країна, підмережа, загальна кількість запитів, показники за останню годину та середня кількість запитів за годину, унікальні UA (користувацькі агенти, що використовуються цією IP-адресою), позначки часу «Перший візит» / «Останній візит», останній запитуваний шлях, останній користувацький агент та поточний статус (наприклад, «Звичайний»).
- Тимчасове блокування— IP-адреси під тимчасовим блокуванням, із зазначенням тривалості блокування, що залишилася.
- Пермська заблокована — IP-адреси, країни та агенти користувачів, заблоковані назавжди, вручну або за правилом із Розблокувати варіант.
- Заблоковані недійсні запити — запити та IP-адреси, відхилені Блокувальник недійсних запитів.
- Необроблений журнал — нефільтрований журнал запитів, корисний для детального дослідження певної IP-адреси або шляху.
![]()
Примітка: використовувати Пошук за ключовим словом поле або Фільтри щоб знайти конкретні дані (наприклад, за країною, статусом чи шляхом), Колонки кнопка для відображення або приховування стовпців, а також Експорт щоб завантажити поточне подання для подальшого аналізу або для спільного доступу.
Розширені фільтри (необроблений журнал)
The Необроблений журнал вкладка містить Розширений фільтр для створення багатоумовного пошуку Шлях, IP-адреса, агент користувача і Країна запити.
Кожне поле підтримує кілька умов відповідності: Містить, Не містить, Починається з, Закінчується на, Дорівнює, та Не дорівнює.
- Кілька значень в одній умові об'єднуються як АБО — наприклад, IP-адреса, що починається з 141, 142 відповідає запитам з будь-якої IP-адреси.
- Кілька рядків умов об'єднуються як І — наприклад, IP-адреса починається з 141, 142 у поєднанні з країною дорівнює Литві та Латвії.
Це дає змогу робити дуже специфічні запити в одному фільтрі, без експорту журналів.
![]()
Дії з сіткою
Окрім перегляду даних IP-адреси в оглядовій сітці, ви можете виконувати різні дії для певної IP-адреси, її країни або її агента користувача в Дії стовпець або виконати ці дії для кількох IP-адрес (RAW) через масові акції:
- Переглянути в необробленому журналі — переглянути повну історію запитів IP-адреси.
- Блокувати IP-адресу постійно / тимчасово — додати IP-адресу до заблокованих або застосувати тимчасове блокування, використовуючи налаштовану тривалість блокування.
- Розблокувати IP / Дозволити IP — видалити існуюче блокування або додати IP-адресу до дозволених IP-адрес, щоб вона більше ніколи не блокувалася.
- Заблокувати країну назавжди або тимчасово / Розблокувати країну — застосувати або скасувати блокування для всієї країни IP-адреси.
- Блокувати агента користувача назавжди або тимчасово / Розблокувати агента користувача— додати або видалити агент користувача зі списку заблокованих агентів користувача.
![]()