携帯サイトの運営に携わっている方にお尋ねします。

各キャリアが公開しているゲートウェイのIPアドレス帯域によるアクセス制限を行っているのですが、
このIPアドレス帯域をなるべく最新の情報を保つようにしたいです。
何か効率のよいやり方、もしくは工夫していることなどあれば教えていただきたいです。
ちなみにPHPで構築したサイトで、IPアドレス帯域をMySQLに保存してアプリで判定しています。
よろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/04/30 18:50:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:doropon No.3

回答回数94ベストアンサー獲得回数16

ポイント26pt

Bombastusのが正当だと思います。公式サイトを運用している時はキャリアからいろいろな通知のメールがくるので、それを見てやってました。

私も個人で携帯のIP範囲をどうしようかと思うと、やっぱりサイトを見て回るか、該当ページをphpなりで取得しスクレイピングして、リストを作ったほうがいいかなと。思ってます。作ったリストをメールで飛ばして、自分で承認して反映と作らねばとんでもない値になりかねませんが。

アドレスの判定だと、

ルータでフィルタ

サーバでIP的にフィルタ(iptablesなど)

apache本体のhttpd.confでフィルタ

.htaccessでディレクトリごとにフィルタ

これは試したことがありませんが、

.htaccessでファイル名で制限してフィルタ(<Files>ディレクティブ)

かなと。

アプリケーションで行うのも有りだとは思います。多少のオーバーヘッドがでてくるのと、

DBがひけない時などのエラー処理をすれば問題ないかと。

id:kazumaryu

レス遅くなり申し訳ありません、ご回答ありがとうございます!

>公式サイトを運用している時はキャリアからいろいろな通知のメールがくるので、それを見てやってました。

これは知りませんでした。更新のタイミングが分かっていいですね。

たしかにスクレイピングして抽出したものをそのままDBに突っ込むのは危険な香りがするので、

該当ページを定期的にクロールして、変更があればメールで通知するようなbotを作って、

通知がきたら手動でDBに追加するような運用でいきたいなと思ってます。

2010/04/28 11:30:26

その他の回答2件)

id:Bombastus No.1

回答回数409ベストアンサー獲得回数52

ポイント27pt

定期的に下記サイトを巡回して、IPアドレスを取り出すのが王道だと思います。

PHPを利用できるのであれば、自動的に抽出できるでしょう。


id:kazumaryu

ご回答ありがとうございます。

確かに一般的なやり方のようですね。

ただライブラリとかあってもよさそうなのに見つからなくて・・・

みなさん自前で作られているんですかねぇ。

2010/04/23 19:36:24
id:hanako393 No.2

回答回数1142ベストアンサー獲得回数87

ポイント27pt

>IPアドレス帯域をMySQLに保存してアプリで判定しています。

アプリで判定するのはいかがなものか?

インフラに近い側でチェックするべきでは?

id:kazumaryu

ご回答ありがとうございます。

インフラに近い側ですか・・・

.htaccessで対象のIPのみallowするというのも一般的なやり方だと思うのですが、

特定のページ(マイページなど)だけ携帯のIPでしかアクセスできないようにしているので、

アプリで判定をする方が運用が楽になるかと思って、こういうつくりになっています。

可能であれば、具体的にどういう風にインフラに近い側で制御なさっているのかご教授願えますか?

またIPアドレス帯域の更新についても教えていただけると助かります。

2010/04/23 23:36:18
id:doropon No.3

回答回数94ベストアンサー獲得回数16ここでベストアンサー

ポイント26pt

Bombastusのが正当だと思います。公式サイトを運用している時はキャリアからいろいろな通知のメールがくるので、それを見てやってました。

私も個人で携帯のIP範囲をどうしようかと思うと、やっぱりサイトを見て回るか、該当ページをphpなりで取得しスクレイピングして、リストを作ったほうがいいかなと。思ってます。作ったリストをメールで飛ばして、自分で承認して反映と作らねばとんでもない値になりかねませんが。

アドレスの判定だと、

ルータでフィルタ

サーバでIP的にフィルタ(iptablesなど)

apache本体のhttpd.confでフィルタ

.htaccessでディレクトリごとにフィルタ

これは試したことがありませんが、

.htaccessでファイル名で制限してフィルタ(<Files>ディレクティブ)

かなと。

アプリケーションで行うのも有りだとは思います。多少のオーバーヘッドがでてくるのと、

DBがひけない時などのエラー処理をすれば問題ないかと。

id:kazumaryu

レス遅くなり申し訳ありません、ご回答ありがとうございます!

>公式サイトを運用している時はキャリアからいろいろな通知のメールがくるので、それを見てやってました。

これは知りませんでした。更新のタイミングが分かっていいですね。

たしかにスクレイピングして抽出したものをそのままDBに突っ込むのは危険な香りがするので、

該当ページを定期的にクロールして、変更があればメールで通知するようなbotを作って、

通知がきたら手動でDBに追加するような運用でいきたいなと思ってます。

2010/04/28 11:30:26

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません