外部からjsファイルを直リンクなどで、見られないようにできないかと考えています。
.htaccessで特定のサイトからのみ参照を許可するという記事を見ました。
例えばヘテムルのサーバにあるhttp://abc.heteml.jp/def/index.htmlからだけhttp://abc.heteml.jp/def/js/test.jsに参照を許可するのに、.htaccess に以下のように書きました。
SetEnvIf Referer "^http://abc\.heteml\.jp" ok_url
<Files ~ "\.(js)$">
order deny,allow
deny from all
allow from env=ok_url
</Files>
直リンクしようとすると500 error Internal Server Errorとなります。しかし、index.htmlにjs/test.jsが効かなくなりました。
.htaccess については全然分かっていません。いろいろなサイトを見ながらやっているのですが、うまくいきません。詳しく教えていただきたいと思い、投稿しました。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
基本的には不可能です。
ウェブの根幹を成すHTTPプロトコルは、ファイルを要求する。それを受け取ったら、改めてそのファイルの描画動作に必要なファイルをHTTPプロトコルを使用して要求する・・の繰り返しです。
Firefoxをお使いでしょうが、アドオンのLive HTTP Headersで確認するとよくわかります。javascriptも画像もスタイルシートも、必要なだけ何度も要求しています。
その要求は、最初からそのファイルを直接要求するのと変わりません。
☆要求ヘッダーのReferer:が追加されるだけです。
★もしアクセス制限を行なえば、当然ブラウザでの閲覧に支障が生じます。
対策として、HTTP\REFERER、Refererを用いた制限だと、直接URLを記述しての利用は出来なくなりますが
・セキュリティソフトの設定で、リンク元情報Refererを禁止しているユーザーには利用できなくなります。
・また、Firefoxでしたら、FireBugやJsViewでブラウザ経由でダウンロードされた物は見れます。
そもそも、そのファイルが使われているという事は、その時点でユーザーにダウンロードされているのですからね。
他人のスクリプトに興味のある人は、かならずそれを見れる方法を知っていますから、意味ありません。
よって、結論から言うと
>外部からjsファイルを直リンクなどで、見られないようにできないかと考えています。
は不可能です。
というか、それで支障が出てくる人が現れることも含めて、すべきではありません。ウェブを考案したバーナーズリーが、
【引用】____________ここから
私が構想していたのは、自分の知識や考えを共有させることが、他人の知識を 学ぶのと同じくらいに容易であるようなシステムであった。... すべての文書を ある意味で「等価」にすることもまた不可欠である。システムはユーザーを制約しては ならない。どの文書についても、それがたまたまどこに保存されていようと、 同じようにたやすくリンクできるようになっていなければならない。(pp.49-50)
Webの背景をなす基本的な原理は次のようなものである。どこかの誰かが、 ひとたび文書、データベース、画像、音声、動画あるいはある程度まで インタラクティブな画面を準備したなら、もちろん使用許諾の範囲内のことだが、 いかなる国のどのようなコンピュータを使っている誰もが、この画面に対して アクセス可能でなければならない。そして、ほかの人たちが見つけることができる ように、リファレンスすなわちリンクをつくれるようにしなければいけない。(pp.53-54)
Webは技術的な創造物というよりは社会的な創造物である。私はWebを技術的な おもちゃではなく、人々の共同作業の手助けとなるような社会的効果を生むものとして 設計した。Webの最終目標は、世界中に散らばっている私たちが織りなしている 網の目のような存在を支援し、改善することである。(p.156)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[リンクについて「リンクは自由!」( http://www.sal.tohoku.ac.jp/~gothit/webpolicy.html )]より
あなたが苦労して書かれたスクリプトだって、その元となる知識は公開された資料が元になっていると思います。それどころか、HTTPやHTMLだって、誰かが考案して皆が自由に使ってここまで発展してきたのですよ。
自分は、それを自由に手に入れたのに、私の知識は見られるのは嫌だというのは、なんとなくおかしい気がします。
私は、ここでスタイルシートやHTMLのソースをたくさん紹介しています。他所には絶対ないような内容のものも公開しています。
なぜなら、私が身につけた恩を返すのは当たり前だと思っているからです。それによって、このウェブの世界が発展すればよい。
そんな狭い了見ではなく。
ウェブって、そんなのです。
『Webは技術的な創造物というよりは社会的な創造物である。私はWebを技術的な おもちゃではなく、人々の共同作業の手助けとなるような社会的効果を生むものとして 設計した。Webの最終目標は、世界中に散らばっている私たちが織りなしている 網の目のような存在を支援し、改善することである。』
Refererによって制限はかけられますが、支障の方が大きいのですべきではない。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
contenteditableで編集した内容...
-
csvファイルを読み込み、該当項...
-
ページを一回だけリロードさせ...
-
htmlのfileタグに自動で値を入...
-
.htaccessについておしえてくだ...
-
JavascriptでのExcel起動について
-
フォルダ内のファイル一覧
-
テキストファイルやcsvファイル...
-
「終了していない文字列型の定...
-
1つのVBAコードをすべてのコア...
-
JSPの処理の途中で、JavaScript...
-
gas 全角数字を半角数字に変換
-
jQuery ui Datepicker 明日以降...
-
ページ遷移時にアコーディオン...
-
JavaScriptで ブラウザの閉じる...
-
PDFフォームで条件つき金額を表...
-
CGIとJavascriptの違いについて
-
javascriptで「オブジェクトを...
-
javascriptからサーバサイドの...
-
ローカルのレジストリを読みたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
csvファイルを読み込み、該当項...
-
htmlのfileタグに自動で値を入...
-
JSでファイル数取得
-
ページを一回だけリロードさせ...
-
JavascriptでのExcel起動について
-
テキストファイルの更新日時を取得
-
javascriptでフォルダ内のファ...
-
jsファイルを閲覧者がダウンロ...
-
動的ファイルの最終更新日を取...
-
JavaScriptでiframeの高さを自...
-
contenteditableで編集した内容...
-
javascriptの効かないサーバー...
-
外部ファイルからの値の取得
-
Win版IllustratorCS3でJavascri...
-
JavaScript(ライブラリ)のキ...
-
ファイルパスの取得について
-
<input type="file">のイベント...
-
ファイル出力(ログ)
-
正規表現でファイル名の抽出
-
ローカルフォルダにあるPHPファ...
おすすめ情報