1

私は iOS 開発者で、ローカルの html ページを UIWebView にロードするネイティブ iPhone アプリのセキュリティ面を調べています (これは、ブラウザーにネイティブ アプリの機能を提供する iOS クラスです)。

アプリがローカルの html ファイルを読み込み、そのファイルに外部の html ファイルへのリンクが含まれている場合、その外部ファイルがファイル (別の html ファイルまたは JavaScript ファイル) をクライアントにダウンロードすることは可能ですか? html/javascript に関する私の知識は、この分野では十分に詳細ではありません。

たとえばA.html、ファイルが電話に物理的に存在し、サーバー上の場所A.htmlへの href が含まれている場合、(何らかの手段を使用して)サーバーからデバイスにファイル (またはその他) を移動することは可能ですか?B.htmlB.htmlB.htmlC.htmlD.js

4

1 に答える 1

1

おそらくあなたが言いたいのは、HTML ページはデバイス上のコンテンツ/コードをダウンロード (および潜在的に実行または上書き) できるかということです。以下では、それを仮定するだけです。

  • まず、ブラウザーは、ユーザーの同意なしに何かをダウンロードすることはできません。これは、ブラウザが実際に何もダウンロードできない iOS で特に当てはまります。(まあ、実際には画像を長押ししてダウンロードできますが、それらはフォトロールに移動するだけです。他のダウンロードは失敗します。)

  • HTML ページ (および JavaScript、画像など) は、もちろん、ブラウザやUIWebView表示の前にデバイスにダウンロードされますが、ファイルシステム上のものにはアクセスできません

  • さらに、同一オリジンポリシーにより、Web ページはそのドメインの外部にあるものにはアクセスできません(クロスオリジン リクエストはこれを許可しますが、サーバーが特定のヘッダーを送信する必要があります)。

    あなたのページがオンになっているとしましょう:適切にセットアップされていない場合、または (はるかに危険な) に(適切にセットアップする方法がない) にhttp://mywebsite.comリクエストを送信することはできません。http://blah.orgfile:///etc/passwd

  • ローカル ページについてはわかりませんが、(少なくともデスクトップの Chrome では)ローカル Web ページ は何もダウンロードできません

もちろん、これらはすべて想定どおりの動作です。

Safari がファイルシステムへの非特権アクセスを許可する脆弱性のケース (たとえばこれ) がありましたが、ほとんどの場合、Apple によってパッチが迅速に適用されており、パッチを適用する必要はありません (回避したい場合は想定されていません)。不必要な頭痛)それらについて心配してください。

于 2012-10-05T17:53:51.433 に答える