Сайт клиента работает через Cloudflare, временами набегают DDOS-еры, просят денег, проводят атаку на пару дней-часов, и уходят.
Хочу сделать белый список постоянных клиентов, добавить их всех в whitelist Cloudflare ( меню Firewall, вкладка Tools).
У сайта есть постоянное комюнити, около 20к авторизованых участников которые за последний месяц хотя бы дважды заходили на сайт, вот их я и планирую добавить в белый список.
Чтоб при жестком ддосе просто отрубать все остальные ip в админке Cloudflare (меню Firewall, вкладка Firewall rules).
20к ip конечно хочется добавить как то оптом, но вот формы куда их можно просто скопировать нет.
На вкладке Tools можно только по одному ip добавлять, зато можно 50к записей судя по документации.
На вкладке Firewall rules другой интерфейс, можно добавить сразу несколько ip в правило, но не слишком много, лимит на 4кб текста, 200ip пролазит 300 уже нет, всего можно 5 правил, и одно из них мне нужно под "Deny All".
Понятно, что надо добавлять все 20к через api в "IP Access Rule" ( то что там добавил видно в меню Firewall, вкладка Tools)
Ключь нашел в профиле, Account ID на вкладке Overview.
Тестовый ip запостил, работает.
Комюнити плотное, но ip меняются потихоньку, а доступно всего 50к записей на бесплатном акке.
Значит ip надо уметь удалять.
Массового удаления в api не нашел.
Можно получить полный список, взять оттуда ID и поодному удалять.
Ну и все сразу вытянуть не получится думаю, уж сильно много текста на 20к это займет в json
По чуть чуть вытянул удалил. И как то очень медленно это api работает.
Другой вариант, при постинге Ip в белый список ловить ответ в json, и сохранять себе в базу
ip:id
И когда ip стал не актуален удалять его по id, так выйдет меньше движений с тормозным api.
Но тут уже я вижу что собираюсь какой то небольшой софт писать, а не просто засунуть список ip.
Вроде бы задача подобная моей не что то сверх редкое, вот думаю спрошу, может есть готовое решение?