仕事でなんちゃってPHPを書いてると認証をFacebookなど外部のSNSサービスに投げたい場合がある。
その場合、アクセス出来るのがFacebookだけとか制限したい場合にdigで返ってきたIPを登録すると嵌ったりする。
ユーザが多いSNSサービスは当たり前のようにロードバランサ―なんかが居て複数のIPで分散されているから、1つや2つ登録しただけじゃダメなんだよね。
でも、Facebookが使ってるIPを全部表示なんて出来るのか?
・・・・・・
ソースがどこに書いてあったか忘れたけど、こんな方法があるそうな
whois -h whois.radb.net -- '-i origin AS32934' | grep ^route: | awk -F" " '{print $2}'
ふむ、Merit RADbに登録されてるデータベースから引っ張ってきてるみたい。
ちなみに、『AS32934』ってのがFacebookの事ね。
digコマンドでfacebook.comのIPを調べる
dig facebook.com
ANSWER SECTIONのAレコードを確認すると、こんな感じ。
facebook.com. 300 IN A 173.252.91.4
次に確認したIPのwhoisを確認する
whois 173.252.91.4
OriginASに書かれているのがFacebookのASなので控える。
さらっと先ほどのコマンドを実行してみると78セグメント。Twitterだと61セグメントくらい。
調子に乗ってGoogle+用にGoogleを調べたら6734セグメント(^^;)
さすがはGoogle先生だ・・・。

Getting Started with OAuth 2.0
- 作者: Ryan Boyd
- 出版社/メーカー: O'Reilly Media
- 発売日: 2012/02/22
- メディア: Kindle版
- この商品を含むブログを見る