2015年5月21日木曜日

『クロスドメイン対応【Webサイトの開発】』

Webサイト開発していると、クロスドメインの問題で開発時に困る時があります。
クロスドメインは、クライアントアクセスポリシーファイルで、許可すれば問題ないのですが、顧客のセキュリティポリシーで許可できないと行ったことが多々あります。

このような場合、Fiddlerで解決する方法がありましたので、紹介します。

【クロスドメイン】
セキュリティ上、Webサイトからの通信(データのやりとり)は、Webサイト(HTMLファイルが置かれている)が置かれているサーバ(ドメインのサーバ)としか通信できない制約があります。
 この制約をクロスドメイン制約と呼びます。

【クライアントアクセスポリシー】 
クロスドメイン制約を許可する手段として、サーバにアクセス許可を設定するファイルを保存します。
このファイルを「クライアントアクセスポリシー」ファイルと呼び、通信先に保存します。

【セキュリティポリシー】
「企業全体の情報セキュリティに関する基本方針」で、むやみにサーバアクセスを許可しないことなどを行います。
詳しくは、Googleで「セキュリティポリシー」 で検索すれば沢山でてきます。

【Fiddler】
HTTP の通信データをみたりすることが出来るツールで、フリーのパケットキャプチャソフトになります。
ソフト開発のデバッグツールとして大変便利なソフトです。



【Fiddlerでのクロスドメイン】解決方法について
(1)クライアントアクセスポリシーファイル(clientaccesspolicy.xml)を次のような内容で作成して、
ローカルPCに保存する。
例えば、 C:\に保存。

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
    <cross-domain-access>
        <policy>
            <allow-from http-request-headers="*">
                <domain uri="https://*"/>
                <domain uri="http://*"/>
            </allow-from>
            <grant-to>
                <resource path="/" include-subpaths="true"/>
            </grant-to>
        </policy>
    </cross-domain-access>
</access-policy>

(2) Fiddler4インストールして、クライアントアクセスポリシーファイルを参照するように設定する。   ※Fiddler2でも可能

・「Add Rule」を選択して、クラインアクセルポリシーの設定
 RuleEditerに保存したクラアントアクセスポリシーファイルを設定して、Save
・StreamとDecodeをクリックする




・メニューTools - Fiddler OpeionsのHTTPSタブを選択して、Decrypt HTTPS traffic をチェックする



0 件のコメント:

コメントを投稿