.htaccessでAndroidとiPhoneからのアクセスを許可する方法
- 添付した画像のようなディレクトリ構造のサイトを作成し、AndroidとiPhoneからのアクセスのみを許可する方法について教えてください。
- .htaccessファイルにはSetEnvIf User-Agentを使用してAndroidとiPhoneのアクセスを許可する設定を記述します。
- また、直リンクを避けるためにRefererを使用した設定も行います。しかし、PCからのアクセスで思った通りに機能しない場合があります。.htaccessの記述や設置する場所、ヘテムルのサーバー側の原因などを教えていただきたいです。
- ベストアンサー
.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の知識で、あまりよく分かっていません。詳しく教えていただければありがたいです。よろしくお願いします。
- dkong
- お礼率86% (170/197)
- JavaScript
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>一覧の表示の禁止を記述した方がいいのでしょうか? サーバー初期設定で行われている物をわざわざ書く必要はありませんが、書きたければ書いてもいいです。 「明記」を目的に書く事もあります。 ファイル一覧を表示する事はほとんどないと思いますが、 リファラーによるアクセス制限をするのであれば、上位ディレクトリの.htaccessを書き換えた場合の不意のトラブルを避けるためにも書いておいた方がいいとは思いますけどね。
その他の回答 (1)
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2281)
>PCからhttp://adcde.heteml.jp/accessとすると403 errorForbiddenとなり思ったようにいくのですが、 これは、http://abcde.heteml.jp/accessにアクセスします。 accessはディレクトリの場合は、ディレクトリインデックス(index.htmlなど)を表示しようとしますが、 それがない場合は、ディレクトリのファイル一覧を表示しようとします。 ファイル一覧の表示が禁止されている場合は、403 Forbiddenとなります。 (.htaccessに書いた事の検証をしたことにはなりません。全く別の内容です。) >PCからhttp://adcde.heteml.jp/access/js/test.jsとするとjavascriptの中身が表示されてしまいます。 .htaccessで、 > SetEnvIf Referer "^$" ShowOK リファラーがない場合はアクセスOKとしているため、記述の通りの動作になっています。 (考えている事と書いている事が違うようです。) リファラーがない場合(直アクセス)をアクセス禁止にしたいのであれば、その行を削除してみてください。
お礼
ありがとうございます。
補足
思っていたことができました。ご指摘いただいた (.htaccessに書いた事の検証をしたことにはなりません。全く別の内容です。) の部分ですが間違っているのでしょうか?一覧の表示の禁止を記述した方がいいのでしょうか?
関連するQ&A
- .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の参考サイトなどあれば教えてください。
- 締切済み
- JavaScript
- .htaccessについておしえてください。
外部からjsファイルを直リンクなどで、見られないようにできないかと考えています。 .htaccessで特定のサイトからのみ参照を許可するという記事を見ました。 例えばヘテムルのサーバにあるhttp://abc.heteml.jp/def/index.htmlからだけhttp://abc.heteml.jp/def/js/test.jsに参照を許可するのに、.htaccess に以下のように書きました。 SetEnvIf Referer "^http://abc\.heteml\.jp" ok_url <Files ~ "\.(js)$"> order deny,allow deny from all allow from env=ok_url </Files> 直リンクしようとすると500 error Internal Server Errorとなります。しかし、index.htmlにjs/test.jsが効かなくなりました。 .htaccess については全然分かっていません。いろいろなサイトを見ながらやっているのですが、うまくいきません。詳しく教えていただきたいと思い、投稿しました。 よろしくお願いします。
- 締切済み
- JavaScript
- .htaccessの記述
さくらのレンタルサーバを使っています。 SetEnvIf User-Agent "Googlebot" shutout1 SetEnvIf User-Agent "Slurp" shutout2 SetEnvIf User-Agent "msnbot" shutout3 SetEnvIf Referer "google\.co\.jp" shutout4 SetEnvIf Referer "yahoo\.co\.jp" shutout5 SetEnvIf Referer "google\.com" shutout6 order allow,deny allow from all deny from env=shutout1 deny from env=shutout2 deny from env=shutout3 deny from env=shutout4 deny from env=shutout5 deny from env=shutout6 (改行) 新しくつくったページですので検索ロボットにはまだ拾われていないのでGmailで実験しましたが、http://mail.google.com/mail/~ からアクセスできてしまいます。アスキーモードで転送し、ファイル名もOKです。何がダメなのでしょうか… あと、「SetEnvIf Referer "google" shutout*」と記述すれば「google」を含むアドレスからのリンクはまとめてすべて拒否できますか? よろしければチェックをお願いします。
- ベストアンサー
- 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でも弾こうかとも考えていますがどのように表記するのが効果的でしょうか?
- 締切済み
- HTML
- .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 とこんな感じでつらつらと並べていいものでしょうか? 初歩的な質問でごめんなさい。 良かったら教えてください。
- 締切済み
- その他(インターネット・Webサービス)
- 携帯に対応可な.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
- htaccessで直リン禁止とアクセス許可を同時に設定するには?
現在、下記のようにリファラーで直リンを制限しています。 SetEnvIf REFERER "http://hoge.jp/" Lilith Order Deny,Allow Deny from all Allow from env=Lilith この場合は、「http://hoge.jp/」を経由しないとアクセスできないませんが、特定のホストからはリファラーによる制限を受けずに、直接アクセスできるようにしたいと思っております。 どのように記述すれば良いのでしょうか。 アドバイスを御願い致します。
- ベストアンサー
- ネットワーク
- .htaccessでUser-Agentを検出して弾きたい
現在、 .htaccessで SetEnvIf User-Agent "Iria" deny_ua order allow,deny allow from all deny from env=deny_ua としています。 これに、User-Agentを持たずアクセスしてくる人を弾きたいのですがどのようにすればよいでしょうか? 下記のようにすればいいようにも思うのですが自信がありません。 ご存知の方教えて下さい。 宜しくお願い致します。 SetEnvIf User-Agent "Iria" deny_ua SetEnvIf User-Agent "" deny_ua order allow,deny allow from all deny from env=deny_ua
- ベストアンサー
- ハードウェア・サーバー
- .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 このような書き方は間違えているのでしょうか。 こちらのやりたい事としましては、海外からのアクセスを拒否、日本でも一部のドメインの拒否、一部のサイトからの直リンク拒否です。 どうそ、よろしくお願いします。
- ベストアンサー
- レンタルサーバ・ASP
お礼
ありがとうございます。