[解決済み] JavaScriptを難読化(保護)するにはどうしたらよいですか?[クローズド]
質問
オープンソースではないJavaScriptアプリケーションを作りたいので、JSコードを難読化する方法を知りたいのですが?これは可能ですか?
どのように解決するのですか?
難読化する。
<ストライク 試す YUIコンプレッサー . Yahoo UIチームによって構築、強化、維持されている、とても人気のあるツールです。
<ストライクこちらもご利用ください。
-
<ストライク
- グーグルクロージャーコンパイラー
- <ストライク UglifyJS
UPDATE: This question was originally asked on 2008, and The mentioned technologies are deprecated. you can use:
プライベートな文字列データです。
文字列の値を非公開にすることは別の問題であり、難読化はあまり有益ではありません。 もちろん、ソースを文字化けしたり、minifyしたりすることで軽量化することはできます。 セキュリティ を通して オブセキュリティー . ほとんどの場合、ソースを閲覧するのはユーザーであり、クライアント上の文字列値は彼らの使用を目的としているため、そのようなプライベートな文字列値はあまり必要ではありません。
もし、本当にユーザーに見せたくない値があるのなら、いくつかのオプションがあります。 まず、ある種の暗号化を行い、ページロード時に復号化する方法があります。 これはおそらく最も安全な方法の一つですが、不必要に多くの作業を必要とします。 文字列の値をbase64でエンコードすることもできますが、そのほうが簡単です。 簡単にデコードできる . 暗号化は、あなたのデータに誰かがアクセスするのを本当に防ぐ唯一の方法ですが、ほとんどの人は、それが必要以上に安全であると感じています。
補足
Javascriptの難読化は、いくつかのバグの原因となることが知られています。難読化担当者はそれについて少し良くなってきていますが、多くの衣装は、難読化によって十分な利益を得られると判断しています。 ミニ化 と ジッピング そして、難読化の節約にもなります。 は、その手間に見合うとは限りません。 . もしあなたがソースを保護しようとしているのなら、もしかしたらコードを読みにくくするだけでも価値があると判断するかもしれません。 JSMin は良い代替案です。
関連
-
[解決済み】Node.jsで "Cannot find module "エラーを解決するには?
-
[解決済み】TypeScript-のAngular Frameworkエラー - "exportAsがngFormに設定されたディレクティブはありません"
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】JavaScript版sleep()とは?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JSクロスドメインソリューション リアクト構成 リバースプロキシ
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
要素ツリー制御によるvueTreeテーブル
-
vueにおけるv-forループオブジェクトのプロパティ
-
Vueのフォームイベントのデータバインディングの説明
-
[解決済み】Node.js getaddrinfo ENOTFOUND
-
[解決済み】JavaScriptの配列でforEachが関数でない不具合
-
[解決済み】ExpressJS : res.redirect()が期待通りに動かない?
-
Uncaught TypeError: null のプロパティ 'offsetHeight' を読み取れませんでした。
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。