.htaccessの偉い人 Part3
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/04/27 15:17ID:???http://httpd.apache.org/docs/
↑.htaccessの設定でアクセス拒否とかの設定はここで分かります。
厨房な質問には煽ってあげるか、デタラメな事教えてあげて下さい。
ですが、マジな質問にはマジレスしてあげて下さい。
0263bloom
02/09/01 22:40ID:81zjmUEEhttp://www.leverage.jp/bloom/qry/search.qry?function=Search
0264nobodyさん
02/09/02 16:18ID:sOMluKVy***.or.jpかつIE5.01を弾くにはどうすれば良いでしょうか。
どなたかご教示頂ければ幸いです。
IPアドレスだけなら何とかなるのですが…。
0265b
02/09/02 16:23ID:X6HKS5qy0266264
02/09/02 17:41ID:???SetEnvIf User-Agent "MSIE 5.01" angel
order allow, deny
allow from all
Deny from ***..or.jp
Deny from env=angel
な感じだと思うんですが、やっぱり「且つ」の部分がよくわかりません。
どうかご教示ください。
0267自信ないからsage
02/09/02 18:38ID:???Order deny,allow
Deny from ***..or.jp
Allow from env=!angel
かな…よくわ
0268nobodyさん
02/09/02 18:39ID:???RewriteCond %{HTTP_USER_AGENT} "MSIE 5\.01"
RewriteCond %{REMOTE_HOST} "\.or.jp$"
RewriteRule .* - [F]
0269264
02/09/03 03:53ID:???しかし以下のように書いてみたのですが動作しません。
RewriteRuleを簡略化したり色々試してみたのですが、
何かが根本的に間違ってるみたいです。
何がいけないんだろう…。(***は伏字)
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} "\BMSIE 5\.01\B"
RewriteCond %{REMOTE_HOST} "\.***\.or\.jp$"
RewriteRule .*\.(html|shtml)$ - [F]
0270nobodyさん
02/09/03 06:31ID:???.or.jp指定すると重くなるよ。間違いなく。
君のページだけでなく他のヤシも迷惑するんでIPアドレスベースで指定すればいいのだが、
さすがにこれはそうもいかないなぁ。
日に100人ぐらいしか来ないのなら大丈夫だろうが・・・・
0271nobodyさん
02/09/03 14:54ID:???Apache 1.3.x で使われてる正規表現ライブラリでは \B はサポートされてないはず。
2.0.x なら PCRE(perl 互換の正規表現ライブラリ)なので使えると思うけど(未確認)。
それから、deny from or.jp のように書くときとは違って、
RewriteCond %{REMOTE_HOST} ... とやってもサーバ側で IP アドレスの逆引きは
やってくれないはずなので、そういう設定になっていないのならば
IP アドレスの範囲を調べて %{REMOTE_ADDR} を見るように変更する必要がある。
強制的に逆引きさせるならば HostnameLookups On と書いておけばいいが、
>>270の言うとおりオススメできない。
0272264
02/09/04 04:38ID:???あ、そこは大丈夫です。1日100人どころか…フ。
>>271
>RewriteCond %{REMOTE_HOST} ... とやってもサーバ側で IP アドレスの逆引きは
それだ!と思いきや、今さっきサーバがmod_rewriteを使えない事が判明しました。
鯖管理者としては扱いにくいモジュールみたいなので、要望しても無駄だろうなあ…ハァ。
確認してなくてごめんなさい。でも非常に勉強になりました。
Apache 1.3.xで使えない正規表現がある事も始めて知りました。
ありがとうございます。
あー、何でApacheの命令は or ばかりで and が普通にできないんだろうなあ。
0273nobodyさん
02/09/12 22:17ID:50mmehY3SetEnvIf User-Agent "compatible; MSIE 5.01; MSN 2.5; Windows NT 5.1" Angel
というような書き方は有効でしょうか?
0274nobodyさん
02/09/12 22:41ID:hWsmO4EV0275nobodyさん
02/09/20 21:52ID:???http://japache.infoscience.co.jp/rewriteguide/#ToC38
0276nobodyさん
02/09/25 11:36ID:DpYE79h60277nobodyさん
02/09/25 15:11ID:???0278nobodyさん
02/09/29 15:12ID:22VBbugf置くことって可能ですか?
あとローカルでhtaccessのテストする方法があれば
教えて下さい
0279nobodyさん
02/09/29 15:32ID:GFc2ikxP0280nobodyさん
02/09/29 16:44ID:???0281nobodyさん
02/10/01 13:14ID:cK6ONfO3行が長くなるから見やすいように空白行を入れたいんだけど入れても大丈夫?
これは例だけど、
------
ErrorDocument 404 /404.html
order allow,deny
allow from all
deny from .alexa.com
------
を、こんな風にってこと↓
------
ErrorDocument 404 /404.html
order allow,deny
allow from all
deny from .alexa.com
------
こんな初歩的なことはどのサイトにも載ってなかったので。。。どうでしょう?
0282nobodyさん
02/10/01 13:28ID:???0283281
02/10/01 18:15ID:cK6ONfO3というか、これ厨房な質問なのでしょうか……
0284nobodyさん
02/10/01 18:27ID:???0285nobodyさん
02/10/01 20:26ID:???酷過ぎる質問だ・・・
0286nobodyさん
02/10/01 21:18ID:???0287nobodyさん
02/10/03 21:50ID:nRx9/PLs都合の良い事は出来るのでしょうか?
0288287
02/10/03 21:51ID:nRx9/PLsAuthName "★ User IDとPasswordを入力して下さい ★"
AuthUserFile /var/www/mrtg/.htpasswdemyu
AuthGroupFile /dev/null
<Limit GET POST>
require valid-user
</Limit>
とし、このファイルを置いたディレクトリにアクセスすると認証ダイアログが出ますよね?
ここで正しいユーザーとPASSを入れた後に、その人がプロキシーを経由してたら禁止する
みたいなことがしたいのです。
0289nobodyさん
02/10/03 22:03ID:???cacheとかproxyとかを含むドメインでも弾いてろ。
0292nobodyさん
02/10/03 23:03ID:???http://www9.org1.com/~anach/memo/20020309.html
0293nobodyさん
02/10/06 02:05ID:nx2vQ/22DocumentRootを各ユーザサイトごとに設定するにはどうしたらいいですか?
0294nobodyさん
02/10/06 02:49ID:616lqBmlどこか文法に誤りがあるのであれば指摘お願いします
#!/usr/bin/perl
require './cgi-lib.pl';
require './jcode.pl';
print "Content-type: text/html\n\n";
%form = &read_input('euc');
$num = $form{'num'};
$filename = '${num}.txt';
$writefile = 'write.cgi';
print "<html><head></head><body>\n";
if( !open( FH , ">>$filename" ) ){
print "Error<BR>\n";
exit( );
}
@comtxt = <FH>;
close(FH);
$max = @comtxt;
for( $line = 0 ; $max == $line ; ){
$str = $comtxt[${line}];
$line++;
@list = split( /\:/ , $str );
print "${line} :$list[0] $list[1]/$list[2]/$list/[3] $list[4]:$list[5]<br> <blockquote> $list[6]</blockquote> <br> <br> \n";
}
print "<br><hr>\n";
print "<form method=POST action="$writefile"><input type=submit value="書き込む" name=submit> 名前: <input name=FROM size=19>
<br><textarea rows=5 cols=70 wrap=off name=MSG> </textarea><input type=hidden name=num value=$num> </form></body></html>\n";
_END_
0295nobodyさん
02/10/06 02:51ID:???0296nobodyさん
02/10/06 05:00ID:???http://pc.2ch.net/test/read.cgi/php/1026230350/489
0297nobodyさん
02/10/06 12:32ID:???スレ違いだけどあえて指摘しておくと、
そのスクリプトには文法エラーだけでなく、セキュリティホールもあるので気をつけれ。
$num = $form{'num'};
$filename = '${num}.txt';
汚染チェックをしていないので、$filename が任意のファイルになりうる。
0298nobodyさん
02/10/06 12:44ID:???perl -wcくらいやれよ。
0299nobodyさん
02/10/07 16:43ID:???どうしたら変えられるんでしょうか。
0300nobodyさん
02/10/07 16:43ID:???0302nobodyさん
02/10/12 20:23ID:T09CHJNGどうすればいいですか?
これらのファイルはブラウザではなく
プラグインがアクセスするからREFERER吐かないですよね。
0303nobodyさん
02/10/13 01:13ID:???0305nobodyさん
02/10/15 11:07ID:LkwD4Abx分かりやすい参考書とかサイトありますか?
0306nobodyさん
02/10/15 11:44ID:???0307nobodyさん
02/10/15 14:12ID:???0308…で、
02/10/15 17:37ID:???" SetEnvIf REFERER "[許可Referer URL]" Lilith 〜 env=Lilith "か
" RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://([a-z0-9-]+\.)*
[許可Referer URL] [NC] 〜 RewriteRule /* [R,L]のどっちかで
あるディレクトリーへの直接リンをコントロールしつつ、そのディレクトリーを更に
" AuthUserFile /.htpasswd 〜 require valid-user "でパスワード管理するって事
できますか?
.htaccessにあれもこれも書けないんですよねェ、やっぱ?
0309nobodyさん
02/10/15 17:52ID:???これがデフォルト。どっちか片方だけでよければ Satisfy any とする。
mod_rewrite を使う場合は知らん。とりあえず試してみれ。
0310…てと、
02/10/15 18:27ID:???SetEnvIf REFERER "http://www.example.com/tatoeba.html"Lilith
Order Allow,Deny
allow from all <----------ここ?
deny from env=Lilith
AuthUserFile /home/users/****/****/tatoeba/ex/.htpasswd
AuthGroupFile /dev/null
AuthName "パスワード入れてね"
AuthType Basic
require valid-user <----------それともここ?
…どっちか消して、まとめて Satisfy any?
ちと分からないんですよ。
mod_rewriteは試したら、パスワードを聞かれて
入れると、無事入れるものの、即、跳ね飛ばされてしまいました。
0311309さん、分かりました
02/10/15 22:44ID:???分かりました。分かったんですが
どうもリファラーを返していないのかもしれませんね。
0312nobodyさん
02/10/15 23:24ID:dX1FZ2Hw0313nobodyさん
02/10/18 08:32ID:FvYG2BU7串よけしたいんですけど、串関係の変数にIPアドレスが入ってるならば許可という
感じで書きたいのですが…
IPアドレスにマッチするSetEnvIfの正規表現はどういう風に書けばいいのでしょうか?
0314nobodyさん
02/10/20 01:11ID:???***.datが丸見えの為
<Files ~ "^\.(log|dat|htaccess)$">
deny from all
</Files>
と、入れたのですが全く効果ありませんでした。なぜでしょう?
サーバーはXREAを使ってます。
0316nobodyさん
02/10/21 14:34ID:mvceIK9c今、
SetEnvIf REFERER "www.hoge.com" Lilith
Order Deny,Allow
Deny from all
Allow from env=Lilith
こんな感じで使っています。複数のREFERERを設定するには
どのように書けば良いのですか?
お願いします。
0317nobodyさん
02/10/21 15:13ID:???つーか、聞く前にとりあえず試行錯誤してみてください。
0319nobodyさん
02/10/21 16:30ID:???エッラーになるよね。
・・・・・・漏れだけ?
0320nobodyさん
02/10/21 18:14ID:???0321nobodyさん
02/10/25 22:43ID:???のみを許可したいのですが、どうすれば良いのでしょうか?
以外を禁止したいわけなんですけど。
0323321
02/10/26 00:08ID:???外を禁止するとは?
deny from all
<Files ~"\.(html?|cgi|php|txt)$">
allow from all
</Files>
としたら403になりますた(T_T)
検索エンジンでも、このタイプはどうも見つかりません。
0324321
02/10/26 00:28ID:???こりは .conf に書かないといかんのでしょうか?
0325323
02/10/26 00:41ID:9Um3zbMadeny from all
<Files ~"\.(html?|cgi|php|txt)$">
allow from all
</Files>
で動いた感じです。有り難うございますた!
http://www.hoge.com/ だと怒られるんですね(^^;)
0326nobodyさん
02/10/26 01:26ID:???0327名無し
02/10/27 06:39ID:yQlGAQqj色々調べては見たのですがエラーが出ます。
urlは http://yyy.s20.xrea.com/
設定したこと↓
AuthUserFile /virtual/yyy/public_html/test/.htpasswd
AuthGroupFile /dev/null
AuthName "test"
AuthType Basic↓
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>
パーミーションは644にしています。
0328nobodyさん
02/10/27 07:07ID:???http://httpd.apache.org/docs-2.0/
一部英文(英語読めないヤツが htaccess さわるんじゃねぇ。)
0330nobodyさん
02/10/27 11:34ID:???AuthUserFile /virtual/yyy/public_html/test/.htpasswd
↑ public_htmlの下に置くなって何度言ったらわかるんだ。
AuthGroupFile /dev/null
↑ いらない
AuthName "test"
AuthType Basic↓
require valid-user
↓ >>328のいうとおりいらない
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>
別のページへジャンプさせたいのですがよくわかりません。
それ自体を拒否する場合は↓みたいに
>>1さんのサイト先からなんとかできたのですが・・・
SetEnvIf REFERER "yahoo.com" Ref1
Order Allow,Deny
Allow from all
Deny from env=Ref1
例えばyahooからアクセスしてきた人にかぎり、
その人をまたyahooへジャンプさせるやり方がわからないわけです。
どうすれば宜しいのでしょうか?
どうもありがとうございます。
mod_rewriteそのもの全然知らなかったので、あれから色々調べたのですが、
どうやら折れのとこのサーバーは対応していないみたいです。
何か別の方法考えます。ありがとうございました。
0334nobodyさん
02/10/30 17:55ID:l2cDvWNjあるディレクトリに.htaccessでBASIC認証を試みたんですが、
2回もユーザ名とパスワードを要求され、
URLがhttpd.confのServerNameで指定したサーバ名に変わってしまいます。
.htaccessの内容は
AuthUserFile /xxx/xxx/xxx/.htpasswd
AuthGroupFile /dev/null
AuthName "xxx"
AuthType Basic
require valid-user
です。
誰か助けてください。よろしくお願いします。
0335nobodyさん
02/10/30 18:36ID:DMe7qUokOrder Deny,Allow
Deny from all
Allow from env=Lilith
で、直リンクを防ぐと同時に、
SetEnvIf Accept-Language ja acceptja
Order Deny,Allow
Deny from all
Allow from env=acceptja
で、日本語使用者以外を弾きたいのですが、
2つ同じ.htaccessに記述してもうまくいきません。
どちらか1つだけ記述した場合はうまくいくのですが、
2つ同時には記述できないのでしょうか?
どなたかご教授下さいますようお願いいたします。
0338336
02/10/30 18:52ID:DMe7qUok言葉遣いを覚えましょう
0339334
02/10/30 19:01ID:l2cDvWNjいえ、.htaccessを除いて普通に開くとURLは変わらないです。
0340nobodyさん
02/10/30 19:42ID:???うひ、そうか。たぶん、
(1) ServerName で指定していないサーバ名でアクセス
(2) 認証してくれ
(3) 認証 OK だからコンテンツ見せてあげよう
(4) と思ったら Location: で飛ばされちゃった
(5) 飛んだ先は ServerName で指定したサーバ名
(6) 別サーバだから認証やりなおし
という流れになっとると思われ。
おかしいのは(3)→(4)のところ。こういう状況になるありがちな可能性としては、
・httpd.conf や .htaccess で Redirect なり ErrorDocument なり mod_rewrite なりで
URL の書き換えをやってる
・http://www.example.com/hoge/ ではなく、http://www.example.com/hoge で
アクセスした(最後のスラッシュがない)
こういうときには Apache は Location: http://${SERVERNAME}/pathname/ という
ヘッダを吐くことがある。認証の設定自体は問題ないと思うので、
このようなリダイレクトが発生する要因をつぶしてみてくらはい。
つーか、ちゃんと設定した ServerName でアクセスしてあげてください。
0341nobodyさん
02/10/30 20:36ID:???答える気が無いんなら馬鹿の一つ覚え「マニュアル読め」は書くな
0342nobodyさん
02/10/30 23:39ID:???な?
0343nobodyさん
02/11/01 04:02ID:fuUH5vbSいろいろ調べて回ったもののここ何日、一向に解決しないのでご助言下さると嬉しいです。
荒らしにあっているのでアク禁をしたいのですが
アップロードしても全ての記述に関してうんともすんとも言わないのです。
最後の行の改行、アスキーモードでのアップロード
htaccessにしたり、前に.をつけてみたり、確認しましたが
内容をDeny from allにしても、弾くどころかなにも変わりません。
(オリジナルのエラー文表示、ディレクトリ一覧表示の禁止なども試しましたがダメでした)
記述を間違っているとエラーが出ると読んだのですがそれさえも出ません。なにもファイルを置いていない状態と同じです。
ちなみにサーバ管理者は、.htaccessは使えたはず…と言っております。
なんの反応もしないと、メールで問い合わせしたのですが返答がありませんでした。
まったく無反応ということは、一体どんな理由が考えられるでしょうか。
0345343
02/11/01 14:31ID:???やっぱり、使えないと考えるのが自然ですよね。
ありがとうございます。
0346nobodyさん
02/11/04 03:47ID:???AddTypeを指定するというようなことはできるでしょうか。
SetEnvIfで環境変数を設定して、その変数によって
条件分岐させることはできないでしょうか?
0348nobodyさん
02/11/04 12:47ID:???.htaccessのパーミッションは?
apacheはnobodyとかで動いているだろうから、htmlとかのパーミッションと合わせる
必要があると思われる。
新規作成の.htaccessだと、umaskに依存して、もしかすると220とか200とかかも...
0349nobodyさん
02/11/04 17:13ID:kZ/t31JH素材系のサイトをやっているのですが、トップページ以外や素材への直リンが多くて参っています。
http://111/222/333/
http://111/222/444/
http://111/222/555/
222に.htaccessを置いて直リンを禁止したのですが、
MACを使っている人から222以下のディレクトリのページがトップから入っても見られなくなったと苦情がきました。
フレーム分割しているディレクトリが見られないみたいで、あとは見られるとのことでした。
WINでは正常に稼動しています。
2222/ に置いている.htaccessファイルは以下の通りです
AddHandler cgi-script htaccess
SetEnvIf REFERER "http://111" Lilith
Order Deny,Allow
Deny from all
Allow from env=Lilith
なにか解決策はあるでしょうか?
お手数おかけしてすみません。何かあるならばどうか知恵をお授けください。
0350nobodyさん
02/11/04 19:30ID:???0351nobodyさん
02/11/04 19:35ID:???Referer をもとに完全なアクセス制御するのは不可能なのであきらめれ。
クライアント側は何もしなくても、途中にあるプロクシが
Referer を書き換えたり削ったりすることがあるので、最悪の解とわきまえるべし。
公開情報に直リンクされて何が悪い?
0353nobodyさん
02/11/04 21:42ID:???いや、それはわかってるんだけど、任意の文字列のわりには
このスレでは>>159>>308>>310>>335>>349とやたらめったら出てくるわけで。
0356nobodyさん
02/11/05 10:54ID:???Macの人は何かセキュリティーソフトをインストールしてるのでは。
NortonとかReffererを消しちゃうソフトもあるので。
0357nobodyさん
02/11/05 11:01ID:???Refererを隠す機能などがある国産ローカルプロキシの名前。
「lilith .htaccess」をキーワードにして全言語でぐぐっても
日本語のページしか掛からないしほぼ間違いないと思われ
0358nobodyさん
02/11/05 17:42ID:5Ci8Aq1yわかりません。どなたかご教授ください。
<やりたい事>
特定のホストからのアクセスで、パスワードとIDを入力した者だけ
アクセスできる。
<記述内容>
order deny,allow
deny from all
allow from .hogehoge.co.jp
AuthUserFile /virtual/fermais/public_html/e/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter username and password"
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>
ミケネコさんのところのアクセス制限にBASIC認証を後ろにくっつけた
という書き方なんですが、これでいいのでしょうか。
一応、認証は動いてますが。
0359359
02/11/05 18:24ID:???ナニ馬鹿なこと言ってたんだろう。
改行の有無なんかで躓いて・・・
0360nobodyさん
02/11/07 12:14ID:OW1kfmOGのようなアドレスでのアクセスを蹴る事は可能でしょうか?
■ このスレッドは過去ログ倉庫に格納されています