TLDR -
Web サイトをコーディングしていて、すべてのコード ( html および js ) が
ブラウザーのように Crtl+Shift+i
を使用してユーザーに表示されることを考慮してください
最大限のセキュリティを確保するためのいくつかのポイント
- バックエンドを使用している場合は、アプリからのすべてを再確認してください
- Web サイトで可能なすべての攻撃 (XSS、悪意のある Web サイトへのリダイレクト、Web サイトのクローン作成などが可能)
- アプリに送信されたすべてのデータは最終的に一部の js 変数 / リソース ファイルで利用可能になります。ハッカーはすべての変数にアクセスできるため、最も安全なデータ転送メカニズムを使用している場合でも、アプリに送信されるすべてのデータにアクセスできます。
- Simon が彼の回答で正しく言ったように、phonegap や cordova はhtml/js をネイティブ コードに変換しません。Html / Jsはそのまま利用できますCordova
も公式声明でこれについて明示的に言及しています
ソース コードが安全であると仮定しないでください
Cordova アプリケーションは、ネイティブ コンテナーにパッケージ化された HTML および JavaScript アセットから構築されるため、コードが安全であると考えるべきではありません。Cordova アプリケーションのリバース エンジニアリングが可能です。
5.主に、ウェブサイトでコードのクローン化/簡単な理解を防ぐために使用されているすべての手法がここでも適用できます (主に、js コードを読みにくい形式に変換する - コードの難読化が含まれます)
6.ネイティブ アプリと cordova/phonegap の比較アプリ ネイティブ アプリ 、コルドバはハッカーにとってより簡単であると言えます。これは、コードを保護するための十分な対策を講じていないコルドバ開発者間の認識が不足していることと、コードを直接難読化するためのすぐに利用できる (ワンクリック) メカニズムが Android プロガードと比較して不足しているためです。
サンプル Cordova アプリのハッキング (注: Phonegap も同様の方法で機能します)
ハッカーが Cordova アプリをハッキングするのがどれほど簡単かを示す例を示します (開発者はコードを難読化する努力をしていません)
基本的に、apk ファイルの解凍から始めます (apk は zip ファイル
のように解凍できます)。内部はこれに似てい
ます。コルドバ アプリのソース コードは /assets/www/ フォルダー
にあります。アプリにパックしたデータベースを含むすべてのコンテンツが表示されていることがわかります (最後の 2 行に db ファイルがあることを参照してください)。
それに加えて、他のリソースも直接表示されます (テキスト ファイル/js / html/ オーディオ / ビデオなど) すべてのビュー / コントローラーも表示され、編集可能です さらに内容を調べると、 PaymentController.js ファイルが見つかります
それを直接開くことができますjs コードとその他のコメントを参照してください
ここで、ユーザーが支払いを実行した後、成功した場合は successCallback が呼び出され、それ以外の場合は cancelCallback が呼び出されることに注意してください。
ハッカーは、支払いが成功しなかった場合に successCallback が呼び出されるように、2 つの関数を単純に置き換えることができます。
他のチェックがない場合、ハッカーは支払いを回避することに成功しています。