【发布时间】:2012-01-14 00:22:24
【问题描述】:
为了在我们的预览环境中测试 Open Graph API,我们需要在防火墙上戳一个洞,以允许 Facebook 抓取我们的对象页面。我们应该允许哪些 IP 范围?
【问题讨论】:
为了在我们的预览环境中测试 Open Graph API,我们需要在防火墙上戳一个洞,以允许 Facebook 抓取我们的对象页面。我们应该允许哪些 IP 范围?
【问题讨论】:
编辑
Facebook 一直表现出一些爱心,现在将 IP 块公开给任何人
http://developers.facebook.com/docs/ApplicationSecurity/#facebook_scraper https://developers.facebook.com/docs/sharing/best-practices#crawl
Facebook 抓取工具
许多平台服务,例如社交插件和开放 Graph 要求我们的系统能够访问您的网页。我们 认识到在某些情况下您可能不想要这些 公共互联网上的页面,测试期间或其他安全 原因。
为方便起见,您应该在安全性中设置例外情况 系统允许 Facebook 通过添加 以下 IP 范围,截至 2012 年 4 月准确。
31.13.24.0/21 31.13.64.0/18 66.220.144.0/20 69.63.176.0/20 69.171.224.0/19 74.119.76.0/22 103.4.96.0/22 173.252.64.0/18 204.15.20.0/22
除了 IP,您还可以将用户代理用于防火墙。
http://developers.facebook.com/docs/reference/plugins/like/
Facebook 何时抓取我的页面?
Facebook 需要抓取您的页面以了解如何显示它 网站。
Facebook 每 24 小时抓取一次您的页面,以确保属性是 最新。当 Open Graph 的管理员时,该页面也会被抓取 页面点击 Like 按钮,当 URL 输入到 Facebook URL Linter。 Facebook 会观察你的 URL 上的缓存标头 - 它 将按优先顺序查看“Expires”和“Cache-Control”。 但是,即使您指定更长的时间,Facebook 也会抓取您的 每 24 小时一页。
刮板的用户代理是:“facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"
【讨论】:
whois -h whois.radb.net -- '-i origin AS32934' | grep ^route 查看所有范围。
【讨论】:
66.220.144.0/20
66.220.144.0/21
69.63.176.0/20
69.63.176.0/21
69.63.176.0/24
69.63.184.0/21
69.171.224.0/19
204.15.20.0/22
31.13.24.0/21
【讨论】:
Facebook 现在发布他们的IP range。
截至 2012 年 4 月,它是:
31.13.24.0/21
31.13.64.0/18
66.220.144.0/20
69.63.176.0/20
69.171.224.0/19
74.119.76.0/22
103.4.96.0/22
173.252.64.0/18
204.15.20.0/22
【讨论】:
新信息列在以下 URL 上,是的,他们确实公开了此信息。
运行此命令以获取爬虫的当前 IP 地址列表 用途。
whois -h whois.radb.net -- '-i origin AS32934' | grep ^route
如
# For example only - over 100 in total
31.13.24.0/21
66.220.144.0/20
2401:db00::/32
2620:0:1c00::/40
2a03:2880::/32
是的,DMCS 提到的那些是正确的。只是想验证并找到此信息。
谢谢
【讨论】:
Facebook 并未正式公布其爬虫源地址范围,但您可以在公开的 BGP 路由表中查看其所有 IP 范围的列表:
我们目前正在使用此列表:
【讨论】: