続:特定のホスト名を.htaccess単位でアクセス拒否するには?

[上に] [前に] [次に]
Web作者 2000/06/08(木) 17:39:48
解決かと、思ったのですが、どうしてもわからないので再質問させていただきます。
1. 以下の内容を.htaccessに記述したのですが、
iconsディレクトリーのみがアクセス制限がかかってしまい、
全てのディレクトリーに制限がかかりません。
<Limit GET>
order allow, deny
deny from localhost
allow from all
</Limit>

2. [http://www.apache.or.jp/jdocs/conf/limit.html]の説明の
「アクセス方法(メソッド=POST/GETなど)」というのは、
<form method="post" 〜>と同じ事なのでしょうか?
だとすれば、POSTの場合・・・。

よろしくお願い申し上げます。
# 以前の質問に追加書き込みしたのですが、新規質問した方が良いようなので、
# 再質問させていただきました。

にゃあ。 2000/06/08(木) 17:48:14
>1. 以下の内容を.htaccessに記述したのですが、
>iconsディレクトリーのみがアクセス制限がかかってしまい、
>全てのディレクトリーに制限がかかりません。

.htaccessを置いたディレクトリより下層しか制限がかからないはずですが?
全てにかけたいなら、最上階におかないとだめでしょ。ってはずしてたら済まん。

2はパスです(^^;)

Web作者 2000/06/08(木) 18:29:36
すみません(^^;)
かんじんな事を書き忘れてました。
上記の結果は、自分のPCのLocalHostで試したものです。
サーバーソフトはApache1.3.*(Win32)を使っています。
.htaccessは、[C:\Apache\.htaccess]に置いてありますので、
最上階に置いてあると思います。

誰かさん♪ 2000/06/08(木) 18:57:45
1.
ディレクトリ構成書いてくれないと読んだ方はあなたがナニをしたいのかがわからないんですが…。

> .htaccessは、[C:\Apache\.htaccess]に置いてありますので、
C:\Apacheがドキュメントルートなんですか?
サーバルートでなくて。

2.
> <form method="post" 〜>と同じ事なのでしょうか?

同じです。
#method="POST"と属性値は大文字で書いた方がいいらしいです。
#Anothor HTML-lint曰く。

つまり、
<Limit POST>の場合、POSTする場合のアクセス制限です。

Web作者 2000/06/08(木) 19:08:06
> ディレクトリ構成書いてくれないと読んだ方はあなたがナニをしたいのかがわからないんですが…。
主要構成はこのような感じです↓

C:\
|-Apache\ サーバーディレクトリー
   |-WebSite\ ホームページディレクトリー
   |-icons\ サーバー画像ファイル
   |-cgi-bin\ CGI専用(?)ディレクトリー
   |-logs\ アクセス/エラーログ
   |-bin\ サーバープログラムディレクトリー
   〜

誰かさん♪ 2000/06/08(木) 19:12:22
httpd.confのServerRootがC:\Apache、DocumentRootがC:\Apache\WebSiteになってるんですよね?
その構成ならC:\Apache\WebSiteに.htacessをおけば大丈夫かと。

Web作者 2000/06/08(木) 19:58:30
> httpd.confのServerRootがC:\Apache、DocumentRootがC:\Apache\WebSiteになってるんですよね?
そうです。
編集致しました。

> その構成ならC:\Apache\WebSiteに.htacessをおけば大丈夫かと。
残念ながら、結果は変わりませんでした。。

誰かさん♪ 2000/06/08(木) 20:57:45
#今、httpd.conf見て思い出した。

デフォルト設定だとドキュメントルートの.htaccessは無視される設定になってます。


<Directory "C:/Apache/WebSite">
って書いてある行を見てください。
#デフォルトだとC:\Apache\htdocsかも。
#そうなっていた場合は上記のように修正してください

その近くに

# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
#
    AllowOverride None

という行が見つかるはずです。
その行のNoneをAllに書き換えれば有効になると思います。

#Apache 1.3.12(Win32)で確認。

Web作者 2000/06/08(木) 22:30:32
280行目にそれと同一した文が1つだけありました。
早速[AllowOverride None]を[AllowOverride All]に書き換え、
サーバーを再起動させて、ブラウズすると、
「Internal Server Error」...

# Apache 1.3.11(Win32)でエラー確認。

誰かさん♪ 2000/06/08(木) 23:21:27
error.logに原因書いてありません?
.htaccessの記述ミスだと思いますが。
#確か、httpd.confのミスの場合はApache自体起動しないはず。

Web作者 2000/06/08(木) 23:30:51
> error.logに原因書いてありません?
あ、その手がありましたね(^^;

[Thu Jun 08 22:32:43 2000] [alert] [client 127.0.0.1] c:/apache/website/.htaccess: order takes one argument, 'allow,deny', 'deny,allow', or 'mutual-failure'

> .htaccessの記述ミスだと思いますが。
.htaccess自体は、初期(このページの一番上)から変更していません。

誰かさん♪ 2000/06/09(金) 01:03:24
なるほど、これは非常にわかりづらいですね。

> order allow, deny

denyの前の空白を削除しませう。
この空白があるとアウトらしいです。

Web作者 2000/06/09(金) 01:12:16
> なるほど、これは非常にわかりづらいですね。
うわ・・(^^;;

>> order allow, deny

> denyの前の空白を削除しませう。
こんなところにエラーがあったんですね(^^;

> この空白があるとアウトらしいです。

ご苦労をおかけしました。
無事作動しました。
ありがとうございました。

Web作者 2000/06/09(金) 01:13:26
[[解決]]
解決しました。

[上に] [前に] [次に]