• ベストアンサー

特定サイトからのアクセス制限。

通常のサイトからリンクされていたら、拒否することはわかりますが、 以下の場合はどおでしょうか。 そのサイトが例えば、ページの文法チェック等するサイト、 cgiでチェックしていると思いますが、 それで私のサイトの文法チェックも拒否したいです。 RewriteEngine On RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?htmllint.net [NC] RewriteRule ^.*$ - [NC,F,L] このようなチェックでは、見れてしまいます。 どのようにしたらこのようなサイトも制限をかけれるでしょうか 宜しくお願いいたします

  • HTML
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • hok212
  • ベストアンサー率66% (100/150)
回答No.1

RewriteCond によるアクセス制限は、HTTP環境変数を吐き出すブラウザ(※1)でなければ正しく処理することが出来ません。 ※1:外部からPerlのLWPモジュールを使ったアクセスもブラウザの一種。 RewriteCondを使わずに、次のように .htaccess ファイルに記載することで制限をかけてみてはいかがでwしょう。 order allow,deny allow from all deny from 1.2.3.4(IPアドレスで制限) deny from abc.com(このようにホスト名での制限も可能) order行は判定する順番を指定します。 order allow,deny なので、allow行を処理した後、deny 行を処理します。 allow行は from all なので、全IPアドレス/ホスト名を許可しています。 その後 deny 行の処理に移り、IPアドレス1.2.3.4 と ホスト名 abc.com からのアクセスを制限する形になります。

yodogou
質問者

補足

私の質問が悪かったと思いますが、 つまりは、私の書いたサイトのようなものは、直接制限をかける事は不可能だと言うことでしょうか。 IPとホストについては、それを使用している人を特定して制限すると言うことでしょうか。

関連するQ&A

  • 画像を直リンクできないようにする

    .htaccessに次の記述を追加 RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?example.com/.*$ [NC} RewriteRule \.(gif\jpg)|png$ - [F] すみません、ここで簡単な質問なのかもしれないのですが、2行目の!^$というのは、どういう意味になるのでしょうか?^が行頭で、$が行末なんですよね・・・。

  • .htaccessで携帯サイトとPCサイトの振り分けについて

    .htaccessで携帯サイトとPCサイトの振り分けについて お世話になります。 .htaccessで携帯サイトとPCサイトの振り分けで困っています。 現在、index.phpで携帯サイトとPCサイトの振り分けしています。この場合、PCサイトのトップページがindex.htmlではなく他の名前にしなくてはならないようで、現在はpc.htmlにしています。 どうにかpc.htmlではなく、index.htmlのまま携帯サイトとPCサイトの振り分けをしたいのです。 .htaccessであればできそうなので、いろいろと調べながら試したのですがうまくいきませんでした。 使用しているサーバーはさくらのレンタルサーバーで、ライトプランです。 mod_rewriteは入ってると記載してありました。.htaccessもOKなようです。 以下のように.htaccessファイルに記述して試しました。 例1) RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^DoCoMo [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^vodafone [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SoftBank [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^KDDI [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^J-PHONE [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Up.Browser [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ASTEL [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^DDIPOCKET [NC] RewriteRule ^$ abc.com/m/ [R] 例2) Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_USER_AGENT} DoCoMo RewriteRule ^$ http://www.abc.com/m/index.html [R] RewriteCond %{HTTP_USER_AGENT} J-PHONE RewriteRule ^$ http://www.abc.com/m/index.html [R] RewriteCond %{HTTP_USER_AGENT} UP.Browser RewriteRule ^$ http://www.abc.com/m/index.html [R] 素人ですので、できましたら記述全文教えていただけるとありがたいです。 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • htaccess 同一URL携帯転送とwww有無統一の両立

    RewriteEngine onを使った、 htaccessの書き方について質問させてください。 1.SEOのため、URLは「www」ありに統一させたい。 2.www.○○○.jpとURL直接入力した際、PCにはPC向けのページを、   携帯には携帯向けのページを表示させたい。 この二つの条件を両立するため、下記のとおりhtaccessを書いてみたのですが、携帯からアクセスしても、PCのTOPが無理やり表示されてしまうという結果に終わりました。 どうすればよいのか、ご存知の方お教えください。 --------------------------------------------------------------- RewriteEngine on RewriteCond %{HTTP_HOST} ^ドメイン\.jp RewriteRule (.*) http://www.ドメイン.jp/$1 [R=301,L] RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^DoCoMo [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^vodafone [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SoftBank [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^KDDI [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^J-PHONE [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Up.Browser [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ASTEL [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^DDIPOCKET [NC] RewriteCond %{HTTP_USER_AGENT} ^WILLCOM [NC] RewriteRule ^$ 携帯用URL [R]

  • mod_rewriteで直リン防止

    直リン防止のためmod_rewriteを.htaccessで設定してみました。 RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://xxxx\.com/.*$ [NC] RewriteRule ^(.*)$ - [F] この設定で画像は直リン防止できましたが動画は直リン防止が できず、リンクからも読み込めなくなりました。 どうにか動画直リンを防ぐ設定はないでしょうか?

  • htaccessについて

    HPサイトを携帯・スマートフォンとPCで振り分けたいのですが、 htaccessがうまく機能してくれません。。 携帯でページを開いてもPC用のページが開きます。 RewriteEngine On
 RewriteCond %{HTTP_USER_AGENT} UP.Browser [NC]
RewriteRule ^$ http:// http://あどれす /mobil/index.html [R] #au 

RewriteCond %{HTTP_USER_AGENT} DoCoMo [NC]
RewriteRule ^$ http:// http://あどれす /mobil/index.html [R] #DoCoMo 

RewriteCond %{HTTP_USER_AGENT} SoftBank [NC]
RewriteRule ^$ http://あどれす /mobil/index.html[R] #SoftBank RewriteCond %{HTTP_USER_AGENT} iPhone [NC]
RewriteRule ^$ http:// http://あどれす /mobil/index.html[R] #iPhone RewriteCond %{HTTP_USER_AGENT} iPod [NC]
RewriteRule ^$ http:// http://あどれす /mobil/index.html[R] #iPod RewriteCond %{HTTP_USER_AGENT} Android [NC]
RewriteRule ^$ http:// http://あどれす /mobil/index.html[R] #Android 以上を記入したのですが、どうして出来ないのかわかりますでしょうか。 .htaccessはPCのindexと同じ階層です。 PCの階層にmobilのファイルがおいてあります。 よろしくお願いします

  • htaccessでのアクセス制限について

    こんにちわ htaccessでのアクセス制限について質問があります。 wavファイルが置いてあるディレクトリがあるのですが、 そこへのアクセスを制限するため、 RewriteEngine on RewriteCond %{REQUEST_URI} !^.*/index\.html RewriteRule \.(wav)$ - [F] このようにindex.html以外からのアクセスに対して制限をしています。 しかしこれだと、index.htmlに置いてあるswfファイルからwavファイルを読み込む場合までアクセスが拒否されてしまいます。 index.htmlのswfファイルからのみwavへのアクセスを許可したいのですが、 どのようにすればよろしいのでしょうか?

    • ベストアンサー
    • Flash
  • 【至急】サーバーへの負荷を減らすには?

    現状、アクセス数が1日500~2000前後なのですが、画像の為、1日の転送量が5GBになり、 月間ですと100GBを超過してしまいますので、これを何とか、半分程度の転送量にしたいと思いますが、何か良い方法はございませんでしょうか? 現在、直リンク拒否の設定は行っておりますが、あまり効果が無い様に思います。 ちなみに、アップグレード以外の方法で、お願いします。 RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^

  • 昔に書いた.htaccessの内容がわからない

    5年ほど前から放置していた自作サイトがあるんですが、久しぶりにいじろうと思って.htaccessを開いてみたところ、何のための記述か自分で書いておきながら理解できないという恥ずかしい事態に陥りました。 もともと正式な.htaccessの書き方は知らないので、どこかからコピーしてきてドメインのところだけ書き換えて使ってたんだと思います。 RewriteEngine on RewriteCond %{HTTP_HOST} !^hogehoge.com$ [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^(.*) - [F] これって何をするためのものか、お分かりにかる方、教えていただけないでしょうか? RewriteCondなどでググってみたんですけど、いまいちこれだというものが見つかりませんでした。 悩んだ覚えがあるものとすると、サイトを表示したときにURLにindexファイル名を非表示にしたいとか、wwwを付けないURLにしたいとかぐらいなんですが、これらで検索してもこれとは違って記述が出てきたのでどうも違うようです。

  • .htaccessで携帯自動振り分けを設定したら、MT4iへ飛ばない

    どうしてもうまくいかなくて悩んでいます。。。 MT4iを設置し、 http://www.mydomain.com/x/blog/mt4i.cgi?id=1 にアクセスすると無事携帯電話からもPCからもブログを読むことができるようになりました。 そこで、次に携帯電話からPC用サイトのトップページ http://www.mydomain.com/ に飛んできた時に、携帯用サイトのトップページ http://www.mydomain.com/m/index.html に自動振り分けするよう、.htaccessを以下のように記述し、public_htmに設置しました。 ---------- RewriteEngine On RewriteCond %{HTTP_USER_AGENT} DoCoMo [NC,OR] RewriteCond %{HTTP_USER_AGENT} J-PHONE [NC,OR] RewriteCond %{HTTP_USER_AGENT} Vodafone [NC,OR] RewriteCond %{HTTP_USER_AGENT} SoftBank [NC,OR] RewriteCond %{HTTP_USER_AGENT} MOT- [NC,OR] RewriteCond %{HTTP_USER_AGENT} UP.Browser [NC,OR] RewriteCond %{HTTP_USER_AGENT} KDDI [NC,OR] RewriteCond %{HTTP_USER_AGENT} DDIPOCKET [NC,OR] RewriteCond %{HTTP_USER_AGENT} WILLCOM [NC,OR] RewriteCond %{HTTP_USER_AGENT} L-mode [NC,OR] RewriteRule ^$ http://www.mydomain.com/m/index.html [R] ---------- すると、今までアクセスできていた携帯用のMT4iブログ http://www.mydomain.com/x/blog/mt4i.cgi?id=1 に以下のようなメッセージが出て、アクセス拒否されてしまうようになってしまいました。 ・IEでアクセスする:「Web サイトによってこのページの表示を拒否されました HTTP 403 」 ・Operaでアクセス:「403 Forbidden」 どこがいけないのでしょうか? 誰か教えていただけると助かります。 何卒よろしくお願いいたします。

  • スマホからのアクセスを振り分けるには

    スマホからの訪問があったときに、固有のページに飛ばしたいと考えています。 http://www.hoge.com/へのアクセスはhttp://www.hoge.com/m/ に飛ばすため、 RewriteEngine On Options FollowSymLinks # iPod RewriteCond %{HTTP_USER_AGENT} iPod RewriteRule ^$ /m/ [R] # iPhone RewriteCond %{HTTP_USER_AGENT} iPhone RewriteRule ^$ /m/ [R] # Android RewriteCond %{HTTP_USER_AGENT} android RewriteRule ^$ /m/ [R] としました。 ところが、http://www.hoge.com/のようにディレクトリで飛んできた場合は問題なく動作するのですが、ファイル名指定で来た場合、 例えば http://www.hoge.com/index.html宛にリンクで飛んできた場合は、Rewriteせずにそのまま http://www.hoge.com/index.htmlを開いてしまいます。 http://www.hoge.com/index.htmlに直接リンクされた場合でもスマホだけhttp://www.hoge.com/m/に飛ばす方法はないでしょうか。 .htaccessでは無理でしょうか。 よろしくお願いいたします。

専門家に質問してみよう