# Проблемы создания функции OSINT для Facebook в OSINT Suite ### 1. Facebook API не позволяет осуществлять расширенный поиск - Старая конечная точка `/search?type=user&q=...` для поиска пользователей по имени была удалена. Facebook явно прекратил поиск пользователей через API Graph примерно в [2018](https://stackoverflow.com/questions/54616711/facebook-api-graph-not-search-users) году. - Старые инструменты, которые позволяли делать более сложные запросы, такие как Graph Search и FQL (которые позволяли искать людей по месту работы, образованию и т. д.), также были [устаревшими и закрытыми](https://en.wikipedia.org/wiki/Facebook_Query_Language). --> В связи с этим вы не сможете: \+ Поиск всех пользователей Facebook по полному имени. \+ Поиск людей по запросу «работает в компании X». \+ Поиск людей по запросу «учился в университете Y». \+ Комбинируйте эти фильтры в любом произвольном запросе. ### 2. Поиск в Facebook без входа в систему больше не работает - Я нашел на [YouTube видео](https://www.youtube.com/watch?v=sCfAZP6cwxs), в котором рассказывается о функции Facebook, позволяющей находить людей так же, как контакты в телефонной книге, без необходимости входа в систему, но она больше не работает: `https://www.facebook.com/directory/people/`. ![image](https://hackmd.io/_uploads/rkrxcJrMWg.png) - Я нашёл альтернативу, но она довольно ограничена: `https://www.facebook.com/public/{ФИО}`. Поиск возможен только по ФИО и даёт ограниченное количество результатов. Например, если я ищу человека по ФИО `Pham Hieu Ngan`, я перейду по адресу `https://www.facebook.com/public/Pham-Hieu-Ngan`, результат будет следующим: ![image](https://hackmd.io/_uploads/SJCDTJSf-g.png) - Результаты, подчеркнутые красным, неверны, а результаты, подчеркнутые зеленым, верны по ФИО `Pham Hieu Ngan`. Очевидно, что этот альтернативный метод не может быть столь же эффективным и точным, как функция расширенного поиска Facebook: ![image](https://hackmd.io/_uploads/BJ9GygBfbg.png) - Однако функция расширенного поиска Facebook может быть использована только тогда, когда мы входим в Facebook и пользуемся им как обычный пользователь. - Я думал об интеграции Facebook в свое веб-приложение OSINT Suite, похоже на "Google Programmable Search Engine": ![image](https://hackmd.io/_uploads/ByA-Yerf-x.png) Но возникла проблема, нельзя и технически, и по правилам сделать сайт с `<iframe>`, в котором пользователь войдёт в Facebook и будет пользоваться Advanced Search как на самом facebook.com. **Почему:** a. **Facebook блокирует iframe** Страницы Facebook отправляют заголовки `X-Frame-Options` / `Content-Security-Policy (frame-ancestors 'self')`. Браузер просто не даст открыть facebook.com внутри чужого домена. b. **Риски безопасности и нарушение правил** Логин Facebook внутри стороннего iframe — классический сценарий фишинга. Это нарушает Facebook Platform Policy и может привести к блокировке приложения/аккаунта. c. **Advanced Search как на сайте недоступен через API** Старый Graph Search сильно урезан. Официальный Graph API даёт доступ только к ограничённым данным и правам; полностью повторить веб-функционал поиска невозможно. d. **Как делать “по-правильному”:** * Использовать **Facebook Login (OAuth)**: перенаправление на facebook.com, авторизация, возврат токена на ваш сайт (без iframe). * Работать через **Graph API** только с теми данными и в тех объёмах, которые разрешены, и уже у себя строить фильтры/поиск по этим данным. e. **Для личного пользования** Если нужно что-то только для себя, безопаснее всего использовать сам сайт facebook.com или, в крайнем случае, писать браузерное расширение, которое выполняет код прямо на facebook.com (но без массового скрейпинга и нарушения правил). - Итого: iframe-подход для входа и Advanced Search в Facebook — фактически невозможен и запрещён; использовать нужно официальный OAuth + Graph API с ограничениями. Даже если бы эта функция расширенного поиска в Facebook была реализована, пользователям всё равно пришлось бы входить в систему и проходить аутентификацию, что отнимает огромное количество времени. При этом они могли бы войти в существующий сеанс и воспользоваться функцией расширенного поиска непосредственно в самом приложении Facebook. Поэтому пользователям, у которых уже есть аккаунт в Facebook, эта функция в OSINT Suite действительно не нужна. ### 3. Заключение: В настоящее время нет возможности выполнять расширенный поиск на Facebook по нескольким критериям, таким как FIO, адрес, место работы, учебное заведение и т. д., без входа в Facebook. Facebook также применяет очень строгие меры безопасности, такие как предотвращение интеллектуального анализа данных, извлечения данных, встраивания Facebook в Iframe и т. д. А если у пользователей уже есть учетная запись Facebook, они будут напрямую использовать функцию расширенного поиска, доступную на Facebook, а не в моем приложении OSINT Suite.