ホームページ >ウェブフロントエンド >htmlチュートリアル >HTML 暗号化の難読化、ソース コードの保護、コード セキュリティ、解凍の防止とソース コードの直接表示について_html/css_WEB-ITnose
HTML 暗号化を難読化する方法を尋ねる人もいます。実際、これは業界の多くの人々によって研究されているトピックです。
最近、暇なときに皆さんと共有できる記事をまとめました。
まず要件を整理しましょう。暗号化の目的は何ですか?暗号化のレベルは何ですか?そのために何を犠牲にできるでしょうか?
この世界に絶対的なセキュリティは存在せず、暗号化は解読され、難読化は難読化が解除されることを私たちは知っています。
技術的な初心者、開発者、ハッカーはすべてまったく異なるレベルにあり、異なるレベルの人々を防ぐための戦略も異なります。
予防の取り組みが大きければ大きいほど、専門のセキュリティ会社を雇うなどの投資コストも大きくなります。
投資に加えて、プログラムの実行パフォーマンスとユーザー エクスペリエンスも考慮する必要があります。
暗号化されたコードは実行時に復号化する必要があります。難読化後、特に HTML を難読化した後は、プログラムの実行パフォーマンスが低下します。
このタイプのソースコード保護が本当に必要かどうかは、慎重な意思決定が必要です。
一般的に、フロントエンド コードはユーザー エクスペリエンスを担当し、バックエンド コードはより安全なデータ処理を担当します。
フロントエンドではあまり多くの機密情報が漏洩する必要がないため、暗号化の意味は特に重要ではありません。
高度なアルゴリズムなど、フロントエンド コードで保護する価値のあるコンテンツはほとんど見られません。多くのコードを保護するためにユーザー エクスペリエンスを犠牲にする必要はありません。
ただし、一部のフロントエンド コードにはエンドユーザーのデータ セキュリティが含まれるため、現時点ではデータを保護するための努力が必要です。
次に、いくつかの方法を詳細に分析します。
フロントエンドに機密データを置かないでください
これはナンセンスに聞こえますが、非常に重要です。
一部の開発者はユーザーのパスワードを平文で携帯電話に保存していますが、これは非常に危険です。
たとえネイティブ開発であっても、電話機がroot化されると、データ漏洩が発生します。 HTML5の開発については言うまでもありません。
より良いアプローチは、パスワードの代わりに携帯電話にトークンを保存することです。ログインに関わる開発者は、以下に基づいて APP ログイン機能と安全な通話インターフェイスを設計する方法を詳しく検討することをお勧めします。 HTML5 (原理記事) )
js、css 圧縮
圧縮は暗号化でも難読化でもありません。ただし、圧縮された js ファイルには難読化機能も含まれていることがよくあります。
JS および CSS 圧縮は非常に一般的なテクノロジーであり、さまざまなフレームワークのファイル名が xxx.min.js、xxx.min.css であることがよくあります。
適切な js および css 圧縮ソリューションを使用すると、ファイル サイズが削減され、読み込み速度が向上し、最も重要なことに、プログラムの実行パフォーマンスも高速化されます。それは害のない単なる利益です。
JS を難読化するために最も一般的に使用されるツールは、Yahoo の YUI 難読化です。HBuilder のメニュー ツール プラグインのインストールをクリックすると、JS と CSS を圧縮できる YUI 圧縮が含まれます。
js と css が比較的大きい場合は、公開する前に圧縮することをお勧めします。
HTML、js、cssの混乱
圧縮も混乱することがありますが、他人を理解できなくすることが目的ではありません 混乱は他人を理解できなくすることが本当の目的です。
ただし、このような混乱は、圧縮ほど無害ではなく、プログラムの実行パフォーマンスを低下させます。
一部の開発者は、配布パッケージを解凍した直後にソース コードを確認したくないため、この時点で難読化ソリューションを使用できます。
インターネットで HTML 難読化について検索すると、たくさんの情報やツールがあります。
原理は似ています。js コードは乱雑な文字列になり、eval を使用して実行されます。HTML コードは乱雑な文字列になり、document.write または innerHTML を使用して実行されます。