19

実際、私はChrome拡張機能とjQueryプラグインを開発して、それをアップロードしてCodecanyonで販売しています。ページの「ソースの検査」で「リソース」タブをクリックすると、javascriptファイルが空になります。Codecanyonはどのようにそれを行いますか?自分のウェブサイトでもファイル盗難防止をしたいのですが、どうしたらいいのかわかりません。私はphpとjavascriptを知っていますが、ブラウザがファイルをダウンロードして実行するため、それを実行する方法はありません。

ここで例を見ることができます。

4

7 に答える 7

36

ブラウザで実行する必要があるため、非表示にすることはできません。そのような単純な。

クライアント側で実行されるスクリプトであることを理解する必要があります。コンパイルされていません (つまり、バイナリ (0 と 1 の機械語) ではありません)。だから自由に読める。

それでも、 YUI コンプレッサーなどのツールを使用して難読化することができます

基本的に、この種のツールは余分なスペースを削除し、タブ改行を行い、メソッド (「MyShinyMethodWhoMakesNiceStuff」を表すメソッド「a」など) と変数の名前を変更します。これにより、コードを読んで理解することが非常に難しくなります。したがって、リバース エンジニアリングは実現が困難です。

関数を使用してコードの一部をエンコードおよびデコードする base64 などのトリックを使用する人もいますが、それは単なるトリックであり、鋭い目を欺くことはありません。

難読化によって、人々はコードの分析により多くの時間を費やすことになり、盗みはより複雑になり、時間がかかります。すべての白い背景を紫色にする素敵な JavaScript プラグインを作成したとしましょう (わかりました。あまり良い例ではありませんが、画像化された例を表示するためだけに使用しました)。誰かがそれを盗んで、紫ではなく青にしようとするかもしれません。コードが難読化されている場合、彼はあなたのアイデアをコピーして自分のコードと青い背景で自分で書き直す方が簡単だと考えるかもしれません。リバース エンジニアよりも時間がかからず、あなたのことを理解するのも簡単です。結局、彼はあなたのアイデアを「盗む」だけで、コードは盗みません。

結局のところ、それは時間の問題だと思います。

于 2013-03-02T09:41:16.203 に答える
11

(縮小化と難読化によって) 読みにくくすることしかできませんが、コードは引き続き転送され、リバース エンジニアリングされる可能性があります。

例の実際のコードは、jquery.js ファイルと共にダウンロードされます。

于 2013-03-02T09:40:45.870 に答える
2

JavaScriptの「保護」について-基本的に他のみんなが言ったこと。

あなたが提供した例を説明する:

実際、http: //demos.pixelworkshop.fr/circular_countdown_cc/js/countdown.min.jsは空のように見えますが、実際のプラグインコードは58行目からjquery.jsファイルに追加されています。

http://demos.pixelworkshop.fr/circular_countdown_cc/js/jquery.js

于 2013-03-07T05:26:05.143 に答える
-8

Liblock は、自分で作成した小さなツールです。JS ソースを暗号化します。難読化による単純な隠蔽ではなく、暗号化による優れたセキュリティです。

クライアントで DOM を調べると、HTML ヘッドにバインドする各スクリプトの nplreq(url) だけが表示されます。

ここでどのように機能するかを参照してくださいliblock-demo - これは、「nopro_lib」と「xscroll.js」でスクリプトを非表示にするためだけのデモです。

暗号化と復号化は、ブラウザに対して完全に透過的です。PC では Firefox、Chrome、Opera、Konqueror、IE8-10、Android タブレットでは Dolphin と Safari でテストされています。

情報源は安全に隠され、本当に多大な努力を払わなければ、再び公開されることはありません。暗号化は、AES (Rijndael 256) で行われます。ワンショット キーは、Diffie-Hellman を使用してクライアントと (liblock-) サーバー間でネゴシエートされます。

于 2013-03-15T16:53:16.667 に答える