質問: .htaccessで特定urlからのアクセス拒否 かなり困った場所からサイトインデックスへ リンクを貼られていることに気づき、急いで .htaccessを使ってそのurlからのアクセスを拒否しようとしたのですが、 機能せず困っています。 どなたかアドバイス頂けると嬉しいです。よろしくお願いいたします。 ●「.htaccess」「アクセス拒否」「拒否」などの検索でひかっかる 関連サイトさんは、ある程度見て回ったと思います。 ●サーバ:ロリポップ ●特定ipホスト拒否、自作エラーページなどは正常に機能しました。 ●拒否したいurlはhttp://付、なし、両方試したのですが駄目でした。 ●パーミッション:604 ●index.htmlと同じ階層にファイルをおいてあります。 ●拒否したい相手の鯖はfc2です。 .htaccess内には現在下記のように記述してアップしてあります。 ↓は改行部分です。 -------------------------------------------------------- setenvif referer "xxxxxxxxx.com" ref1↓ ↓ order allow,deny↓ allow from all↓ deny from env=ref1↓ ↓ ↓ errordocument 404 /404.html↓ ↓ -------------------------------------------------------- 以上の状況なのですが。 何かしら私のミスなのか。 それとも、サーバによって使える指示使えない指示などがあったりするのか。 鯖によっては他になにか記述すべきものがあるなど・・。 .htaccessについての知識がほぼ皆無なので 一体どの原因で、機能しないのかの判別すらつけられていない状態です。 その判別だけでも出きれば、調べたり、他の対応を探すなど 今後のどう行動するべきか判断できそうなので、 そこだけでも何かアドヴァイス頂けると非常に助かります。 分りづらい説明で申し訳ないですが、宜しくお願いいたします。
回答: 判る範囲でだけ、、、 一旦allow とdenyを逆に記述しxxxxxxxxx.comかジャンプしたばあいのみアクセス出来るか確認してください あと、セキュリティsoftを使っていた場合refererは吐かない場合も多いので、 その場合refererを使った制限は.htaccessにしろcgiにしろ無効になりますね。 http://www.shtml.jp/htaccess/referer.html http://service1.symantec.com/support/inter/nisjapanesekb.nsf/jp_docid/20021020160209947 >サーバによって使える指示使えない指示などがあったりするのか。 apacheでsetenvif が.htaccessで有効になったのは1.3.13以降だそうです http://www.apache.jp/docs/mod/mod_setenvif.html#setenvif apacheのバージョンを調べるにはtelnetで80アクセスするとか又は、 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2048321 の#2に書いたようなcgiを設置してみれば判ります。 あとはallowoverrideの設定もありますが allowoverride all=>全部有効 allowoverride none =>全部無効 それ以外(一部機能のみ許可)=>許可されていない機能を記述するとuaアクセス時にservererrorになる ので、この件の場合はallowoverrideに関してはokかと