1 名前:Name_Not_Found [2006/09/09(土) 00:19:29 ID:HbgUKOrv] .htaccessの書き方・使い方などに関するスレです。 【参考サイト】 ・ ミケネコの htaccess リファレンス mikeneko.creator.club.ne.jp/ 〜lab/web/htaccess/ ・ メモランダム MultiX.jp multix.jp/html/memo/ ・ futomi's CGI Cafe - .htaccessの小技編 www.futomi.com/lecture/htaccess/ ・ .htaccess実践活用術 www.shtml.jp/htaccess/ 【Apacheドキュメント】 ・ Apache 1.3ドキュメント httpd.apache.org/docs/ ・ Apache 2.0ドキュメント httpd.apache.org/docs-2.0/ ・ Apache 2.1(alpha)ドキュメント httpd.apache.org/docs-2.1/ ・ Apache チュートリアル: .htaccess ファイル httpd.apache.org/docs-2.0/howto/htaccess.html ・ Apache チュートリアル:認証、承認、アクセス制御 httpd.apache.org/docs-2.0/howto/auth.html ・ Apache モジュール mod_access(アクセス制御) httpd.apache.org/docs-2.0/mod/mod_access.html ・ Apache モジュール mod_auth (認証) httpd.apache.org/docs-2.0/mod/mod_auth.html ・ Apache URL Rewriting Guide (Rewrite) japache.infoscience.co.jp/rewriteguide/ ・ Apache module mod_rewrite (Rewrite) japache.infoscience.co.jp/japanese_1_3_6/manual/mod/mod_rewrite.html
501 名前:Name_Not_Found mailto:sage [2007/01/04(木) 22:03:14 ID:???] Javascript無効の訪問者をhtaccessで弾く事って出来ます? その場合はどんな記述になるんでしょうか
502 名前:Name_Not_Found mailto:sage [2007/01/04(木) 22:40:51 ID:???] できない事もないですが、クライアントサイドの事はクライアントサイドで 完結しやがれですぅ。
503 名前:Name_Not_Found mailto:sage [2007/01/04(木) 23:18:42 ID:???] わかりました。どうもです
504 名前:Name_Not_Found mailto:sage [2007/01/09(火) 12:49:23 ID:???] SetEnvIf User-Agent "AAA" deny_ua SetEnvIf User-Agent "BBB" deny_ua SetEnvIf User-Agent "CCC" deny_ua order allow,deny allow from all deny from env=deny_ua 例えば上記の場合だと、User-Agentが「AAA」か「BBB」か「CCC」を含む場合に拒否しますが、 これを「AAA」と「CCC」の両方を含む場合に拒否する というふうにしたいのですがどのようにすればいいでしょう? 色々試してみてはいるのですが正規表現が理解できていないのか上手くいきません。 よろしくお願いします。
505 名前:Name_Not_Found mailto:sage [2007/01/09(火) 13:54:31 ID:???] AAA.*CCC と CCC.*AAA にでもするですぅ
506 名前:504 mailto:sage [2007/01/09(火) 14:50:42 ID:???] >>505 出来ました。ありがとうございます!
507 名前:Name_Not_Found mailto:sage [2007/01/09(火) 18:35:52 ID:???] SetEnvIf User-Agent "GetHTMLW|GetYou!|webox" deny_ua deny from env=deny_ua 上のように設定してるんですが、weboxだけ弾かれずに全てダウンロードされてしまいます。あがいても無駄でしょうか、、
508 名前:Name_Not_Found mailto:sage [2007/01/09(火) 19:05:44 ID:???] WeBoXはWeBoXよぉ? user agent 該当ソフト名 でググればアクセス解析のページが引っかかるから そこから正しいものをピックアップしなさぁい。 特定バージョンは UserAgent を送ってくるみたいよぉ?
509 名前:Name_Not_Found mailto:sage [2007/01/09(火) 21:07:31 ID:???] >>508 SetEnvIf User-Agent "GetHTMLW|GetYou!|WeBoX" deny_ua deny from env=deny_ua でやってみたんですが素通りされてしまいました。UA送ってこないバージョンのようです。 ありがとうございました。
510 名前:Name_Not_Found mailto:sage [2007/01/11(木) 15:19:09 ID:???] YahooBBを愛知限定で規制したいのですが、どう書けばいいんでしょうか
511 名前:Name_Not_Found mailto:sage [2007/01/11(木) 16:55:46 ID:???] >>510 deny from softbank|愛知のIPを調べる|.bbtec.net
512 名前:Name_Not_Found mailto:sage [2007/01/11(木) 17:01:27 ID:???] YahooBBって滅多にIPアドレスが変わらないから、規制対象はとりあえず1つにして すり抜けられたらいたちごっこをするか/24で規制するかしていけばいいと思う。
513 名前:Name_Not_Found mailto:sage [2007/01/11(木) 22:27:17 ID:???] ありがとうございました。そうします
514 名前:Name_Not_Found mailto:sage [2007/01/12(金) 13:05:39 ID:???] > pc10.2ch.net/test/read.cgi/hp/1167026480/694 <FilesMatch "\.(js|css)$"> SetEnvIf Referer "^$" no_ref # または、許可するHTML全てを表す正規表現なり前方一致させたい部分で !no_ref # SetEnvIf Referer "^http(略" !no_ref Order Deny,Allow Deny from env=no_ref </FilesMatch> リファラ吐かない端末で見るとアレな事態になるし、 CSSやJSの直叩きってそんなに気にするようなもんかなあ。
515 名前:Name_Not_Found mailto:sage [2007/01/12(金) 13:33:32 ID:???] 書き忘れてた。 JSやCSSを直で叩こうとする人らは、普通に閲覧してキャッシュフォルダを開けば済むことを 知ってる確率が高いかもしれないよ。
516 名前:Name_Not_Found mailto:sage [2007/01/12(金) 13:40:57 ID:???] URLを直接入力するのではなく、ブックマークレットを介してでジャンプすると ちゃんとRefererを付けてくれるですぅ。
517 名前:Name_Not_Found mailto:sage [2007/01/12(金) 14:46:43 ID:???] 初心者スレの694です。 あちらで誘導してくれた方と同じ方なんですね、失礼しました^^; >>514 を参考に調べながらやってみたのですが、 やはりhtmlからも参照されなくなってしまうようです。(確認はWin/Apache2.0.58) >>514 さんの記述で、htmlからは参照できてるのですよね・・ レンタル鯖にも相談していたのですが、うちでは無理だとの返事でした。 たしかに>>515 のようなこともありそうですし、今回は見送り 機会を見てまた勉強してみようかと・・・すみません。
518 名前:Name_Not_Found mailto:sage [2007/01/14(日) 01:04:21 ID:???] SetEnvIf REFERER "example.com/" refok Order Deny,Allow Deny from all Allow from env=refok 現在、上記のようにしてトップページからでないと サイト内のコンテンツを見られないように制限しています。 そこへ携帯電話用BBS(example.com/mobile/ )を設置したいのですが、 調べてみたところ携帯電話はRefererを送らないようです・・・ そこで携帯からのアクセスのみIP判別し全て許可としたいのですが、 Allow from env=refok 以下に許可したいIPを記述するだけでOKなのでしょうか?
519 名前:Name_Not_Found mailto:sage [2007/01/14(日) 01:06:45 ID:???] このような感じです。 SetEnvIf REFERER "example.com/" refok Order Deny,Allow Deny from all Allow from env=refok #NTTDoCoMo Allow from 210.153.84.0/24 Allow from 210.153.84.0/24 Allow from 210.136.161.0/24 Allow from 210.153.87.0/24 (以下続く)
520 名前:Name_Not_Found mailto:sage [2007/01/14(日) 01:15:15 ID:???] OKよぉ?
521 名前:Name_Not_Found mailto:sage [2007/01/14(日) 23:42:44 ID:???] ドコモの場合はFullブラウザも追加しないと
522 名前:Name_Not_Found [2007/01/15(月) 03:02:58 ID:PNqbmNiw] さっぱりわからん! 言われているように自分のを拒否設定にしても アクセスできちまう。 あぱっち?なんですか? ぱぶりっく〜ってなんですか? index.htmlが置いてあるところに 置けば良いのですか? わからん。 Baiduspider は来てないみたいだけども yodaoはアクセスしているみたいだ。 SetEnvIf User-Agent "Baiduspider" dame1 SetEnvIf User-Agent "yodao" dame2 order allow,deny allow from all deny from env=dame1 deny from env=dame2 これじゃだめなの?
523 名前:Name_Not_Found mailto:sage [2007/01/15(月) 03:33:01 ID:???] >>522 > あぱっち?なんですか? 不眠不休でHTTPリクエストを受け付けて淡々と返事してくれる偉い人。 黙々と仕事してそうに見えて error_log にいろいろと本音を書き残してるので侮れない。 ざっくり yodao とやらを調べたけど、UA文字列が YodaoBot/1.0 (www.yodao.com/help/webmaster/spider/; ) こういうものだったら、その記述でdame2も有効。"YodaoBot/1.0"としか名乗らないのが もしいるのなら「全部小文字の yodao」じゃないのでdame2に当てはまらない。 # 類似品の SetEnvIfNoCase という面倒見のいい人に頼むとどうにかしてくれる。 その記述でいけるはずだけど、 > 言われているように自分のを拒否設定にしてもアクセスできちまう。 これ見る限り、その部分以外に *何か* 楽しい記述を書いてたりしない?
524 名前:522 [2007/01/15(月) 11:47:40 ID:PNqbmNiw] 523さん丁寧にありがとう! 大文字っていうところには全く気がつかずでしたわ。 yodaoに関してはアクセス解析っていうので見てみると ユーザーエージェントっていうところに YodaoBot/1.0 (www.yodao.com/help/webmaster/spider/; って書いてありました。 でもホスト名っていうところではyodaoがどれなのかさっぱり わからないけど。。。 教えて頂いた通り SetEnvIf User-Agent "Baiduspider" dame1 SetEnvIf User-Agent "yodao" dame2 SetEnvIf User-Agent "YodaoBot/1.0" dame3 order allow,deny allow from all deny from env=dame1 deny from env=dame2 deny from env=dame3 というふうに書き換えてみました。 えっと、これ以外には何も書いてないです。 自分自身を弾けないのは、自分のIPもしくは えーじぇんと?の記述が間違っていたのでしょう。 これで様子見てみます! ありがとう!
525 名前:Name_Not_Found mailto:sage [2007/01/15(月) 13:22:25 ID:???] >>524 あまり丁寧じゃない523です。 そのUA+その記述だと必ずdame2とdame3の両方に当てはまるので>>522 のままでもいいけど それで様子見て「まだ来るよ!」というときはまた来てください。 個人的に、その場合なら Order Deny,Allow して Allow from all の行を書かない。 > えっと、これ以外には何も書いてないです。 > 自分自身を弾けないのは、自分のIPもしくはえーじぇんと?の記述が 失礼しました。 たぶん、UAでdenyしようとして SetEnvIf User-Agent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" ua_ban …とカッコをそのまま書いた、なんて事例じゃないかと。
526 名前:Name_Not_Found mailto:sage [2007/01/15(月) 16:04:02 ID:???] 大文字小文字の差でかすりもしないときは、SetEnvIfではなく SetEnvIfNoCaseを使うと楽ですぅ。
527 名前:519 mailto:sage [2007/01/15(月) 22:21:48 ID:???] >>520 有難うございます。早速動作確認してみます。 >>521 www.nttdocomo.co.jp/service/imode/make/content/ip/about/index.html#ip ここでは 210.153.87.0/24 となっているのですが、 他にも割り当てがあるのですか?
528 名前:Name_Not_Found [2007/01/16(火) 14:37:26 ID:XwwKfw2N] デフォルトファイルを「index.cgi」に設定したいのですがうまくいきません。 DirectoryIndex index.cgi index.html とだけ記述した「.htaccess」ファイルを同じディレクトリ内に設置すると 「index.cgi」も「index.html」もサーバーエラー(500)になってしまいます。 (htaccessファイルがない状態だとどちらも正常に動作。) 全く行き詰ってしまったのでご助言お願いします。 なお、htaccessファイルの最終行は改行で終わらせ、アスキーモードで転送しています。 また別ディレクトリにhtaccessを置いていますがBasic認証(正常に動作)の記述のみで 特別制限を加える記述はしていません。
529 名前:Name_Not_Found mailto:sage [2007/01/16(火) 15:04:03 ID:???] >>528 500エラーは自分のミス。 index.cgiをデフォにしたいならindex.htmlうpしなければいいんでわ。
530 名前:Name_Not_Found [2007/01/16(火) 15:14:54 ID:XwwKfw2N] >>529 レスありがとうございます。 index.htmlを削除して試してみましたが、500エラーが出ました。 (htaccessファイルがない状態だと404ではなくindex.cgiが呼び出されました。) サーバー側の問題が高い気がしてきましたので一度確認してみようと思います。
531 名前:Name_Not_Found mailto:sage [2007/01/16(火) 15:19:48 ID:???] いやだからね、htaccessいらないんじゃないの?
532 名前:Name_Not_Found mailto:sage [2007/01/16(火) 15:42:46 ID:???] >>531 SEO対策等を考えると単純にindex.htmlを削除するのはできれば避けたかったのですが htaccessなしで検討してみます。 ありがとうございました。
533 名前:Name_Not_Found mailto:sage [2007/01/16(火) 16:05:17 ID:???] >>532 諦めず設定見直せ
534 名前:Name_Not_Found mailto:sage [2007/01/16(火) 16:26:52 ID:???] DirectoryIndexはAllowOverrideにIndexesが指定されてないと使えないですぅ。 使えないときは500エラーになるですっ。
535 名前:Name_Not_Found mailto:sage [2007/01/17(水) 08:35:49 ID:???] --------保存版------------------------------------------------ SetEnvIf で設定できる項目 SetEnvIf を SetEnvIfNoCaseにすると、大文字小文字の区別をしないで処理する ●Request_URI URL のスキームとホストの後の部分 ●Remote_Addr リクエストを行なっているクライアントの IP アドレス ●Request_Method 使用されているメソッド名 ( GET, POST など ) ●Remote_Host リクエストを行なっているクライアントのホスト名 ( もしあれば ) ●Request_Protocol リクエストが行なわれたプロトコルの名前とバージョン ( 例えば、"HTTP/0.9", "HTTP/1.1" など。) ●Server_Addr リクエストを受け取ったサーバの IP アドレス ( 2.0.43 以降のみ) ●User-Agent リクエストを行っているユーザーエージェント ( ログには combined を指定 ) pc10.2ch.net/test/read.cgi/hp/1051605457/252-
536 名前:Name_Not_Found mailto:sage [2007/01/17(水) 08:36:41 ID:???] なので、.htaccessに設定するなら ● 202.179.180.*** なら SetEnvIf Remote_Addr 202.179.180. deny_user order allow,deny allow from all deny from env=deny_user ●colocation.chipsat.com.br が deny from colocation.chipsat.com.br で 拒否出来ない件なら(大文字も考慮して) SetEnvIfNoCase Remote_Host "nodomaintransfer" deny_user SetEnvIfNoCase Remote_Host "colocation.chipsat.com.br" deny_user order allow,deny allow from all deny from env=deny_user pc10.2ch.net/test/read.cgi/hp/1051605457/252-
537 名前:Name_Not_Found mailto:sage [2007/01/17(水) 16:46:01 ID:???] IPアドレスは送信元アドレスを書き換えてしまうクズゲートウェイを介してなければ ほぼ正しいIPアドレスが入ってることが保障されてるですぅ。 ドットをエスケープする事を忘れるくらいならAllowやDenyに直接IPアドレスを 設定しやがれですっ。 REMOTE_HOSTはサーバの設定でHostnameLookups Offにされていたら 何も値が入ってこないから使えないですぅ。 この設定を覆してREMOTE_HOSTに値を入れるには、実はAllowやDenyに ホスト名を設定して、ホスト名のチェックを受けるようにしてやればよいですぅ。 とにかく、まとめなどと称して誤解を招くようなものを広めるなですっ。
538 名前:Name_Not_Found mailto:sage [2007/01/18(木) 03:29:59 ID:???] >>535-536 他スレから去年のゴミを持って来ないでください。 保存版と称して regex のとこに Allow|Deny に書く表記をする人こそ 本気で保存したほうがよさそうなもの。 httpd.apache.org/docs/2.2/mod/mod_setenvif.html#setenvif おまけ。 www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.3
539 名前:Name_Not_Found mailto:sage [2007/01/18(木) 10:22:12 ID:???] >>537 > この設定を覆してREMOTE_HOSTに値を入れるには、実はAllowやDenyに > ホスト名を設定して、ホスト名のチェックを受けるようにしてやればよいですぅ。 それ間違いだよ。 Apache 2.2.3 でやったけど、半分ぐらいの確率でただしく動作しない。(たぶん、Keep-Alive中の2回目以降のアクセスの時のみ動作) だから、POSTの時のみ逆引きすればいいのに、setenvif のために全部逆引きするはめに(´・ω・`)
540 名前:Name_Not_Found [2007/01/18(木) 10:39:52 ID:jtnGZfDC] 質問です。 トラックバックスパムを送信してくるボットを規制しようとしています。 以前来ていたボットはIPアドレスはランダムでしたがいつもUser-Agentが固定だったので 以下の記述で規制できました。 <Files index.php> <limit POST> SetEnvIf User-Agent "Mozilla/4\.0 \(compatible; MSIE 6\.0; Windows NT 5\.1\)" trackers Order Allow,Deny Allow from all Deny from env=trackers </limit> </Files> それから数ヶ月後、今回は新たにUser-Agentが「Mozilla/5.0」という名前で来ています。 ところが、 SetEnvIf User-Agent "Mozilla/5\.0" trackers というのを追加すると、 Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.1) Gecko/20061010 Firefox/2.0 などのUser-Agentを持つFirefoxが規制されてしまうようです。 「Mozilla/5.0」のみを規制し、 「Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.1) Gecko/20061010 Firefox/2.0」は 規制しないようにするにはどう書けばいいのでしょうか?
541 名前:Name_Not_Found mailto:sage [2007/01/18(木) 10:45:27 ID:???] >>540 最初に ^ 最後に $
542 名前:Name_Not_Found mailto:sage [2007/01/18(木) 17:58:39 ID:???] >>539 半分くらいの確率とかじゃないですぅ。 Allow from .jp Deny from .kr みたいに必ず制限のチェックを受けてヒットするようになってないとだめですぅ。 それから、あまりにも遅いチビチビDNSサーバに問い合わせてると、 タイムアウトしやがるですっ。
543 名前:539 mailto:sage [2007/01/18(木) 18:14:25 ID:???] >>542 以前、30分以上かけて実験したことがあるんだけど、 Allow や Deny ディレクティブで Host名の指定をしても、 かなりの確率で SetEnvIfNoCase Remote_Host で値が取得できないことがある。 -------------------------------------------------------------- SetEnvIfNoCase Remote_Host "\.jp$" Deny <Limit POST> <Order Deny,Allow> Deny from YahooBB123123123.bbtec.net # 逆引きさせるためのダミー設定 Deny from env=Deny Allow from all </Order> </Limit> -------------------------------------------------------------- 確か、こんな感じにして jp ドメインのリモホで100回ぐらい Post すると、半分ぐらいが弾かれた。 Keep-Alive の1回目は、アクセスできてそれ以降はアクセスできない、そして Alive の期限が切れたら1回だけアクセスできるんだと思った。 ちなみに、deny from で規制すれば、100回やっても100回アクセスできないので、DNSが遅いことが原因とは思えない。
544 名前:539 mailto:sage [2007/01/18(木) 18:43:01 ID:???] 上の例は文法間違ってました。 書き直します。
545 名前:539 mailto:sage [2007/01/18(木) 18:53:01 ID:???] 書き直しました。 --------------------------------------- SetEnvIfNoCase Remote_Host "\.jp$" Deny SetEnvIfNoCase Remote_Host "\.net$" Deny Order Allow,Deny Allow from all # 逆引きさせるためのダミー Deny from YahooBB123123123123.bbtec.net Deny from env=Deny --------------------------------------- です。 今 Apache 2.2.3 (worker) on Fedora Core 4 で検証してみたところ、Keep-Alive は 5秒になっているのですが、 最初のアクセスは必ず正常に行えて、5秒以内にアクセスすると確実に 403 Forbidden に。 アクセスの間隔を 6秒以上にしたら、確実に全てのリクエストが 200 OK になりました。 自分の環境だけかもしれないので、お時間があれば、検証していただけると助かります。
546 名前:Name_Not_Found mailto:sage [2007/01/18(木) 22:08:53 ID:???] .htaccessじゃないですけど、/etc/resolv.conf に options timeout:20 とでも設定してみやがれですっ。
547 名前:539 mailto:sage [2007/01/18(木) 22:15:33 ID:???] >>546 試してみましたが、症状は変わりませんでした。 1回目のアクセスの場合、SetEnvIf では Allow や Deny に リモートホストを指定することによる 逆引き情報は利用できないようです。 全てのリクエストを逆引きするように設定すれば利用できますが…。
548 名前:539 mailto:sage [2007/01/18(木) 22:20:35 ID:???] --------------------------------------- Order Allow,Deny Allow from all # 逆引きさせるためのダミー Deny from .jp Deny from .net Deny from env=Deny --------------------------------------- もう一度やってみましたが、これだと確実に遮断され、>>545 だと Keep-Alive で既に確率しているコネクションしかリモートホスト情報を SetEnvIf で利用できないので、 たぶんそういう仕様なのかなーと思います。 今度暇があったら他の環境でもいろいろ検証してみます。
549 名前:Name_Not_Found mailto:sage [2007/01/19(金) 06:08:25 ID:???] worker版とprefork版まで作って試してみましたですけど、よーく考えれば、 環境変数を設定するSetEnvIfが、環境変数を見て動作を変える AllowやDenyが設定した環境変数を参照できないのは当然のことですぅ。 Persistent Connectionでソケットが再利用される時は、当然REMOTE_HOSTも 同じわけですから、前回のリクエストのAllowやDenyの時に逆引きして キャッシュされてるものをそのまま今回のリクエストのREMOTE_HOSTに 使われる(ようになってるはず)ですぅ。 その結果1回目のリクエストでは(略)ソケットを再利用した2回目以降のリクエストは(r って事になってしまうですぅ。 AllowやDenyにあえてドメインを指定するのは、逆引きをしない設定になってるサーバで CGIに環境変数REMOTE_HOSTを渡す事くらいにしか役に立たねぇって事だったですっ。
550 名前:Name_Not_Found mailto:sage [2007/01/19(金) 08:18:15 ID:???] >>545 他板のApacheスレでやるべきもんだろーな、と思いながら試しましたよと。 まともにapacheやらnamedが動いてたPCは押し入れでホコリかぶってるので Apache/2.2.3 on Win2000、名前解決がhostsというデタラメな環境。 ・192.168.1.24 chinkopad.local chinkopad ・KeepAlive On ・KeepAliveTimeout 5 ・HostnameLookups Off SetEnvIf Remote_Host "^chinkopad$" ban # 引けなかったときはDenyされない予定。 Order Deny,Allow Deny from env=ban # 引けたときもあとからAllowするやさしさ。 Allow from chinkopad GET /env.cgi(ファイル名見ただけで動作が想像できる、あれ) 初回:200。$ENV{'REMOTE_HOST'}に'chinkopad'が入ってる。 5秒未満待ちでリロード:403。Denyだけ効いてAllowが効かないのがなぜかは面倒なので考えない。 5秒超待ってリロード:200。$ENV{'REMOTE_HOST'}に(ry KeepAliveTimeoutの値を変えたら、200/403のどちらを吐くかの境目もそれに合わせて変化。 >>549 わざわざ検証もして、上で自分が書いたことを訂正する内容をせっかく書いてるのに それが「当然のことですぅ」「って事だったですっ」なんてことでは損するぞ。
551 名前:Name_Not_Found mailto:sage [2007/01/19(金) 10:40:55 ID:???] 串経由のアクセス弾きたいんだけどそう言う事って出来る?
552 名前:Name_Not_Found mailto:sage [2007/01/19(金) 13:56:18 ID:???] deny from 串
553 名前:Name_Not_Found mailto:sage [2007/01/19(金) 17:47:38 ID:???] SetEnvIfでRemote_Hostにマッチさせるなんて事は全くやらないから 処理される順序も知らなかったですっ。
554 名前:539 mailto:sage [2007/01/19(金) 20:36:15 ID:???] >>549 わざわざ検証していただきありがとうございます。 > よーく考えれば、 > 環境変数を設定するSetEnvIfが、環境変数を見て動作を変える > AllowやDenyが設定した環境変数を参照できないのは当然のことですぅ。 確かにそう考えるのが自然ですね。 SetEnvIf での環境変数のセットの後に Order が解釈されるって流れで…。 >>550 検証ありがとうございます。 > 5秒未満待ちでリロード:403。Denyだけ効いてAllowが効かないのがなぜかは面倒なので考えない。 なんでだろう。 SetEnvIf だと逆引きできるけど、Deny や Allow では "chinkopad" が引けてない? ちなみに、これと似たような話で SetEnv ディレクティブの評価が SetEnvIf とか Order とかより後なので、 アクセス制御には使えないってことがあります。 デフォルト true でフラグを倒すような制御をしたけりゃ、100%真になる条件を指定するっていう美しくない方法使うしかないですね(´・ω・`) httpd.apache.org/docs/2.2/mod/mod_env.html#setenv
555 名前:Name_Not_Found mailto:sage [2007/01/19(金) 20:41:13 ID:???] Apacheの1.3ならある程度の順序の設定はできたですぅ。
556 名前:539 mailto:sage [2007/01/19(金) 20:42:34 ID:???] >>555 そうなんですぅーか…。 1.3系にできて 2.2系にできないことってあったんですね(´・ω・`)
557 名前:Name_Not_Found mailto:sage [2007/01/19(金) 21:03:41 ID:???] 2.0以降はモジュール毎に優先順位がついて、その順位を元に順序が決められるですぅ。
558 名前:539 mailto:sage [2007/01/19(金) 21:15:30 ID:???] >>557 なるほどです
559 名前:Name_Not_Found mailto:sage [2007/01/19(金) 22:25:33 ID:???] はーいー
560 名前:Name_Not_Found mailto:sage [2007/01/19(金) 23:47:16 ID:???] ,__ ,ィ//´ ,ヾ く, { i{リノノ))i} __ タ○ちゃんじゃねぇですっ! iメ!#゚听ノリ} _r‐v/´ ノ,, ァj}卯v´ゞ'ー ' {彡ソヽ_/ゝ,ミi ゙'=く / __ ,ノ〉'
561 名前:Name_Not_Found mailto:sage [2007/01/21(日) 22:45:16 ID:???] UAを名乗っていない人を弾く方法教えて下さい。
562 名前:Name_Not_Found mailto:sage [2007/01/22(月) 00:34:17 ID:???] 一文字でもあれば許可する方が楽よぉ?
563 名前:Name_Not_Found mailto:sage [2007/01/22(月) 01:55:12 ID:???] SetEnvIf User-Agent "null|unknown" deny_ua deny from env=deny_ua
564 名前:Name_Not_Found mailto:sage [2007/01/22(月) 02:13:40 ID:???] UAがカラだと null、変換テーブル内に該当するものが見当たらないときは unknown と 表示するアク解サービスがあるんだろうけど、さ。
565 名前:Name_Not_Found mailto:sage [2007/01/22(月) 02:32:32 ID:???] User-Agentヘッダは存在するが空白、User-Agentヘッダそのものが存在しない、 どちらも同じだ。
566 名前:Name_Not_Found mailto:sage [2007/01/22(月) 12:25:44 ID:???] 訪問者のリファラでそれぞれ違うページに飛ばす事って出来ます? 例えばhoge.org というサイトがあったとして リファラ www.yahoo.co.jp/ がhoge.org/ にアクセス→hoge.net に飛ばす リファラ www.google.co.jp/ がhoge.org/ にアクセス→hoge.com に飛ばす
567 名前:Name_Not_Found mailto:sage [2007/01/22(月) 13:20:38 ID:???] 何度も書かれてることだけど。 > hoge.com [whois] - ドメインは取得できません。 > hoge.net [whois] - ドメインは取得できません。 > hoge.org [whois] - ドメインは取得できません。 RewriteEngine on RewriteCond %{HTTP_REFERER} ^www\.yahoo\.co\.jp/.* [NC] RewriteRule .* example.net/ [L,R] RewriteCond %{HTTP_REFERER} ^www\.google\.co\.jp/.* [NC] RewriteRule .* example.com/ [L,R] mod_rewrite使えないときにどうするのかは知らない。
568 名前:Name_Not_Found mailto:sage [2007/01/22(月) 15:13:47 ID:???] arigatou
569 名前:561 mailto:sage [2007/01/23(火) 01:26:14 ID:???] >>563 ,564,565 さん。 ありがとチャン。 早速試してみます。
570 名前:522 [2007/01/23(火) 11:49:00 ID:ju/Gyy49] 教えて頂いたみなさんどうもです。 522です。 返事が遅くなりました。様子を見ていましたもので....。すんません。 以前記述した SetEnvIf User-Agent "Baiduspider" dame1 SetEnvIf User-Agent "yodao" dame2 SetEnvIf User-Agent "YodaoBot/1.0" dame3 order allow,deny allow from all deny from env=dame1 deny from env=dame2 deny from env=dame3 だとyodaoさんが来まくりやがるので、 教えて頂いた"面倒見の良いSetEnvIfNoCase" この人に託してみる事にします。 SetEnvIfNoCase "Baiduspider" dame1 SetEnvIfNoCase "YodaoBot/1.0" dame2 Order Deny,Allow deny from env=dame1 deny from env=dame2 この書き方で良いのかしら? 長くなってすんません。
571 名前:522 [2007/01/24(水) 00:52:41 ID://IpAKHW] 上記の書き方だと自分自身もアクセスできんかった.. 勉強不足... もうわからん....
572 名前:Name_Not_Found mailto:sage [2007/01/24(水) 01:03:21 ID:???] 403 Forbidden じゃなくて 500 Internal Server Error が出ただけではないの?
573 名前:Name_Not_Found mailto:sage [2007/01/24(水) 12:13:17 ID:???] tu-ka何で同じ記述を一行にまとめないのか
574 名前:Name_Not_Found mailto:sage [2007/01/25(木) 18:38:54 ID:???] 質問があります。 .htaccessで、ディレクトリの内容を見せないのはあるんですが、 逆に見せたいときはどのようにすればいいですか?
575 名前:Name_Not_Found mailto:sage [2007/01/25(木) 18:56:07 ID:???] >>574 簡単なのはindexファイルを置かない。 鯖の設定で↑がダメな時は、 Options +Indexes
576 名前:Name_Not_Found mailto:sage [2007/01/25(木) 19:21:24 ID:???] ありがとうございます。 そのまま+だったんですね。
577 名前:Name_Not_Found mailto:sage [2007/01/25(木) 19:30:11 ID:???] http://のページをhttps://に変えるのは.htaccess使用でよろしかったでしょうか。 よろしければ方法を教えてください。
578 名前:Name_Not_Found mailto:sage [2007/01/25(木) 19:49:20 ID:???] >>577 勘違いしてるが、SSL使ってるとhttps://〜になるってこと。スレ違い。
579 名前:Name_Not_Found mailto:sage [2007/01/26(金) 11:55:49 ID:???] >>578 SSLを使うために上記処置(http://のページをhttps://に変える)をしようとしているのですが・・・
580 名前:Name_Not_Found mailto:sage [2007/01/26(金) 12:02:48 ID:???] 失礼しました。わかりました。 エラーになるけど。
581 名前:Name_Not_Found mailto:sage [2007/01/27(土) 11:41:30 ID:???] httpsならどんなタイミングか知らないけど環境変数HTTPSが立ってるはずですぅ。
582 名前:Name_Not_Found mailto:sage [2007/01/27(土) 17:35:55 ID:???] これ、CGIに直接組み込めないのか?
583 名前:Name_Not_Found [2007/01/27(土) 18:32:32 ID:CPpKKeCQ] このたびhtaccessのプログラムをサイト全体、すべてのページに適用しよう と思い、一番上の階層(トップページと同じ階層)に設置したのですが、 トップページ以外のページには設置したプログラムが適用されるのですが、 トップページには適用されないでいます。 グーグルなどで調べても設置して階層以下の階層には適用されるとのこと で問題はないと思うのですが、実際はトップページには適用されず困ってい ます。 自分でもいろいろなキーワードで検索をかけてみましたが、この問題に ついて解決する方法が見つけられずにいます。 身勝手な質問でたいへん恐縮ですが、この件についてなにかご存知の方 がいらしゃっいましたら一言いただけたらうれしいです。 どうぞよろしくお願いいたします。
584 名前:hage [2007/01/27(土) 18:50:10 ID:CPpKKeCQ] >>583 自己レスです さきほどもう一度試してみましたら、無事すべて適用されていました。 原因はわかりませんが、さきほどのトラブルはどうやら一時的な現象の ようでした。 ご心配おかけしまして申し訳ありません。
585 名前:Name_Not_Found mailto:sage [2007/01/27(土) 18:50:56 ID:???] >>583 >調べても設置して階層以下の階層には適用される その通り。 具体的にどういう指定が効かなかったか書く。
586 名前:Name_Not_Found mailto:sage [2007/01/28(日) 03:20:52 ID:???] 18分で自己解決(なんで*まず投げる*んだか)、46秒差で…か。
587 名前:Name_Not_Found mailto:sage [2007/01/28(日) 07:55:57 ID:???] ブラウザのキャッシュには十分注意する必要があるのだわ。
588 名前:Name_Not_Found mailto:sage [2007/01/28(日) 14:31:09 ID:???] 俺の使ってる専プラはリロード確認→書き込み→反映までのんびりやっとると1分かかる。 許されい。
589 名前:Name_Not_Found mailto:sage [2007/01/28(日) 14:36:52 ID:???] そっちじゃなくて.htaccessが効いてるか確認するブラウザの方なのだわ。
590 名前:Name_Not_Found mailto:sage [2007/01/28(日) 15:00:56 ID:???] 今更グダグダ言うからだよ。
591 名前:Name_Not_Found [2007/01/29(月) 01:35:14 ID:NBj74Etk] www.test.com/hoge/xxx.php/command/param で来たアクセスを new.test.com/demo/xxx.php/command/param にmod_rewriteを使って転送したいのですが どの様に書けば良いか分かりません。 宜しくお願します<m(__)m>
592 名前:Name_Not_Found mailto:sage [2007/01/29(月) 06:12:48 ID:???] 特定のホストを403でなく404で返すにはどう書けばいいですか? denyだと403になっちゃうんで404で存在しないようにみせかけたいんです
593 名前:Name_Not_Found mailto:sage [2007/01/29(月) 09:11:10 ID:???] 結局のところ全く努力せず結果だけを求める輩ばかりとなった。 ゆとり教育とやらの弊害なのだろうが、文部省側だけの責任でもない。 ゆとりがある=自由があるという事。自由には必ず自己責任が付いてまわる。 そこのところをはき違えた連中が増えただけなのだ。
594 名前:Name_Not_Found mailto:sage [2007/01/29(月) 09:12:44 ID:???] >>592 とりあえず403にして /404 等のエラーページに飛ばして、/404 は用意せずに Redirect 404 /404 等として404を返すようにすれば、403用のエラーページが404 なんて事にはならずに404を返すようになるのだわ。 >>591 test.comもhoge.comと同様の問題があるのだわ。example.comにしなさい。 RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] 等としてHostヘッダを特定のものに絞った後、 RewriteRule ^hoge(.*) new.example.com/demo$1 [R,L] で何とかなるはず…なのだわ?
595 名前:Name_Not_Found mailto:sage [2007/01/29(月) 14:52:37 ID:???] >>593 > ゆとりがある=自由があるという事。自由には必ず自己責任が付いてまわる。 > そこのところをはき違えた連中が増えただけなのだ。 ゆとり教育で自由が増えたって? まったくの出鱈目。 教師の自由が失われた (公立では文科省の指導から少しでも外れたことを教えたらアウト) し、 教科書の記述の間違いを授業で教えただけで問題視されるようになったし、 あげくの果てに東京都では都知事判断で、生徒が国家斉唱で起立しなかったら、先生を首にするということで 生徒に対して思想信条の自由に反するような圧力をかけているわけで。 何も考えず、上から言われたことを素直に従う人間を育て、逆らうと処罰やキツイ嫌がらせを食らう世界。 決して自由度が高まったわけではない。 現に一昔前は国家を歌わない自由も認められていた。
596 名前:Name_Not_Found mailto:sage [2007/01/29(月) 17:01:29 ID:???] >あげくの果てに東京都では都知事判断で、生徒が国家斉唱で起立しなかったら、先生を首にするということで >生徒に対して思想信条の自由に反するような圧力をかけているわけで。 ゆとり教育が始まる以前からの話。おかしな話ではあるが、ゆとり教育とは関係ない。
597 名前:Name_Not_Found mailto:sage [2007/01/29(月) 19:39:18 ID:???] 国歌と国家の書き分けも出来ないのか
598 名前:Name_Not_Found mailto:sage [2007/01/30(火) 03:21:57 ID:???] 回答してる人間としては、SetEnvIfやRedirectMatchやRewriteCondの regexの書き方を丸投げしてくる質問が来ても別に気にならんのですが、 板名・スレタイが読めない方々は他板に移動していただきたい。
599 名前:Name_Not_Found mailto:sage [2007/01/30(火) 09:15:51 ID:???] だったら答えてあげれば済む話で。
600 名前:Name_Not_Found mailto:sage [2007/01/30(火) 15:42:56 ID:???] それは自己満足な優しさにしか過ぎない訳で。