• ベストアンサー
  • 困ってます

アクセス制限について

初めまして。 質問の内容ですが、www直下においてある.htaccessに動作確認の為自分のホストをdenyするように記述しても、フォルダBにあるファイルにアクセスできてしまいます。フォルダAのバナーは表示されなくなるのですが…。 ロボ避けが働かないと困るので、何とか機能させたいと思っています。ディレクトリの構成と内容は以下の通りです。 | .htaccess | フォルダA(直リンクバナーを置いています)   |-.htaccessなし | フォルダB(サイト本体です)   |-.htaccessあり | フォルダC(制限にかかった時表示するファイルを置いています)   |-.htaccessあり ==========直下の.htaccess=========== DirectoryIndex index.html .ht order allow,deny allow from all deny from xxx.xxx.xxx.xxx deny from 自分のホスト名 <Files ~ "^\.ht"> deny from all </Files> <Files robots.txt> order deny,allow allow from all </Files> ==========フォルダB=========== DirectoryIndex index.html .ht ErrorDocument 403 /フォルダC/403.html order allow,deny allow from all deny from yyy.yyy.yyy.yyy <Files ~ "^\.ht"> deny from all </Files> ====================== です。長くてすみません。 以前動作確認した時はちゃんと弾かれていたのですが、最近フォルダBにある.htaccessを編集した時に再度動作確認してみると弾かれなくなっていました。 フォルダBに自分のホストをdenyするように書くとちゃんと機能します。どの辺りをいじればいいでしょうか?

共感・応援の気持ちを伝えよう!

  • HTML
  • 回答数1
  • 閲覧数116
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1

deny はその名の通り拒否、allowは許可です。 フォルダBの.htaccessは deny from yyy.yyy.yyy.yyy とありますので、yyy.yyy.yyy.yyy以外の全てのIPアドレスに関して許可となっています。 .htaccessは下位フォルダで上書きされますので、フォルダBにある.htaccessが最終的に有効となっています。 なお、 <Files ~ "^\.ht"> deny from all </Files> とあるので.htではじまるファイルはdenyとなる、ということです。 参考まで。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

下層フォルダで上書きされるということを知らずに設定していました。 <Files ~ "^\.ht"> deny from all </Files> も他の記述も、検索して当てはまると思ったものをそのまま切り貼りしていたので、この機会にちゃんと勉強してみます。 taketan_mydns_jpさん、どうもありがとうございました!

関連するQ&A

  • htaccessでoreder allow,denyとRewriteEngine onは同時に使える?

    .htaccessを使用して特定IP(***.xxx.xxx.xxx)からのアクセス制限と同時に特定IP(yyy.yyy.yyy.***)の場合は別サイトへ転送するのを同時にやりたいです。 独立して.htaccessに記述すると動作しましたが、2つとも記述すると動作しませんでした。 order allow,deny allow from all deny from ***.xxx.xxx.xxx RewriteEngine on RewriteBase / RewriteRule .* http://zz*.com/

  • Windows XPでアクセス制限

    おはようございます! WindowsXPにてサーバーを立ち上げ、グループウェアを可動しております。プログラミングの知識がないため、フリーのグループウェアソフトをダウンロードし、四苦八苦しながら使わせていただいています。そこで、みんなに見せたいファイルをアップするのですが、ファイル1つしかアップできないので、htmlファイルをアップしても画像がでません、ですのでリンクページのみアップし、そこからサーバー内部の違うフォルダーにアクセスし、本htmlを見せるようにしたのですが、これではそのアドレスを直接入力した時にグループ外部の人からも見られてしまいますよね・・・。セキュリティーも何もないですよね。グループウェアのフォルダーには認証を入れないと入れないようになっていると思うのでリンクページは大丈夫だと思うのですが・・・。(違うフォルダーにアクセスする方法も良いものかどうか定かではありませんし) つたないながら色々調べてみて参照元(referer)からアクセス制限する、という方法ならセキュリティーが守られるのではないかと思ったのですが、これは本htmlのあるフォルダーにアクセスする際グループウェアのフォルダーからしかアクセスできないようにする事ができる、という私の認識はあっていますでしょうか?あと、その際、httpd.confというファイルを書きかえて、.htaccessというファイルを作成する、という事でよいのでしょうか?分からないまま設定を変えて仕事に支障をきたすと大変困った立場になるので慎重に意見を拝聴したいです。 (1)httpd.confというファイルを書きかえ AccessFileName htaccess.htaccess <Files htaccess.htaccess> Order allow,deny Deny from all </Files> を書き加える?書きかえる?私の見たぽんこつWEBサーバー構築 参照元(referer)によるアクセス制限(.htaccess)というサイトでは、Windowsなので仮にhtaccess.htaccess という名前にする、との事でしたが、現在 AccessFileName .htaccess <FilesMatch "^\.ht"> Order allow,deny Deny from all </FilesMatch> になっている所を書きかえたらよいのでしょうか? (2).htaccessというファイルを作成する SetEnvIf Referer "^http://ponkotsu\.d-v-b\.info" my_site order deny,allow deny from all allow from env=my_site というhtaccessファイルを作るのは、制限したいフォルダー内に作ればよいのでしょうか? 試してみたのですが、制限がかかっていないようだったので、怖くなって設定を戻しました。 どなたかご教授お願い致します。

  • .htaccessでのアクセス制限について

    許可と拒否を一つの.htaccessに書くことは可能でしょうか。 ロジックで対応できるのか今、調べてますが、中々うまくいきません。 拒否は以下で。 order allow,deny allow from all deny from .search.msn.com deny from .bbtec.net 許可するのは、 order deny,allow deny from all allow from .jp allow from .com allow from .net 出来るのであればロジックを教えて下さい。

  • 独自ドメインでのアクセス制限

    現在、一つのロリポップサーバーでの独自ドメインでサイトとブログを運営しています。 ・サイト:ttp://www.Example.com(主) ・ブログ:ttp://blog.Example.com(サブドメイン) .htaccessで特定のIPからのアクセス制限をしたいと思っているんですが、下記のように記載しても制限されません。(試しに自分のIPも入れて試みました。) order allow,deny allow from all deny from xxx/0 deny from yyy/0 deny from zzz/0 ErrorDocument 403 403.html 主にサブドメインのブログのアクセス制限をしたいのですがサブドメインディレクトリに置いて.htaccessに名前を変更しても制限されません。 また、403.htmlも.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 でアクセス制限する際にホスト名の部分一致で制限って可能でしょうか? order allow,deny allow from all deny from ★★★ 通常この★★★部分にホスト名を明記すると後方一致になってしまうと思うのですが、部分一致で制限かける方法はございませんでしょうか? 前後にワイルドカード的効果のある書き方なんてものがありましたらお知恵をお貸し下さい。 例: pve.gc-mc.de この様なホスト名の場合gc-mcで制限する方法が知りたいです。 order allow,deny allow from all deny from gc-mc この書き方では制限できませんでした。

  • .htaccessでのIP・ホストの制限について

    Mac os9.2、IE5.1.7、Dreamweaver MXでの作業です。 サイトトップにオンラインブックマークからのアクセス制限をかけたいのですが、どうやっても上手く出来ず、こちらに質問させて頂きました。 作業は「.htaccess.txtをIndex.htmlと同じ階層に作成」→「.htaccess.txtをDreamweaver MXでASKIi転送」→「ロリポのFTPからファイル名とパーミッションを604に変更」という感じです。 .htaccessの記述はロリポから参考URLになっていたサイトを参考にして作ったのが以下 AddHandler cgi-script htaccess order allow,deny allow from all deny from ht.tp://bookmarks.yahoo.co.jp/my コレは全く効きませんでした。次にこちらで参考URLになっていた.htaccess自動作成サイトで作ったのが以下 <Files ~ "^.(htaccess|htpasswd)$"> deny from all </Files> Options -Indexes setenvif referer "ht.tp://bookmarks.yahoo.co.jp/my" bad_referer1 order allow,deny allow from all deny from env=bad_referer1 こちらは500エラーになります。今、仕方なく、TOP以降へ入室する際にパス認証をかけてます(これはロリポでのサービス内なので、ちゃんと効いてます)。階層が違うので.htaccessが2つあるのがダメなのでしょうか? パス認証は出来れば使用したくないので、特定のURL、IP、ホストからの制限にしたいのです。どうぞご指導お願い致します。(当方.htaccessは全くの初心者です)

  • apacheで<Directory>が機能しません

    apache2.2で、ヴァーチャルホストで複数ドメインを使用しています。 httpd.confの共通指定部分?に<Directory>や<Files>で下記のような指定したことが無視されます。 ・・・ヴァーチャルホスト設定部分の中に指定してもダメでした。 <Directory /home/user/html/aaa/bbb> Order deny,allow Deny from all </Directory> <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> DirectoryMatchやFilesMatchも無視されます・・・ しかし、LocationとLocationMatchでやった場合は機能しました。 ちなみに、.htaccessに Order allow,deny Deny from all と、書いても無視されました・・・(リダイレクトや書き換えなどは使用できたので.htaccess自体は機能していると思うのですが) coreモジュールは入っています。 mod_authz_hostは、LoadModuleで読み込んでいます。 それ以外のモジュールが必要なのでしょうか? なぜ、Locationは使えるのに、DirectoryやFilesは使えないのでしょうか? 原因がさっぱりわかりません。詳しい方よろしくお願いします。

  • http://aaa.jp/ というアドレスでサイトを運営していたとし

    http://aaa.jp/ というアドレスでサイトを運営していたとします。 特定のホストに index.php を表示させ、それ以外は index.html だけを表示させたいのですが、 表示させたいのですが、htaccessを使ってもうまくできません。 DirectoryIndex index.php order deny,allow deny from all allow from 許可するホスト allow from 許可するホスト allow from 許可するホスト ErrorDocument 403 index.html これでは駄目なのでしょうか?

  • .htaccessでアクセス制限できないホスト

    アクセスして欲しくないホストは、htaccessを使って拒否しているのですが、 『sol-fttb.240.152.118.46.sovam.net.ua』だけは なぜか、どんなに記述しても、毎日アクセスがあります。 今までに、以下のようにして試したのですが、すべて駄目でした。 deny from sol-fttb.240.152.118.46.sovam.net.ua deny from .240.152.118.46.sovam.net.ua deny from .sovam.net.ua deny from .net.ua deny from .ua deny from 240.152.118.46 もちろん、その記述の前に、 order allow,deny allow from all は、記述しており、 他のホストは、問題なく拒否できています。 『sol-fttb.240.152.118.46.sovam.net.ua』のように、IPアドレスが不明なホストは拒否する方法はないのでしょうか? できれば、htaccess以外でのアクセス制限の方法ではなく、 htaccess内の記述で、アクセス拒否したいと思います。 以上よろしくお願いいたします。

    • ベストアンサー
    • HTML