Доступ к внешнему API с Ruby заблокирован CloudFlare - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь получить доступ к веб-API HaveIBeenPwned для взломанных сайтов и электронной почты, но меня блокирует анти-DDoS-защита cloudflare. Я обнаружил, что есть способы обойти это с помощью Python и JavaScript, но я не добился успеха с моим приложением React / Rails.

В этом сообщении есть следующая цитата: «В настоящее время они проверяют, поддерживает ли клиент JavaScript, который может быть подделан». Я не смог найти другую документацию этого поведения.

Мне нужна эта информация в бэкэнде, поэтому вызов HIBP из внешнего интерфейса не идеален. Любая идея, как поразить API из Rails?

1 Ответ

0 голосов
/ 05 сентября 2018

Если они хотят, чтобы он использовался только во внешнем интерфейсе, использовать его на внутреннем интерфейсе может быть сложно. Вам нужно будет создать свою собственную оболочку, например, puppeteer . А со стороны Rails выполните команду, которая будет выполнять некоторую работу в фоновом режиме. Но имейте в виду, он работает не очень быстро (может занять до 5 секунд на запрос) и заблокирует ваш Rails-процесс.

Я бы начал с одного приложения node.js, которое будет принимать параметры командной строки. Ruby не очень хорошо разбирается в веб-поиске, поэтому нет никаких деликатных решений. Также имейте в виду, что у вас нет никаких гарантий. Однажды он может просто перестать работать.

...