htaccessによる参照制限

[統計] HTMLからXHTMLへの移行を進めていますか?



0   名前: けろ : 2007/02/03(土) 01:10  ID:mXsA2/Bf sub-tS
【現在の状況】
過去に質問させていただきました。その際は、皆様のご丁寧な対応、
ありがとうございました。
http://www.tagindex.com/kakolog/q1bbs/2001/2428.html

【どうしたいのか】
過去ログ(上記アドレス)の、「34」を記述したところ、
http://abcdef.jp/html/index.html と入力した時はアクセス出来るものの、
http://abcdef.jp/html/ とアクセスした場合には「index.html」が省略されて
いるため、アクセスできず、「forbidden」となります。
よって、「34」の記述を改良すれば、「index.html」を省略した場合でも
forbiddenとならずに、アクセスが出来て、且つ参照元(index.html)からのアクセス
のみ許可する事はできないのでしょうか?

【何をしたのか】
「34」の「.htaccess」の記述です。

SetEnvIf Request_URI "/html/index.html" Ref1
SetEnvIf Referer "abcdef.jp/html/" Ref2
order deny,allow
deny from all
allow from env=Ref1
allow from env=Ref2

【備考】

1   名前: 元帥 : 2007/02/03(土) 01:10  [URL]  ID:ZLF/ZCPR sub-bK
正規表現を使ってはどうでしょうか。
"/html/(index\.html)?"


Perl正規表現のコードを書き換えただけなので、実行確認はしていないです。

2   名前: けろ : 2007/02/03(土) 01:10  ID:yxaVurCd sub-tS
元帥さん、ご回答ありがとうございます。
お返事が遅くなって申し訳ありません。
(回答を頂くのに、お時間がかかっていたので、回答を得るのを
諦めかけていました。)
SetEnvIf Request_URI "/html/(index\.html)?" Ref1
SetEnvIf Referer "abcdef.jp/html/" Ref2
order deny,allow
deny from all
allow from env=Ref1
allow from env=Ref2

としましたところ、結果は以下の通りです。
www.abcdef.jp/html/ でもアクセスできる。
www.abcdef.jp/html/index.html でもアクセスできる。
www.abcdef.jp/html/home.html もアクセスできてます。(index.htmlを参照元
として直リンクや、直接のアクセスをForbiddenとしたいのに)

ご連絡お待ちしております。

3   名前: 元帥 : 2007/02/03(土) 01:10  [URL]  ID:1ybU5F/w sub-bK
失礼しました。
〜/〜/index.html二ヶだけに気を取られており、落とし穴に気付かず…
"/html/(|index\.html)$"
今度は大丈夫だと思いますが、一通りの動作確認はして下さい。

> 回答を頂くのに、お時間がかかっていたので、回答を得るのを諦めかけていました。
あまり時間は経過していないような気もしますが…
http://www.tagindex.com/bbs/qa12.html
ですがここではHTML、CSS、JavaScript以外のスレへはレスされにくいかもしれません。


# 新機能:文字の強調
# 何となく入力してみたら使えたので、早速利用してみました。
# やや早計でしたかね(^^;


4   名前: けろ : 2007/02/03(土) 01:10  ID:yxaVurCd sub-tS
元帥さん、お返事ありがとうございます。

> あまり時間は経過していないような気もしますが…
すみません。確かに、お返事いただくのは、焦らずお待ちしていたほうがいいですね。
URL拝見しました。
SetEnvIf Request_URI "/html/(|index\.html)$" Ref1

1行目だけ引用したように、しましたが、サーバー側で、アクセスすると
「500 Internal Server Error 」となってしまいます。

5   名前: 元帥 : 2007/02/03(土) 01:10  [URL]  ID:di1M6OaA sub-bK
何度もすみません。
"/html/(index\.html)?$"
今後はいかがでしょうか。

>>3は拡張正規表現で使用可能になるかもしれませんが…

# 今ちょっとApacheが使えない状況でして。
# トムの猫が悪戯をしたと思っておりますが。


6   名前: けろ : 2007/02/03(土) 01:10  ID:KTCNJfsv sub-tS
元帥さんこんにちは。
(「おはようございます」かな?)
ご連絡お待ちしておりました。

本日29日にご連絡の記事番号「5」ですが、「5」の記述に
しましたところ、
www.abcdef.jp/html/ 直接アクセス、アクセス可
www.abcdef.jp/html/index.html アクセス可
www.abcdef.jp/html/home.html 直接アクセス、Forbidden。
(index.htmlよりリンクでアクセス可)

と、無事に成功いたしました。
本当に、ありがとうございます。m(_ _)m

お忙しい時間の中で、ご回答頂き心より御礼申し上げます。

7   名前: けろ : 2007/02/03(土) 01:10  ID:KTCNJfsv sub-tS
追伸です。

「例」
www.abcdef.jp/html/ は公開用
www.abcdef.jp/html/cgi-bin/accesslog/log.cgi は管理者だけ見るファイル。直アクセス可
などとしたい場合に、
ディレクトリ名「accesslog」の中にも「.htaccess」を置いて、その記述は
今回のソースで「3」を記述しないで置きましたが、上層の.htaccessを読み込んで
いるためか、Forbiddenでアクセスできません。

要するに、「このディレクトリの中は、直リンク可」などと、「3」の記述(命令)を
「解除」したい時には、今度はどのような記述になるのでしょうか。

度々申し訳ございません。m(_ _)m
よろしくお願いいたします。

8   名前: 元帥 : 2007/02/03(土) 01:10  [URL]  ID:DgYIy5AB sub-bK
解除、というかコードを増やすだけですが。
適当な場所に挿入してやって下さい。
SetEnvIf Request_URI "/html/cgi-bin/accesslog/log.cgi" Ref0

allow from env=Ref0

試してませんが、多分大丈夫だと思います。

9   名前: けろ : 2007/02/03(土) 01:10  ID:.pGgTf29 sub-tS
元帥さん、ご連絡ありがとうございます。
私の方で、以下のやり方で試して成功させてました。

(ソースの入力の際、プルダウンメニューがなくなって、
どうすればよいのか分からないので、そのまま貼り付けします)
--[ここから]---------------------------------------------------------
SetEnvIf Request_URI "/html/cgi-bin/accesslog/(log\.cgi)?$" Ref1
SetEnvIf Referer "abcdef.jp/html/" Ref2
order deny,allow
deny from all
allow from env=Ref1
allow from env=Ref2
--[ここまで]---------------------------------------------------------


これでも問題ないかとは思うのですが。大丈夫かな。

10   名前: 元帥 : 2007/02/03(土) 01:10  [URL]  ID:WGxYdFB0 sub-bK
>>9
URL末尾が/html/cgi-bin/accesslog/log.cgiか、或いは/html/cgi-bin/accesslog/である時、アクセスを許可する。
或いは、リンク元がabcdef.jp/html/である時、アクセスを許可する。
という意味になります。

特に問題はありませんが、
SetEnvIf Request_URI "/html/cgi-bin/accesslog/log\.cgi$" Ref1
order deny,allow
deny from all
allow from env=Ref1
でも構わないだろうと思います。

11   名前: けろ : 2007/02/03(土) 01:10  ID:wg4mfVn. sub-tS
元帥さん、ご連絡ありがとうございます。
では、「9」の記述で試そうと思います。
ご丁寧に、(本当に)ありがとうございましたm(_ _)m

一覧へ戻る