• 締切済み

PHPで、IPアドレス帯域での接続制限を行いたいです

例えば、210.169.40.0/24というbit数表記の範囲を持ったIPアドレス帯域での接続のみ許可したい場合、PHPではどのようなコードを書けばよいのでしょうか? htaccessなどでアクセス禁止するのではなく、別途の処理をしたいため、PHP限定でお願いします。

  • bunch
  • お礼率82% (251/303)
  • PHP
  • 回答数2
  • ありがとう数3

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1>210.169.40.123は210.169.40.0/24の中に含まれるか 美しいかどうかはわからんけど、/24 なんだから 先頭から "210.169.40." と一致するかどうかをみればいいんじゃない

bunch
質問者

お礼

24bitとは限りません。 PEARのPEAR::Net_IPv4ライブラリを使うことにしました。

noname#39970
noname#39970
回答No.1

単純に環境変数からアクセスIPを取得してフルイにかけたらいいんじゃ? REMOTE_ADDR から取れるみたいだよ

bunch
質問者

お礼

そのふるいの綺麗なかけ方がわからないのです。 210.169.40.123は210.169.40.0/24の中に含まれるか、という判定の箇所はどのように書くのが美しいでしょうか?

関連するQ&A

  • PHPでのIP制限の方法

    現在携帯専用のHPを作ってるんですが、 借りているサーバーがhtaccessを使えないので、phpで携帯のIP帯域のみアクセス許可したいのですが、可能でしょうか? もし出来るのであれば、方法をどなたかお教え願えませんでしょうか? よろしくお願いします!

    • ベストアンサー
    • PHP
  • IPアドレスによるアクセス制限方法

    よろしくお願いいたします。 ウェブサーバのアクセス制限方法について質問です。 ウェブサーバの特定のフォルダのアクセス制限をかけたいのですが、 .htaccessをつかって、特定のIPアドレスのみアクセス許可して、 それ以外のIPアドレスからのアクセスは拒否するようにできるのでしょうか? よろしければサンプルコードが記載されているURLを教えてください。 もしくは核となるコードを教えてください。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • ウィルコムの携帯サイトでIP制限をかけたい

    現在、ウィルコムの携帯サイトを作成しています。 公開領域に置いてある画像を、 ウィルコム以外の携帯、パソコンではアクセスできない(表示しない)ようにしたいです。 そこで、.htaccessでIPの制限をかけたのですが上手く行きません。 http://www.dspt.net/tools/mobile_ip/ このサイトでウィルコムの.htaccessを作成し、画像があるフォルダに設置。 その後、ウィルコムでアクセスしましたが画像が表示されませんでした。 PHPでウィルコムのIPアドレスを表示したところ、 61.198.138.220 となっており、作成した.htaccessに61.198.138.220を追加したところ、 ウィルコムでは画像が表示され、パソコンでは画像が表示されない、意図した動作になりました。 .htaccessには帯域を表記した 61.198.138.100/32 のようなアドレスを書くのではなく、61.198.138.220 というふうに書かなければならないのでしょうか?

  • .htaccessでIPアドレス拒絶後、一部許可

    .htaccessを利用して「192.168.0.0/16」のIPアドレスの範囲のアクセスを拒絶し、かつ、拒絶したIPアドレスの範囲のうち「192.168.240.29」のみのアクセスを許可したいとします。 以下のように記述したのですが、「192.168.240.29」も含め「192.168.0.0/16」のIPアドレスの範囲全体が拒絶されてしまいます。 order allow,deny allow from all deny from 192.168.0.0/16 allow from 192.168.240.29 「192.168.0.0/16」のIPアドレスの範囲のアクセスを拒絶後に「192.168.240.29」のみのアクセスを許可するにはどのように記述すればよいでしょうか? よろしくお願いします。

    • ベストアンサー
    • CGI
  • 接続ごとのIPアドレスの変化の範囲

    .htaccess を使ったアクセス制限を考えています。 禁止するIPアドレスを記述するのですが、例えば、 aaa.bbb.ccc.ddd というIPアドレスがあった場合、その人がそのプロバイダーを使った接続をする限りは、 aaa.bbb.ccc と記述しておけば、アクセス制限できると思っていいのでしょうか? 接続形態によっていろいろとあるとは思うのですが、すべてをひっくるめて、上記のように、IPアドレスの変化の範囲は、最後のdddのところのみ、と考えていいのでしょうか?

  • IPアドレス制限

    素人の単純な疑問なんですが、.htaccessで特定のIPアドレスを制限する ことが出来るということですが、 プロバイダからはIPアドレスが動的に提供されていることを考えればプロバイダーを通してアクセスするわけですから、無意味なのでは と思ってしまうのですが。どうなんでしょうか?

  • auのスマートフォンのIPアドレス帯域について

    auのスマートフォンのIPアドレス帯域はどこで分かりますか?ドコモとソフトバンクは開発者向けのスマートフォンサイトがありそこで分かるのですが、auはEZfactoryしかなく、スマートフォン向けのサイトが見つかりませんでした。 IPアドレスを使ってアクセス制限を行いたいと思っています。フィーチャーフォン・スマートフォンのみ入れるサイトのアクセス制限です。

  • IP帯域についての質問です。携帯キャリアのHPで「IP帯域」が表記され

    IP帯域についての質問です。携帯キャリアのHPで「IP帯域」が表記されております。例えばdocomoで使用中のiモードサービスで利用するIPアドレス帯域ですと210.153.84.0/24 がありますがこれは210.153.84.0~255までの IPアドレスを使用しているということでしょうか?そうだとするとdocomoのユーザー数から見ても全く数が足りないと思うのですが?気になって夜も寝れませんのでどなたかご教授の程よろしくお願い致します。

  • htaccess:制限IPのうち特定のIPのみ許可

    .htaccessで、 order allow,deny allow from all deny from deny from 118.243.0.0/16 のようにネットマスクを利用して複数のIPアドレスからのアクセスを制限した上で、そのうち(制限したIPアドレスに含まれるうち)の一つのIPアドレス (例:118.243.126.243)にのみアクセスを許可したい場合、.htaccessに具体的にどのように記述すればよいのでしょうか? どのように記述するか分からないのですが、118.243.126.243をとばした「118.243.0.0から118.243.126.242」と「118.243.126.244から118.243.255.255」を別々に制限すればよいように思います。ただし、記述の仕方が分からないので教えてください。 よろしくお願いします。

  • ISPのIPアドレス帯域

    サイトで大手ISPのユーザーには、ISP毎に 違うページを出したいと考えています。 アクセス割り振りのため、各ISP (OCN,ODN,BIGLOBE,SO-NETなど大手プロバイダ) のIPアドレス帯域(一般ユーザーがダイアルアップ で接続したときに割り当てられる可能性のあるIP アドレス)を知りたいのですが、調べる方法は ありますでしょうか? JPNICのページなどは見たのですが、分からなくって… どなたかよろしくお願いします。

専門家に質問してみよう