0

私はhtaccessの初心者なので、助けが必要です。jsファイルがURLバーから開かれている場合(アドレスバーにhttp://mysite.com/js/jquery.jsと入力すると、403が表示されます)、jsファイルへのアクセスを拒否したいのですが、サイトがブラウザによってレンダリングされ、通常はブラウザにダウンロードされます。

今のところ私はこれを試していました

   <Files ~ "(.js|.css)">
    Order allow,deny
    deny from all
    </Files>

しかし、これはブラウザがcssとjsを使用することを妨げるので、私はブラウザを許可する一種のルールを作成したいのですが、URLから直接誰も使用できません。この場合、リファラーやホストなどを使用できますか?

(注:クライアントがjsコードを表示するのを妨げたくないのは、とにかくそれができるからですが、私には理由があります)

4

3 に答える 3

3

これは、画像のホットリンクを防ぐことと同じです。http://altlab.com/htaccess_tutorial.htmlを参照してください。

すなわち:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteRule .*\.(js|css)$ - [F]
于 2012-05-18T23:12:54.293 に答える
1

index.phpにCookie値を設定します。これは、メインページでリクエストが行われた場合にjs.phpファイル(jsコードをphpファイルに保存してブラウザにエコーする)を示します。Cookieが設定されていない場合は、404を送信します。それ以外の場合は、jsコードをエコーし​​ます。

于 2012-05-18T23:21:53.023 に答える
0

Redditの投稿https://stackoverflow.com/a/10660862/4766489 正解:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http(s)?://(.+\.)?mysite\.com/ [NC]
RewriteRule .*\.(js|css)$ - [NC,F,L]
于 2017-10-21T13:36:48.417 に答える