• 締切済み

IPアドレスでアクセス制限(携帯サイト)

UAだと偽装されてしまうので、IPで制限したいのです。 .htaccessやNet_IPv4は使わず、自作のスクリプトで制限したいと思います。 http://www.ezinfo.jp/php/divide ↑このサイトを参考にしてるのですがいまいちわかりません。 厳密に言えばサブネットマスクを使って範囲を特定する処理がわかりません。 他のソースは理解できるのですが・・・ どなたか詳しく説明してもらえませんか?

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

回答No.1

単純にサブネットマスクと、IPアドレスを ビット演算するだけではないかな。 具体的には IPアドレスを10進表記なものを32bit 数値に直して、 サブネットマスクとAND で演算(論理積)すると、ネットワークアドレスが 出るので、これが来たIPアドレスと、自分で持っている、 リストと同じになるかをチェックするだけなのでは? IPアドレスが32ビットの数値だということが分かればいいことです。

関連するQ&A

  • IPアドレスのアクセス制限について

    サイト運営を妨害するいたずらや荒しに対して、.htaccessなどでIPアドレス制限をかけられると思います。 ただ、一般的には、IPアドレスは固定ではない場合がほとんどだと思いますので、制限をかけてもIPアドレスが変わってしまったら意味がないのではないでしょうか? 一定範囲のIPアドレス領域を制限すると、関係ない人も見られなくなりそうです。 実際に自分で色々と試したわけではなく、本を読んでいて疑問に思いました。 誰か教えていただけるとありがたいです。 よろしくお願いします。

  • IPアドレス制限

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

  • アクセス制限しているサイトで、特定のファイルのみ許可を与えたい

    .htaccessでUAやIPでアクセス制限しています。 サイト全体で制限してしまっているのですが 特定のファイルのみ、制限を無効にする方法はありますか? 例えば、バナーの閲覧も制限されてしまっているので バナーに許可を与えたいと思っています。 ファイルが無理でしたら、フォルダでも構いません。 ご助言よろしくお願いいたします。

  • IPアドレスによるアクセス制限方法

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

    • 締切済み
    • PHP
  • IPアドレス

    サブネットマスク 255.255.255.0 接続するパソコンに設定可能なIPアドレスの範囲は 192.168.12.0~192.168.12.255 でしょうか?

  • 特定のIPアドレスまたはホストからのアクセス制限する方法を探してます。

    特定のIPアドレスまたはホストからのアクセス制限する方法を探してます。 最近自分の掲示板に荒らしが来て困ってまして、 アクセス解析を導入したところ、固定のIP/ホストであることがわかりまして・・・ 制限しようと思い検索したら、htaccessを使う方法があったのですが、掲示板なのでhtaccessが使えません。 どなたか制限のhtmlタグをご存知でしたら教えてください。 よろしくお願いしますm(__)m 後カテゴリの選択がいい加減ですいません。

  • サブネットマスクを用いたIP制限をしたい

    あるIP以外のアクセスを制限する場合は、以下処理で良いものと思っています。 if ("210.161.126.144" != $REMOTE_ADDR){   # アクセス制限の関数呼び出し   hoge2(); } 今回、サブネットマスクを用いて、ある範囲のIPにのみアクセス許可をしたいと思っています。 例えば、以下の範囲のIPのみ許したいと思います。 210.161.126.144-210.161.126.159 実際には、プリフィックスを用いた 210.161.126.144/28 の形で許可IPのデータを持つつもりです。 この場合、どのような処理を行ったらよいのでしょうか? サブネットマスク含めネットワークの知識が足りない為か、ロジックがとても思いつきません。 210.161.126.144/28 から、210.161.126.144-210.161.126.159を算出する方法もピンときません。 判定処理は関数化してしまい、以下のような感じにしたいと思っております。 $permit_ip = "210.161.126.144/28"; if (!hoge($REMOTE_ADDR,$ip)){   # アクセス制限の関数呼び出し   hoge2(); } # 引数1のIPが、引数2のIPの範囲内であるか判定する関数 function hoge($p_ip,$p_permit_ip){   if (){     # 範囲内     true;   } else {     # 範囲外     false;   } } どうかご教授宜しくお願い致します。

    • ベストアンサー
    • PHP
  • IPアドレスの範囲の求め方

    あるネットワークマスクが接続されているルータのポートのアドレスが、190.70.15.1であるとき、そのネットワークにおいて、使用してもよいIPアドレスの範囲を答えろ。 ただ、サブネットマスクは、255.255.255.192とする。 考え方としては、10進数を2進数に直す。 ネットワーク10111110.10001100.00001111.00000001 サブネット11111111.11111111.11111111.11000000 これの式の求め方と詳しい考え方を教えてもらいたいです。

  • ウィルコムの携帯サイトで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 というふうに書かなければならないのでしょうか?

  • IPアドレス

    途中でIPアドレスとサブネットマスクが変わってしまい ローカルエリア接続が 制限があるが接続中とでて ネットにつながらなくなります。 モデムに直結しなおせばIPアドレスが元の状態に戻るのですが そのうちまたIPアドレスが変わってしまいます。 ご回答よろしくお願いします。

専門家に質問してみよう