
httpd.confの末尾に次の記述をしてapacheをリスタートしtop.htmlにアクセスしても
403エラーとなりアクセスできません。原因が分かる方よろしくお願いします。
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/aaa">
Order deny,allow
Deny from all
SetEnvIf REFERER localhost referer_ok
Allow from env=referer_ok
</Directory>
<Files "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/aaa/top.html">
Order allow,deny
Allow from all
</Files>
No.2ベストアンサー
- 回答日時:
質問の内容を整理すると
「ローカルホストからのアクセスはすべてのファイルに対してアクセスを許可して、外部からのアクセスは許可したファイルのみアクセスできるようにしたい」
ということですね。
私も、下の行が何やっているのか(?)とよく分からなかったのですが、
ローカルホストからのアクセスを許可したかったということですね。
>SetEnvIf REFERER localhost referer_ok
>Allow from env=referer_ok
えーっと、セキュリティの話からさせていただきます。
これは、非常にまずいやり方です。
理由は簡単で、 Referer というのは、HTTPクライアント(ブラウザ)が送信してきた内容ですので、リファラーは偽装可能です。
たとえば、「Firefox addon Modify Referer」などで検索していただければ見つかると思います。
これが悪用された場合、リファラーを http://localhost/ のように偽装することで外部からの不正アクセスリスク(セキュリティホール)が生じます。
下のようにIPアドレスまたはドメイン名でアクセス制限をしてください。
<Directory ....>
Order deny,allow
Deny from all
# LAN からのみ(ネットワークアドレス指定)
Allow from 192.168.1.0/24
# LOCALHOST <-- よく設定漏れして http://localhost/ でアクセスできないことに気づく(^^;)
Allow from 127.0.0.1
</Directory>
つまり、下のような感じになると思います。
<Directory htdocs/aaa>
Order deny,allow
Deny from all
Allow from 127.0.0.1
<Files top.html>
Order allow,deny
Allow from all
</Files>
</Directory>
つぎに、<Files> で top.html のアクセス制御が上書きされなかった理由について
質問内容のような記述の <Files> はシンタックスエラーにはなりませんが、意味的にエラーになると思います。マニュアルを読む限り <Files> はファイル名を指定する(パス名ではない)ためにあります。特定のディレクトリのファイルに対して使用する場合に、 <Directory> と合わせて使用できるとあります。
<Files> は .htaccess と併用して個別のファイルのアクセスを制御するために用いるのが標準的なようです。
httpd.conf には、 <FilesMatch "^\.ht"> とあるように設定ファイルなどを隠すために使用しています。
ちなみに、 <Files top.html> を <Directory> の外で指定した場合、すべてのディレクトリの top.html にアクセスできるようになります。つまり、あるディレクトリに対して <Directory> でアクセス禁止に指定しても <Files top.html> はそれを上書きするため top.html だけはアクセス禁止が無効化されます。正常な動作ですが、セキュリティ上問題になることも考えられるため注意して使用したほうがいいでしょう。
詳しい回答ありがとうございます。
初心者の自分にも理解できる分かり易い回答でした。
セキュリティーの問題があるのですね、リファーじゃなくIPアドレスで識別したいと思います。
FilesもDirectoryの中で使うようにしたいと思います。
ありがとうございました。
No.1
- 回答日時:
httpd.conf の設定例
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/aaa">
Order deny,allow
Deny from all
<Files top.html>
Order allow,deny
Allow from All
</Files>
</Directory>
詳細はマニュアルを確認してください。
マニュアルを有効にするには、 http.conf のマニュアル設定をインクルードします。
# Local access to the Apache HTTP Server Manual
Include conf/extra/httpd-manual.conf
↑この行の #Include を Include に変更します。
以下のようなURL(/manual/)にアクセスするとマニュアルが表示されます。
サーバ名、ポート番号は適切に置き換えてください。
http://localhost:8080/manual/
http://localhost:8080/manual/sections.html
回答ありがとうございます。入れ子にするのですね。
しかし、まだ何故質問内容の様にしても実現出来なかったのか理解できてません。
まずdirectoryでlocalhost以外からのアクセスを禁止して、
そのあとfilesでtop.htmlだけはどこからでもアクセス出来るように
したらtop.htmlだけはdirectoryで設定したアクセス禁止の設定を上書きして
localhost以外からでもアクセス出来るようになる、
と思うのですが、どうなんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL Mac です。ローカルホストの phpMyAdmin にアクセスできません。 1 2023/06/06 17:14
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- Excel(エクセル) セルの値をグーグルで検索するエクセルVBAについて! 2 2022/08/01 21:41
- Outlook(アウトルック) outlookの送信エラーについて 1 2022/05/13 12:04
- Visual Basic(VBA) モードレスでユーザーフォームが開け(表示)ません。 4 2022/09/09 11:05
- オープンソース AWSドメイン名でApacheテスト・ページを表示させる方法を教えて下さい。 1 2023/04/26 15:59
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- ソフトウェア Aimpに関する質問です。 1 2022/09/08 11:11
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
スマホでHTMLファイルを開いて...
-
静止画画像をクリックすると音...
-
HTML/CSSを使って写真のような...
-
HTMLでクロス抽出したい
-
レスポンシブで困っています・・
-
GoogleSearchControlにホームペ...
-
メモ帳の段落の揃え方
-
ホームページの制作について教...
-
角丸画像の背景色を透明にした...
-
レイアウトが異なる別のワーク...
-
HTMLについて教えてください。 ...
-
テーブルを中央に配置
-
Dreamweverは今も主流なんです...
-
動画と画像&タイトル2列を横並...
-
完全素人がノーコードWEB制作の...
-
YouTubeの動画を自分のホームペ...
-
htmlが簡単に作成できるアプリ...
-
html 階層を下げると3分割画面...
-
index.htmlがうまく反映されない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大文字はできるだけ使わない方...
-
XAMPPで外部からアクセスする方法
-
Apacheで特定のファイルのみア...
-
HTMLで大文字と小文字を区別し...
-
ブラウザ確認おしえてください
-
XAMPPのドキュメントルート変更...
-
C++でWEBブラウザを作成する
-
存在しないページを指定してもT...
-
.htaccesでの認証の方法しりた...
-
シンボリックリンクでドキュメ...
-
BASIC認証でダイアログが開かない
-
formのaction属性に設定する値...
-
HTTP TRACEメソッドについて
-
リンク先指定のフォルダーがブ...
-
許可IP以外からアクセスがあっ...
-
多言語ホームページで
-
FFFTPを使ったアップロードがで...
-
リンクが開くPCと開かないP...
-
どなたか教えて下さい。
-
ブラウザで動作確認しようとし...
おすすめ情報