• ベストアンサー

ベーシック認証を使ったパソコンのアクセス制限

ある携帯サイトをパソコンから閲覧すると ベーシック認証の画面が出てきます。 ユーザーエージェントを偽装しても 同様にベーシック認証が求められ パソコンからはどうしても閲覧できないようになっています。 携帯電話からは、ベーシック認証は行なわれず ふつうに閲覧することができました。 わたしもおなじようなベーシック認証を行ないたいと思い 検索しましたが、どうしても見つからなかったので 今回質問をいたしました。 おそらく.htaccessのhtpasswdやphpを用いているのだと思うのですが どのようにして実現しているのでしょうか? スクリプトなどを公開しているサイトなどがございましたら お教えいただけませんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • gmataw
  • ベストアンサー率50% (12/24)
回答No.2

> ある携帯サイトをパソコンから閲覧すると > ベーシック認証の画面が出てきます。 > > ユーザーエージェントを偽装しても同様にベーシック認証が求められ > パソコンからはどうしても閲覧できないようになっています。 > > 携帯電話からは、ベーシック認証は行なわれず > ふつうに閲覧することができました。 端末の振り分けは、ユーザーエージェント&IPアドレス(※1)を利用 しているのでしょう。 ※1 携帯端末を特定するIPアドレスは各キャリアのホームページで公開 されています。 BASIC認証は、PHPでも実装できるので以下URLを参照してみて下さい。 http://www.php.net/manual/ja/features.http-auth.php

masarin16
質問者

お礼

gmatawさまへ 回答ありがとうございます。 ベーシック認証にユーザーエージェント&IPアドレスを利用しているというのは、たいへん参考になりました。 ただ、phpの勉強は最近始めたばかりで、いまは理解がむずかしいのでhtpasswdによる認証を考えております。 「IPアドレス」をキーワードに検索を行なった結果、以下のサイトにたどり着きました。 http://www.skytown.ne.jp/support/htaccess/ht-ip-id.html ただ、ひとつ気になったことがあります。 携帯のIPアドレスからはベーシック認証を行なわず、それ以外のIPアドレスからはベーシック認証を行なうと、クローラーさんを確実に弾いてしまいますよね? ベーシック認証を行ない、クローラーさんを上手に誘導させる方法はやはりむずかしいでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#29459
noname#29459
回答No.1

普通は、これは、アクセスしているブラウザーのUser Agent headerを識別して、携帯電話か携帯電話でないかをふりわけています。 携帯電話の時は、携帯電話のコンテント。携帯電話でないときは、PC用のコンテントで、basic authenticationがついています。 basic authenticationの設定については、web serverの設定マニュアルを参照ください。

masarin16
質問者

お礼

silvercat9さまへ ご回答ありがとうございます。 basic authenticationについていろいろと調べ たいへん参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ユーザー認証について

    i-mode用のページではユーザー認証にあたって、htaccessでhtpasswdの設定を行うとユーザー認証を行うことができますが、j-sky,ezwebでは出来ないみたいです。 それで、perl scriptでそれらを認証させることが出来るのでしょうか? ご存知の方よろしくお願いいたします。

  • ユーザー認証について

    .htpasswdで、ユーザー認証して そのユーザー名とパスワードをCGIに 渡すということは可能でしょうか? 具体的に言うと、掲示板やチャットに入室する際、 .htpasswdでユーザーを個別に認証する。 ユーザーは名前などの情報を再入力することなく 発言できる。というスクリプトを作りたいと思っています。 CGIのほうで再度認証しなければ、実現不可能な ことなのでしょうか? もし、できるのであれば、どのようにすればいいのかを 教えて頂けたら嬉しいです。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • Basic 認証ができない

    Basic認証を行いたいのですが、「ユーザー」と「パスワード」を入れても認証を通過できません。 [.htaccess]ファイルには下記のように記述しました。 AuthUserFile /home/test/.htpasswd AuthGroupFile /dev/null AuthName "Secret Area" AuthType Basic require valid-user <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files> [.htpasswd]ファイルには下記のように記述しました。 test:KNBKgzgRhzAOk パスワードは下記URLで作成しました。 http://www.futomi.com/lecture/htaccess/htpasswd.html なにが問題なのでしょうか?

  • .htaccessでロボット避けとBasic認証を同時にできますか

    はじめまして。 .htaccessを使ったユーザ認証をしています。 検索ロボットのアクセス制限(UA制限) IPによるアクセス制限も同時に行いたいのですが、可能でしょうか。 一度下記のように記述してみたのですが駄目でした。 元からできないものなのでしょうか。 それとも記述がいけないのでしょうか。 ご助言よろしくお願いします。 #.htaccess閲覧防止 AddHandler cgi-script htaccess #認証 AuthType Basic AuthName "Secret Page" AuthUserFile /www/data/●●/public_html/●●/.htpasswd require valid-user # ユーザーエージェントで指定 SetEnvIfNoCase User-Agent "msnbot" shutout SetEnvIfNoCase User-Agent "Googlebot" shutout SetEnvIfNoCase User-Agent "Slurp" shutout SetEnvIfNoCase User-Agent "Yahoo" shutout SetEnvIfNoCase User-Agent "Y!J" shutout 以下略

  • BASIC認証の設定についてです

    BASIC認証のアクセス制限をかけようとして設定をしましたがどうもうまくいきません。 設定し終わった自分のサイトでユーザー名、パスワードを入れても入れず、3回ぐらい繰り返すと「Authorization Required」というエラーが出てしまいます。 .htaccessや.htpasswdは下記のサイトで作りました。 http://www.avis.ne.jp/avis-cgi/htpasswd.cgi そしてアップ前にテキストファイルから.htaccessに変換してあります。 アドバイスよろしくお願いします。

  • 携帯サイトへパソコンからアクセス 

    http://www.star-beach.com/などの 携帯サイトにパソコンからアクセスするには どうしたらよいのでしょうか?Lunascapeという ブラウザをつかいユーザーエージェント偽装?すればいいという話も聞いたのですが 教えてください・・・。

  • Basic認証のパスワード

    Baisc認証のパスワードを以下のサイトを利用して作りました。 http://www.s-memo.net/sample/htaccess/index.php ここで、試しに ユーザ名にabcdefg パスワードにtest123456 と入力し、.htaccessを作成するボタンを押すと.htpasswd(ユーザー名とパスワード)欄に ユーザ:暗号化されたパスワード という形で表示されますが、ユーザ名、パスワードをそのまま同じものにして 再度、.htaccessを作成するボタンを押すと違う暗号化されたパスワードが表示されます。 ユーザー、パスワードが同じであれば、同じものが表示されると思っていましたが 毎回違った値だと照合できないのではないのでしょうか?

  • 携帯のbasic認証がうまくいかない

    携帯用にbasic認証を作成しています。 説明サイト等を参考にして作成したのですが、どれだけやっても、認証失敗になってしまい、何度もパスワード請求画面が出てしまいます。 携帯はauで、昨年購入したばかりで古いモデルでもなんでもありません。 以下、ファイル内に記載している内容です。 **htaccess内** <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> AuthUserFile /フルパス/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user 仮にadminというファイルをテスト用に作成し、その中に.htaccessファイルと、認証成功後に表示されてほしいテスト用のhtmlファイルを置いています。 htaccessファイルを削除すると、当然ですがhtmlファイルが表示されます。 パスワードは説明サイトで暗号化したものをそのままhtpasswdファイルにコピペをしてアップロードしています。 パスワード請求画面が出るまでは成功しているのに、パスワード認証が失敗する理由がわかりません。 どんな原因があるのか、アドバイスをいただければ幸いです。 よろしくお願いいたします。

  • XAMMPでBasic認証するための手順について

    ●質問の主旨 ドットインストール #11 Basic認証を設定しよう http://dotinstall.com/lessons/contacts_php_v2/9811 について、windows8、XAMMP1.8.1で全く同じことをしたいと 思います。具体的な方法を教えてください。 ●現在の状況 .htpasswdを作成して.htaccessの内容を改変すれば良いのだろうと思い、 下記のサイトに従って、コマンドプロンプトに命令を入力しました。 (添付画像) しかし、ここから何をどうすれば、 ドットインストールの動画のように、 ユーザーID・パスワードで、管理者権限をもつ者だけが、 閲覧できる画面に遷移できるようにするか分かりません。 参考サイト XAMPP (ローカル) で BASIC 認証を使う方法まとめ http://weble.org/2009/09/09/xampp-basic-htpasswd ●開発環境 windows8 xammp1.8.1

    • ベストアンサー
    • PHP
  • .htaccessでの認証について

    apacheでの「.htaccess」認証の質問です。 よろしくお願い致します。 OS:RedHat9 WWWサーバ:Apache 2.0.40 ###httpd.conf### <Directory "ドキュメントルート">内の AllowOverride none ↓変更 AllowOverride AuthConfig ################## ドキュメントルートにて Apacheグループユーザにより 「.htpasswd」の実行 /usr/bin/htpasswd -c ".htpasswdの場所" ユーザ名 Apacheグループユーザにより 「.htaccess」を作成 ###.htaccess### AuthUserFile ".htpasswdの絶対パス" AuthGroupFile /dev/null AuthName "Please Your Password" AuthType Basic require valid-user ################# apacheの再起動 以上を実施しました。 index.htmlにACCESSすると パスワード要求がくるのですが、 認証してくれません。(Error 401) 「.htpasswd」を(moreで)確認すると ユーザ名:暗号化したパスワード となっており問題ないかのようにみえます。 htaccessまたはhttpd.confの設定がまずいのでしょうか? 初心者の質問で申し訳ないのですが よろしくお願い致します。