Android GCM サーバの権限チェック機能を検証する[Android]
(2013-05-15 13:52:20) by shinoda
Android GCM のサーバ用の API キーの入手を行なう時、「Create new Server key」を選択する。
そうすると、その API キーを使用するサーバを IP アドレスで指定出来るので、セキュリティ上良いんですわ。
Accept requests from these server IP addresses の入力欄に、一行に 1IPずつ記入する。
うちの会社はインターネット上にテスト用のサーバを 3台持ってるんで、それらの IP アドレスを記入する。
こんな感じ。
181.XXX.XXX.105/32
213.XXX.XXX.127/32
124.XXX.XXX.122/32
1台ずつの設定なので 32ビットのネットマスクをかけているが、複数のサーバを指定することも出来る。
その時は、
221.XXX.XXX.0/24
みたいに設定するわけですわ。
で、この IP アドレス以外のサーバから、GCM サーバにメッセージを送信してみた。
本来なら、id=0:1368593107767685%921c249ace0038c9 みたいなメッセージIDが返ってくるんだけど、
$ ./gcm_message_send.pl
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
という具合に、401 Unauthorized エラーの HTML ソースが返ってくる。
GCM サーバ(https://android.googleapis.com/gcm/send)を閲覧する権限が無いってわけだな。
バッチリじゃん!
コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る
Powered by
MT4i 3.0.8