携帯に対応可な.htaccessのアクセス制限(リファラ)について

このQ&Aのポイント
  • あるディレクトリ内のページを自サイト内のリンクだけ閲覧可にし、直リンクを避ける為に対象フォルダへ.htaccessを設置しました。
  • PCアクセスはこれで大丈夫です。しかし、携帯ではドコモで自サイト内のリンクからもアクセスができません。一方でソフトバンクでは大丈夫でした。それ以外の携帯キャリアからは確認が取れていません。
  • もし、.htaccessで全ての携帯キャリアにも対応できる記述方法か別の手段で良い方法があれば教えてください。
回答を見る
  • ベストアンサー

携帯に対応可な.htaccessのアクセス制限(リファラ)について

あるディレクトリ内のページを自サイト内のリンクだけ閲覧可にし、直リンクを避ける為に対象フォルダへ以下のような記述にて.htaccessを設置しました。 SetEnvIf Referer "^http://www\.○○○\.com" ref_ok SetEnvIf Referer "^http://○○○\.com" ref_ok order deny,allow deny from all allow from env=ref_ok PCアクセスはこれで大丈夫です。しかし、携帯ではドコモで自サイト内のリンクからもアクセスができません。一方でソフトバンクでは大丈夫でした。それ以外の携帯キャリアからは確認が取れていません。 もし、.htaccessで全ての携帯キャリアにも対応できる記述方法か別の手段で良い方法があれば教えてください。 以上、よろしくお願いします。

  • HTML
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

DoCoMoはリファラを送出しない機種が多いです。 (リファラの送出は義務ではないのでDoCoMoの機種がおかしいというわけでもありません) よって、リファラによる制御を完璧に行う方法はありません。 (PCの場合も送出されないケースもあれば、偽装すら可能です) どうしても困るのであれば制限したいページと入り口をphpとかのスクリプトで組んでセッション管理をします。

bonbon77
質問者

お礼

アドバイスありがとうございます。 携帯機種によりリファラが通用しないことが分かりとても勉強になりました。 他の方法もいろいろ考えてみます。

その他の回答 (1)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.2

http://www.nttdocomo.co.jp/service/imode/make/content/ip/ このIP域を対象に ref_ok を SetEnvIf したら良いんじゃないかと思う。

関連するQ&A

  • .htaccessによるアクセス制限について

    .htaccessによるアクセス制限をかけていますが、問題がおきました。 以下のように、自サイトからのリンクのみ表示し、 他サイトからのリンクは表示させないようにしています。 SetEnvIf Referer "^http://www\.***\.com" ref_ok order deny,allow deny from all allow from env=ref_ok 自サイト内からリンクした場合、 <A HREF="a.html">a.html</A> だときちんと表示されるのですが、 <SCRIPT language="JavaScript"> function wopen1(){window.open("a.html")} </SCRIPT> <A HREF="javascript:wopen1();">a.html</A> こちらだと表示されません。 a.htmlは同一のファイルを差し、リンク元のページなどの条件も一切変わりません。 記述が間違ってるのかもと思って調べてはみたのですが、対策方法がわからずに困ってます。 javascriptのリンクからでも.htaccessが有効になる方法ってあるんでしょうか?

  • .htaccessのアクセス制限のことで

    レンタルサーバーを利用してブログをやっております。 最近、海外からのスパムが多くなり、.htaccessを設置してアクセス制限をかけようかと思い.htaccessファイルを設置しましたらページそのものが見れなくなってしまいました。 order deny,allow deny from all allow from .jp SetEnvIf Referer "拒否ドメイン" deny_ref order allow,deny allow from all deny from env=deny_ref このような書き方は間違えているのでしょうか。 こちらのやりたい事としましては、海外からのアクセスを拒否、日本でも一部のドメインの拒否、一部のサイトからの直リンク拒否です。 どうそ、よろしくお願いします。

  • .htaccessで複数設定するには?

    .htaccessを使って「特定のIPアドレス・ホストからのアクセスを拒否」と 「特定のリンクからのアクセスを拒否 」の2つを一緒に設定したいのですが、 どうすればいいのでしょうか? 単独での書き方はそれぞれ調べて分かったのですが、1つにまとめての記述方法が分かりません。 --------------------------------------------------- order allow,deny allow from all deny from ●● deny from ○○ deny from ▲▲ deny from △△ SetEnvIf REFERER "http://○○○.com/" Ref1 Order Allow,Deny Allow from all Deny from env=Ref --------------------------------------------------- といった感じに記述したものの、全く動作してくれません。 ご存知の方いらっしゃいましたら、宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • htaccess??

    .htaccessを設置したいのですが、.htaccessではいろいろな条件を拒否したり許可したりできますよね? たとえば、指定したホストからのアクセスを拒否したい、と同時に画像の直リンクを防ぎたい。という場合、どう表記すればいいのでしょうか? order allow,deny deny from all deny from xxxxx(拒否したいホスト) deny from xxxxx SetEnvIf REFERER "xxxxx(自サイトのURL )" Ref1↓ Order Deny,Allow↓ Deny from all↓ Allow from env=Ref1↓ AddHandler cgi-script htaccess とこんな感じでつらつらと並べていいものでしょうか? 初歩的な質問でごめんなさい。 良かったら教えてください。

  • htaccessで参照元制限

    参照元によるアクセス制限で、許可する参照元をhttp://domain.com/にし、許可する拡張子を.htmlにしたいと考えています。http://domain.com/*.htmlというような書き方はできないのでしょうか? SetEnvIf Referer "^http://domain.com/" ref_ok order deny,allow deny from all allow from env=ref_ok

    • ベストアンサー
    • HTML
  • .htaccessの更新とIP拒否

    検索避けの為、meta/robots.txt/.htaccessを入れています。 今入れてるのは以下の.htaccessですが SetEnvIf REFERER "search.yahoo.co.jp" Ref1 SetEnvIf REFERER "google.co.jp/search" Ref2 SetEnvIf REFERER "excite.co.jp/search" Ref3 SetEnvIf REFERER "infoseek.co.jp/OTitles" Ref4 SetEnvIf User-Agent "Googlebot" Ref5 SetEnvIf User-Agent "Slurp" Ref6 SetEnvIf User-Agent "msnbot" Ref7 Order Allow,Deny Allow from all Deny from env=Ref1 Deny from env=Ref2 Deny from env=Ref3 Deny from env=Ref4 Deny from env=Ref5 Deny from env=Ref6 Deny from env=Ref7 入れて数ヶ月は検索結果に全く出なかったので「あー効いてるかな?」と思っていたのですが、先日yahooでにて自サイト名で検索かけたら一番上にヒットしました。 一応、そこから飛んでも403エラーが出て直接は来れないようになってはいますが…。クローラーに拾われるのは避けられてないってことですよね。 .htaccessの記述は最初のままなんですが、これって記述をたびたび変更したほうが良いのでしょうか?(たとえば順番や名前を変えるなど) 記述やクローラーの最新情報というものがなかなか見つからないので、けっこう前のデータを参考に作っているので…。 更にIPでも弾こうかとも考えていますがどのように表記するのが効果的でしょうか?

  • .htaccessについて教えてください。

    添付した画像のようなディレクトリ構造のサイトをつくりAndroidとiPhoneからのアクセスのみを許可するように (1)の.htaccessには SetEnvIf User-Agent "Android" ok1 SetEnvIf User-Agent "iPhone" ok2 order deny,allow deny from all allow from env=ok1 allow from env=ok2 と記述し、 http://adcde.heteml.jp/access/index.htmlからだけのjsファイルへのアクセスを許可しようと (2)の.htaccessには SetEnvIf Referer "^http://adcde\.heteml\.jp" ShowOK SetEnvIf Referer "^$" ShowOK <Files ~ "\.(js)$"> order deny,allow deny from all allow from env=ShowOK </Files> と記述しました。 PCからhttp://adcde.heteml.jp/accessとすると403 errorForbiddenとなり思ったようにいくのですが、PCからhttp://adcde.heteml.jp/access/js/test.jsとするとjavascriptの中身が表示されてしまいます。 AndroidとiPhone以外からのアクセスは(1)の.htaccessで拒否されるのでは?また、(2)の.htaccessでjsファイルへの直リンクを避けているのでは?と、うまくきません。.htaccessの記述や設置する場所、またヘテムルのサーバー側の原因かなどを教えていただきたく思い投稿しました。いろいろなサイトを調べながらの.htaccessの知識で、あまりよく分かっていません。詳しく教えていただければありがたいです。よろしくお願いします。

  • .htaccessについておしえてください。

    外部からjsファイルを直リンクなどで、見られないようにできないかと考えています。.htaccessで特定のサイトからのみ参照を許可するという記事を見ました。 例えばヘテムルのサーバでhttp://abc.heteml.jp/def/index.htmlからの参照を許可するのに、.htaccess に以下のように書きました。 SetEnvIf Referer "http://abc.heteml.jp/def/index.html" allow_ref SetEnvIf Referer "^$" allow_ref order deny,allow deny from all allow from env=allow_ref .htaccess については全然分かっていません。記事に載っていた内容を少し変える程度なので、詳しく教えていただきたいと思い、投稿しました。jsファイルを見られないようにすることはできるのか?また、.htaccessの参考サイトなどあれば教えてください。

  • .htaccess が反映されない。

    Aというディレクトリは、自サイト内のリンクからのみアクセス可能となるように .htaccessを記述しました。 SetEnvIf REFERER "XXXXXX.ne.jp" REF1 order deny,allow deny from all allow from env=REF1 この記述ですと、PCサイトを専用の携帯ブラウザで閲覧可能にさせる ある一つの携帯サイトからのアクセスに限り反映されません。 現在の所、Aディレクトリに直接アクセスをしたり 他のサイトからアクセスをすると403エラーになりますが その携帯サイトからのみ、AディレクトリのURLを直接入力してアクセスをしてもアクセス拒否が出来ません。 その携帯サイト名を記載した方が、アドバイスを頂戴しやすいとは思いますが 名指しをしてもよいのか不安でしたので、ある携帯サイトとさせて頂きました。 分かり辛くて申し訳ありません。 PHPは使用出来ませんので、.htaccess もしくはフリー配布のcgiで何とか出来ないでしょうか。

    • ベストアンサー
    • HTML
  • .htaccess Refererによるアクセス制限で更新したときについて

    .htaccess Refererによるアクセス制限を以下のようにして行い特定のサイトからのアクセスを拒否するようにました。 SetEnvIf Referer "^http://www\.abc\.jp" ref_ng order allow,deny allow from all deny from env=ref_ng 普通にhttp://www\.abc\.jpからアクセスしたときはちゃんと拒否してくれるのですがページを更新したときIE7だと表示されてしまいます。 Firefoxは更新してもエラーを返してくれるのですが…。 IEでもFirefoxと同じように更新してもエラーを返すようにできませんでしょうか? ちなみに403を404として返すようにもしています ErrorDocument 403 /hoge.php http://questionbox.jp.msn.com/qa2628919.html?StatusCheck=ONを参考にしました。

専門家に質問してみよう