• 締切済み

javascriptファイルのお勧めな盗用防止方法は?

javascriptソースを他の人に盗用されることを防止したいと思います。 完全に防止することはできないと思いますが、極力難読化することは可能かと思います。 防止対策としてお勧めの方法はないでしょうか? お勧め方法を紹介して下さい。 例えば、CSSファイルなどはインポートさせた場合に存在しないインポート先URLを指定するとかちょっとした対策はあると思いますが・・・

みんなの回答

回答No.4

> 完全に防止することはできないと思いますが、極力難読化することは可能かと思います。 盗用の完全防止ではなく、難読化することが目的ならば、 可能です。 ・読みづらいコードを書く。 作者にさえわかりにくければ、読み手にもわかりにくいです。 現実的には、変数名や関数名が英数字の羅列というのはよくあります。 ・改行とインデントを全て削除する 改行もインデントもなければ読みづらいのは言わずもがな。 ・zipなどの圧縮アルゴリズムを応用して圧縮、実行時は解凍し、evalする。 a='alert';h='hoge';eval(a+'(¥''+h+'¥');'); ・全ての文字を文字コードで記述し、実行時はfromCharCodeで復元。 メールアドレスの表示に使う暗号化アルゴリズムの一種。 アレンジすればウイルスに使われるほどファイルサイズを小さくしたり、 ファイルサイズを犠牲にして複雑な暗号アルゴリズムを組み立てることも可能。 基本的に原文からは推測出来ません。 > 例えば、CSSファイルなどはインポートさせた場合に どこぞのアダルトサイトで使われてましたがインラインフレームの何重もの入れ子と document.write('<script src=""></script>')の連鎖は、 解析する方としては面倒くさいことこの上ないので、難読化にはなりますがおすすめはしません。 インデント削除や圧縮アルゴリズムを応用するコンプレッサーは、フリーウェアにあります。 名前の通り、目的は難読化や暗号化ではなく、ファイルサイズ減少ですが、 きょうび、100kbや200kbは誤差の範囲ですし、難読化を目的として利用させてもらうにもちょうど良いツールと思います。 コンプレッサーで圧縮するのはコストパフォーマンスに優れていると思います。 複雑にすればするほど、解析も大変になってきます。 というよりも面倒くささにより解析させる気を失わせることを目的として、いくつかの圧縮・暗号パターンを組み合わせるのがもっとも効果的ではないでしょうか。 ただし、ある事を行ったり、ツールを使えば一目瞭然です。 これはどうしようもないです。 ・HTMLやURLに深く依存し、下手なコードを書く。 これがベストだと思います。 解析するには最も面倒ですし、そんなコードは真似(盗用)したくないですしね。 コピーペーストするにも、HTMLに依存していればスクリプトのコピーだけでは利用出来ません。

参考URL:
javascript compressorで検索
midorin_h
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
noname#49664
noname#49664
回答No.3

どうしても・・・というなら、まぁ元も子もない意見ですが、そのスクリプトをすべてサーバサイドで動く言語に移植するのが一番確実でしょう。そして必要に応じてAJAXなどで呼び出し、実行結果のみを受け取って利用するわけです。 既に回答があるように、クライアントサイドである限り、スクリプトは隠せません。どうしてもというなら、サーバサイドを使うしかありません。

全文を見る
すると、全ての回答が全文表示されます。
  • ANASTASIAK
  • ベストアンサー率19% (658/3306)
回答No.2

>お勧めの方法はないでしょうか? お勧めは、そんな大事なコードならUPしないことです。 画像の場合と同じ理由です。 しかし、専門家や熟練したJavaScriptのプログラマなら、 大抵の挙動は想像がつきます。あなたが持っている「すばら しいコード」よりももっとエコノミーでクロスブラウザかつ メモリリークのないスクリプトを書けるかもしれません。 クライアントサイドのスクリプトでどのような暗号化をした ところで私は復元する自信があります。他のプログラマも 同様でしょう。 一番よいのは、あなたのコードをここに公開してもっとよい 設計思想はないかを検討してみることかな、と。 いやいや冗談です。

全文を見る
すると、全ての回答が全文表示されます。
  • wp_
  • ベストアンサー率54% (132/242)
回答No.1

無粋な突っ込みですが。 隠匿しなければならないような恥ソースなどは窓からぽいと捨てましょう。 もしくは第三者から完全に(物理的に)見れない状態にしましょう。 著作権を主張したいならば今はなきNetscapeに一日7回の礼拝を行うか MoFoとMicrosoftに何かしらの貢献をしましょう。 まぁ冗談ですが。 >防止対策としてお勧めの方法はないでしょうか? 大抵はcryptなど復号化できる暗号を用いてソースそのものを暗号化し、 ページ表示時に復号→eval()といった流れになると思われます。 // ただ、javascriptをクライアントサイドで使用するという条件上それらは完全に無駄であり、 // 「クライアントに見せたくない」という謎の動機も首を傾げざるを得ません。 >例えば、CSSファイルなどはインポートさせた場合に存在しないインポート先URLを指定する(snip) 地球資源の無駄&サーバ管理者に迷惑なので止めましょう。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ブログでの画像盗用防止に関するタグなど教えて欲しいです。

    ブログでの画像盗用防止に関するタグなど教えて欲しいです。 こんんちは。 カテゴリを迷ったのですが、こちらで失礼します。 ★画像盗用禁止について教えて欲しいです。 こちらのサイト(ブログ)は画像も文章も選択できないのですが…どうなっているのでしょうか? ttp://www.m-biotics.com/blog/ 簡単ならば自分のブログに私用してみたいのですが…よく分かりません。 フリッカーなどもページによってはドラッグで画像を保存しようとしてもできません。 そちらの仕組みはFLASHでしょうか? ttp://www.flickr.com/ ★また、ほかに右クリック禁止ではなくドラッグによるコピー防止や何か別の方法で画像盗用をしにくくする方法があれば教えて下さい。 できればIEではなくfirefoxに適応できる方を優先したいです。 もし、Javaであれば詳しくないので設定が書かれているサイトが嬉しいです。FLASHでの方法は今回は対象外でお願いします。 自身はfc2ブログを少し使っている程度で、CSSが若干分かってるぐらいのレベルです。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • CSS, Javascript読み込めない

    Windows10のノートパソコンを使用しています。各ブラウザの設定は初期設定のままです。 ローカル(PC内)でHTMLファイルにCSSファイル1つとJavascriptファイル1つを読み込ませ、Google Chrome, Microsoft Edge, Internet Explorerで開いたのですが、どのブラウザでもCSSもJavascriptも認識されていません。 ファイル名とそのパスやソースコードを確認しましたが、記述に間違いはありません。htmlファイルと同じ階層にCSSファイルとJavascriptファイルを入れています。 Google Chromeの検証機能で確認するとCSSとJavascriptのファイルが見つかりませんとなっています。 ネットで調べましたが原因は不明です。以上のことから、CSS、Javascriptが読み込めない原因として考えられることを教えて下さい。

    • ベストアンサー
    • HTML
  • CSSの2種類の外部ファイル化の仕方について

    現在CSSを外部ファイル化しようとしているのですが @import url を使ったやり方と <link rel="stylesheet" type="text/css" href="~.css"> を使ったやり方、どちらを使用してCSSを外部ファイル化しようか迷っています。それぞれの方法には、メリットやデメリットが存在しているのでしょうか?できればそれらの違いを知った上でどちらの方法そ使用するか決めたいのです。ご存知の方、解答よろしくおねがいたします。

  • デザイナーにおすすめのJavaScript本

     HTMLやCSSは書けるけれど、プログラムは書いたことないどころか苦手意識を感じているデザイナー向けのJavaScriptの本はないでしょうか。  いままで書いたJavaScriptは、他のサイトにあった、別ウィンドウを開くJavaScriptを取ってきて、URLを別のものに置き換えたくらいです。 ・絵が多く文章がわかりやすくて楽しく読める ・便利そうなサンプルがあって、それの書き換え方法を教えてくれる ・1から書く方法も書かれている (デザイナーに必要なのかな...) みたいなのが良いです。よろしくお願いします。

    • ベストアンサー
    • CSS
  • CSSファイルの分け方皆様はどのようにしています?

    こんにちは、サンタともうします。 宜しくお願い致します。 Webを作る際に、CSSの読み込みを次のようにしています。 import.css ************************************************ @charset "UTF-8"; @import url("reset.css");/*ブラウザ間の差異を無くすYUI*/ @import url("fonts.css");/*フォントサイズを整えるYUI*/ @import url("base.css");/*CSS要素の基本の定義*/ @import url("common.css");/*CSS要素スタイルの定義(ポジショニング迄)*/ @import url("index.css");/*index.htmlにだけ適用用のCSSファイル*/ ************************************************************ base.cssとcommon.cssが似たような役割をさせているので、統一したほうが良いのかなあ?とも考えました。 違いは、 reset.css ブラウザ間の差異を無くすためのCSS(YUI3) fonts.css IEのバグ回避と、それぞれの要素の基本フォントサイズを指定します base.css アウトラインもない、h要素や、段落を分けるだけのみ用の、CSS comoon.css 各HTMLファイルの共通するレイアウトポジションを適用する、CSS index.css index.htmlだけにしか使用されない、CSS みなさんは、どのようにしておられますでしょうか? 私の分け方で、必要のない物、纒められるものを何かありましたら、ご教授頂けましたら幸いです 宜しくお願い致します。 失礼致します。 教えて頂けましたら、幸いです。

    • ベストアンサー
    • CSS
  • 外部javascriptファイルをjavascriptから動的に呼び出したい

    呼び出し元のURLによって動作を変えたいJAVASCRIPTがあります。 普段外部のJAVASCRIPTを呼び出すときはよくこうするのですが <script type="text/javascript" src="js.php?key=url"></script> これでは「key=url」が固定になってしまいます。そこで下記のように <script> var commentname=document.URL; var str=encodeURIComponent(commentname); document.write('<script type="text/javascript" src="read.php?key=',str,'"><\/script>'); </script> document.writeを使って無理やり外部Javascriptファイルの呼び出しスクリプトを書いているのですが、この書き方はどうもエレガントさにかけるというか、いまいち気に入りません。 もっとほかに良い方法がある気がするのですが、調べてもわかりませんでした。おわかりになる方がいらっしゃったらご教示頂けないでしょうか。

  • 特定の画像を非表示にする方法

    CSSかJavascriptを使って、自動的にページに組み込まれてしまう画像を非表示にしたいです。 ソースに特定の画像を非表示にする内容を書き込むと思うのですが・・(非表示にする画像のURLを指定?) よろしくお願いいたします。

  • cssにjavascriptを入れる?呼び出す??

    技量が乏しいので見当違いな質問でしたらすいません。 今ホームページにjavascriptによるログ解析を行うためhtmlファイルにタグを挿入しているのですが、すべての該当ページに挿入するのに苦労しています。 これをcssを使う事でcssだけ変更すればすべてのファイルにjavascriptを追加するような事はできませんでしょうか。 cssの記述方法についてご教授頂ければありがたいです。 cssやjavascriptそれぞれ1つとっても私には難しく・・・ よろしくお願いいたします。

  • 外部ファイルを読み込ませるための記述方法を教えてください!

    (1)index.html (2)「index.html」以降のページのフォルダ(の中にhtml) (3)css.js (4)cssファイル を同じ階層に置いています。 htmlには<SCRIPT LANGUAGE="javascript"src="css.js"></SCRIPT> と書かれており、css.jsファイルからcssファイルを読み込み htmlにcssが適用されてるように設定されています。 この階層のhtmlにはcssが反映されるのですが (2)のフォルダの中のhtmlにとってはcss.jsの階層は一つ上になるのですが、 <SCRIPT LANGUAGE="javascript"src="css.js"></SCRIPT> と書いてもcssが反映されません。 srcの指定を正しくするにはどのように記述したらいいのでしょうか? <SCRIPT LANGUAGE="javascript"src="../css.js"></SCRIPT> と記述してもダメでした。 Javascriptの言語がほとんどわからず困ってしまっています。 大急ぎで知りたいのですが、わかる方いらっしゃいましたら 教えてくださると大変助かります。 どうかよろしくお願い致します。

  • CSSファイルは、どこから読み込んでいるのか?

    とあるWebサイトのソースを見たら、headの部分が次のようになっておりました。 <link rel="stylesheet" href="css/import.css" type="text/css" media="all" /> これは、普通に記述されていると思いますが、href="css/import.css"を開いてみたら、次の記述しかありませんでした。 @charset "utf-8"; /* CSS Document */ @import "common.css"; @import "top.css"; @import "text.css"; @import "faq.css"; @import "form.css"; これは、どういうことでしょうか? CSSからCSSを読みこんでいるのでしょうか? なぜ、htmlファイルに複数行をかけてCSSファイルを一つずつ読みこませないのでしょうか? 何かメリットがあるのでしょうか?

    • ベストアンサー
    • CSS
このQ&Aのポイント
  • スキャン後に表示される「DB登録中にエラーが発生しました」の解決方法はありますか?
  • ScanSnap iX1600を使用している際に、「DB登録中にエラーが発生しました」というエラーメッセージが表示されました。どうすれば解決しますか?
  • ScanSnap Homeを使用してスキャンした後、「DB登録中にエラーが発生しました」というエラーメッセージが表示されました。どうすれば解決できますか?
回答を見る