ディレクトリ内のファイルをDLできないように?

このQ&Aのポイント
  • javascriptのファイルをダウンロードできないようにする方法について教えてください。
  • ファイルを直接URLでアクセスしてダウンロードできないようにする方法を教えてください。
  • jsフォルダ内のファイルをダウンロードできないようにする方法について教えてください。
回答を見る
  • ベストアンサー

ディレクトリ内のファイルをDLできないように?

javascriptのファイルを、hoge.com/js/script.jsというように保存し、 <script type="text/javascript" src="js/script.js"></script> というようにhtmlに記述することが多いと思います。 しかしブラウザで直接ttp://www.hoge.com/js/script.jsをURLに記述するとこのファイルがダウンロードできてしまいます。 ※httpと記述するとこのページでリンクがでてしまうのであえてttpとしています。 ダウンロードができないようにするにはどのようにすればよいのでしょうか? jsフォルダ直下に.htaccessを置いて記述すれば良いような気もするのですが、そもそもjsフォルダ内のファイルを「ダウンロードできないようにする」という記述方法がわかりません。 もしくは他の方法があれば教えてください。 よろしくお願い致します。

  • suffre
  • お礼率76% (2013/2633)
  • HTML
  • 回答数5
  • ありがとう数4

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

>自分のサイト(個人サイトですが)登録会員だけ利用できるサービスをjavascriptで提供しようかと思っていて、  なら、なおさらjavascriptを使うべきではありません。  単純にそのサービスページにアクセス制限をかければ済むことです。javascriptは、いったんダウンロードしなければならない、javascript特にセキュリティ関係の実行は停止しているユーザーが多い。javascrictはダウンロードに時間かかかる。  CGIなり、SSIなりのほうがよっぽど早いし安全です。

suffre
質問者

お礼

ありがとうございます。 そうですね。やはりjavascriptではダメなようですね。 ちなみに >CGIなり、SSIなりのほうがよっぽど早いし安全です。 というのは安全なのはわかりますが、速度が速いという意味でしょうか? たとえば、100人が会員ページにいてCGIなどを実行した場合、なんとなく速度が遅くなる気がします。 javascriptですと、計算自体はクライアントPCが行なうのでサーバーからはデータを持ってくるだけとか その程度で済みますし、CGIだとページが毎回更新されますよね。javascriptだと指定したタグの部分だけ更新で済むと思います。 やれば逆アセンブリができてしまいますが、flashという手もあるような気もしてきました。 これもバージョンによって挙動が違ったりブラウザによって未対応などもあるとは思いますが…。

その他の回答 (4)

  • neko-ten
  • ベストアンサー率55% (1287/2335)
回答No.5

両方使えばいいでないか・・・。 表示だって別にページ再構成しなくても、JavaScriptでバックグラウンド通信して直接書き換えればよい。 そうすればサーバサイド側も最低限の演算・出力で済むし、JavaScriptも通信と表示だけで済むわけだ。 #こういうのは思想の話したらダメぞ。 #ちなみにバーナーズ・リーな。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

javascriptは、ブラウザにダウンロードさせて実行させるものなので、原理的に「ダウンロードさせない」=「実行できない」です。  javascriptは、直接URIを記述しなくても、ブラウザ付属のツールやアドオンで解析・変更・保存できます。  それよりも問題なのが、なぜ隠さなければならないかです。一般的にjavascriptのコードは自分でゼロから作成することはなく、他のコードを参考ないし改変することが多いのですが、元のコードがフリーないし、GPLやMTなどのライセンスで配布されている場合、そのソースコードを隠すことはライセンス違反になります。 GPL) 邦訳 http://www.opensource.jp/gpl/gpl.ja.html 極簡単に説明すると ・有償無償に関わらず、再配布、他人にインストールしてあげること、コピーは自由です。 ・ソースコードはいつも手に入る状態であること ・無保証 ・そして、再配布などの場合あなたも相手もそれを自由にコピー、再配布、改造が出来ることを守り守らせなければなりません。 メジャーなJavaScriptライブラリのライセンス形体についてまとめるよ - 鳥さんの独り言 ( http://d.hatena.ne.jp/diveintounlimit/20100119/1263909481 )  そもそも、HTMLやHTTPという現在のウェブの仕組みや仕様はバーナー・ズリーが、 【引用】____________ここから Webの背景をなす基本的な原理は次のようなものである。どこかの誰かが、 ひとたび文書、データベース、画像、音声、動画あるいはある程度まで インタラクティブな画面を準備したなら、もちろん使用許諾の範囲内のことだが、 いかなる国のどのようなコンピュータを使っている誰もが、この画面に対して アクセス可能でなければならない。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[リンクについて「リンクは自由!」( http://www.sal.tohoku.ac.jp/~gothit/webpolicy.html )]より  という理念で、あなたも私も自由に利用できるのです。その恩恵を受けている自身が、その恩恵を受けながら、それに制限をかけようというのは矛盾していませんか?  私は自身のサイトのすべてについて、GPLを適用しています。誰かがもっとよいものを作ってくれるように・・

suffre
質問者

お礼

ありがとうございます。 なぜ隠したいかはNo2さんの回答に書いたとおりです。 ソースは全て自分で書きました。

  • yui56544
  • ベストアンサー率69% (85/123)
回答No.2

ダウンロードを不可能にするというのは無理です。 JavaScriptを実行=Javascriptのデータを読み込んで(ダウンロードして)実行するということなので、多少知識のある人ならキャッシュから見られます。 JSファイルのURLをブラウザに打ち込み、ダウンロードパネルを表示させないようにするという意味では可能ではありますが、WebサーバがApacheで、スレ主がサーバー管理者であればという条件付になります。 参考URL http://questionbox.jp.msn.com/qa1055299.html http://tomo.ac/goodstream/ajax/tips/forbidden.html 一応、他の方法としてはJavascript(Jsファイル)を暗号化してダウンロードできるけど解読を難しくするとか、HTMLソースを暗号化して、外部JsファイルのURLをわかりにくくするといったことをしている人はいますけど、あまりオススメはしません http://q.hatena.ne.jp/1095050645 http://deztec.jp/design/05/08/08_code.html

suffre
質問者

お礼

なぜjsファイルを非公開みたいにしたいかというと、自分のサイト(個人サイトですが)登録会員だけ利用できるサービスをjavascriptで提供しようかと思っていて、そのjavascriptを抜き取られて勝手に運用されたり第三者に提供されたりすると困るからです。 phpなどのサーバーサイドだとレスポンスが悪いのと、毎回Webページが更新されるのであまり実用的じゃないかなと思っています。 回答についてですが前者はレンタルサーバーなので無理ですね…。 後者ですが暗号化は聞いたことがあります。ちょっと検討してみたいと思います。 ありがとうございました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

ダウンロードできない=利用できないということですが?

suffre
質問者

お礼

ですよね。

関連するQ&A

  • 呼出したjsファイル内で他jsファイルを呼出したい

    hoge.htmlに ----------------------------------------------- <script type="text/javascript" src="piyo.js"></script> ----------------------------------------------- を記述してpiyo.jsを読み込ませました。 この状況で、piyo.js内でfuga.jsを読み込むにはどのような記述をすればよいでしょうか?

  • javascriptファイルは1つに統合できますか

    javascript初心者のため、どなたかご教示いただけるとありがたいです。 html内に外部javascriptファイルを読み込むようにscript要素で記述しているのですが、複数の外部jsを読み込んでおり、可能であればhtml内の記述を簡略化したいと思っております。 <現状> <script type="text/javascript" src="・・・/js/jquery.js" charset="utf-8"></script> <script type="text/javascript" src="・・・/js/jquery.page-scroller.js" charset="utf-8"></script> <script type="text/javascript" src="・・/js/jquery.cookie.js"></script> <script type="text/javascript" src="・・・/js/ui.core.js"></script> <script type="text/javascript" src="・・・/js/jquery.easing.1.3.js"></script> <script type="text/javascript" src="・・・/js/jquery.scrollfollow.js"></script> <script type="text/javascript" src="・・・/js/jquery.bxslider.js"></script> <script type="text/javascript" src="・・・/js/set_slider.js"></script> ・・・ jsに対する基礎的な質問ですが、上記のような複数の外部jsファイルを、1つの外部jsファイルにまとめることは可能なのでしょうか? (単純に1箇所にコピー&ペーストするようなイメージで) お手数ですが、ご教示のほど、宜しくお願い致します。

  • javascriptの外部ファイル読み込みの不具合

    質問させて頂きます。 javascript初心者です。 現在サイト作成にあたり、jsを組み込んでおります。 ajaxmailを設置しようと、参考サイトの手順通りに行ったのですが、 <script type="text/javascript" src="./js/protoculous-effects-packer.js"></script> の記述をすると、他のjsが動作しなくなってしまいます。 現在読み込んでいるものをコピペさせて頂きます。 <script src="http://maps.google.com/maps/api/js?sensor=true"></script> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script src="./js/mapstyle.js"></script> <script src="./js/modernizr.custom.min.js"></script> <script src="./js/jquery-1.10.2.js"></script> <script src="./js/hoge.js"></script> <script src="./js/jquery.smooth-scroll.min.js"></script> <script src="./js/jquery-ui-1.10.3.custom.min.js"></script> <script type="text/javascript" src="./js/protoculous-effects-packer.js"></script> <script type="text/javascript" src="./js/lightview.js"></script> 下2行がajax設置の際に読み込むものです。 lightview.jsだけの場合は機能しています。 どなたかご教示の程、よろしくお願い致します。

  • 複数の外部ファイルを参照するにはどうすればいいの?

    22歳男性です。 htmlに以下のように記述していますがうまく動作しません。 <html> <head> <script type=\"text/javascript\" src=\"js1ファイルパス\"></script> <script type=\"text/javascript\" src=\"js2ファイルパス\"></script> </head> <body> ・・・・・・・ 上記のように記述して外部のjsファイルを参照しようとしているんですがうまくいきません。js2ファイルは参照できるんですが、js1ファイルは参照できません。 また、記述順を変えてみると、js1ファイルは参照でき、js2ファイルが参照できなくなります。 この2つのjsファイルを参照するにはどのように記述するべきなのでしょうか?

  • 複数のjQueryを使用するときの記述の仕方

    今、こちらのjQueryと http://jsajax.com/Articles/jQueryLavaLamp3/1083 こちらのjQueryを http://www.css-lecture.com/log/javascript/039.html 同じページ内で使用しようとしています。 記述は以下の通りです。 ---------------------------------------------------- <!-- ▼前者のjs --> <script src="js/jquery-1.2.6.js" type="text/javascript"></script> <script src="js/jquery.easing.min.js" type="text/javascript"></script> <script src="js/jquery.lavalamp.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function() { $("#lavaLamp").lavaLamp({ fx: "backout", speed: 700, click: function(event, menuItem) { return false; } }); }); </script> <!-- ▼後者のjs --> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript">google.load("jquery", "1.3");</script> <script type="text/javascript" src="js/main/jquery.cycle.js"></script> <script type="text/javascript" src="js/main/slideshow.js"></script> このように記述しても後者のものしか動きません。 前後逆にすると前者が動きます。 以前の質問でjQueryのファイルには記述する順番があるとお答えを頂いたのですが、 調べても初心者の私には理解できず・・・。 こちらのファイルを同時に使用するにはどのような順番で記述したら宜しいのでしょうか? 大変困っております、どうか宜しくお願い致します。

  • なぜ外部jsファイルはコメントアウトが必要ないのか?

    htmlに直接Javascriptを書く場合は、非対応ブラウザへの考慮としてコメントアウトを記述せよと教わりました。以下のように書けば良いんですよね? <script type="text/javascript"> <!-- (スクリプト) //--> </script> しかし思ったのですが、外部jsファイルを呼び出す場合はこうなります。 <script type="text/javascript" src="script.js"></script> コメントアウトは記述されていません。また、過去勉強中にさまざまなサイトからサンプルをダウンロードして見てましたが、jsファイルの方にコメントアウトが記述されていることもありませんでした。つまりこのやり方ですとコメントアウトがまったく出てこないわけですが、これはなぜでしょうか? もう1つお聞きしたいのですが、もしコメントアウトを記述しないでそのhtmlファイルをJavascript非対応ブラウザで見た場合、どのような挙動をするのでしょうか?

  • javascriptの外部呼び出し

    ttp://cache-cache.tea-nifty.com/kids/2005/04/ec10_38ba.html このサイトのjavascriptを外部呼び出ししたいのですが、 どこからどこまでを記述して●●●.jsで保存して、 <script type="text/javascript" src="●●●.js"></script> と、呼び出せばいいのでしょうか? また、表示させたい場所(<body>~</body>の間)には どのように記述すればいいでしょうか?

  • ブログパーツのjquery利用について

    ブログパーツでjqueryを使用してhtmlなどを出力したいのですが、 思い通りの動作ができません。 jsファイルの中身 ------------------------------------------------------------ document.write("<script type='text/javascript' src='http://hoge.com/jquery.js'></script>"); document.write('<link rel="stylesheet" type="text/css" href="http://hoge.com/hoge.css">'); $(function() { $("div").html("<p>aaaaaaaaa</p>"); }); document.write('<div></div>'); ------------------------------------------------------------ これじゃあ、ほかのサイトからjsを読み込んでも 出力されないのでしょうか? (<script src="http://hoge.com/hoge.js"></script>) document.write("<div>aaa</div>");だけであれば、 ちゃんと出力されるのでjqueryの記述がおかしいのだと思います。 ご教授お願いいたします。

    • ベストアンサー
    • AJAX
  • javascriptのクラスの処理について

    javascriptのクラスを利用した処理で分からない所がありますので 教えて下さい。 最初に 下記の「1.の方法」でhtml側にjavascriptを呼び出す記述を して動かしていましたが、「2.の方法」に変更しなければならなく なりました。 ところが、「2.の方法」でやりますと、メインのhtml側がフリーズ してしまいます。 調べてみますと、メモリーを食いつぶしていますので、何か永久ループの ような状態に陥っているようです。 こような場合、何かやり方がおかしいのでしょうか? ご存知の方がいらっしゃいましたら、ご教授お願いいたします。 === 1.の方法 ===(問題なく動きます)================= ---ソース(index1.html) <script type="text/javascript" src="js1.js"></script> <script type="text/javascript"> hoge.create( abc, "def"); </script> ---ソース(js1.js) var hoge = {   xxx: ~~,   yyy: ~~   create: function(val1,val2) {     ~略~ }; === 2.の方法 ===(フリーズしてしまいます)=========== ---ソース(index2.html) <script type="text/javascript" src="js2.js"></script> <script type="text/javascript"> hoge_sub(); </script> ---ソース(js2.js) function hoge_sub(){   hoge.create( abc, "def"); } var hoge = {   xxx: ~~,   yyy: ~~   create: function(val1,val2) {     ~略~ };

  • 外部ファイル

    HTMLに、このような記述があり <script type="text/javascript" src="●●●.js"></script> 外に、「●●●.js」 というファイルがあります。 これは、「外部のjavascript」ファイルということでしょうか? また、この、「外部のjavascript」ファイルを開く(見る)には、どうしたらいいのでしょうか? ^^ どこか、おすすめのjavascriptのサイト、ご存知でしたら、教えてください。。。^^ (CSS外部ファイル。までは意味、わかるのですが、 javascript の関係はよくわかりません)

専門家に質問してみよう