Site.com でのクリックジャック保護の有効化
クリックジャックは、ユーザーをだまして安全なものをクリックしていると思わせて、ボタンまたはリンクなどをクリックさせる攻撃の一種です。このボタンまたはリンクは、安全であるどころか、サイトで悪意のあるアクションを引き起こし、データ侵入、認証されていないメール、ログイン情報の変更、その他のサイト固有の結果をもたらします。非表示の iframe がサイトのページに悪意を持って配置され、非表示の iframe の下にあるボタンまたはリンクをユーザーがクリックするように誘導する可能性があります。クリックジャック保護を使用すると、ブラウザーで Site.com サイトページのフレーム化を外部ドメインに許可するかどうかを設定できます。
必要なエディション
| 使用可能なインターフェース: Salesforce Classic |
購入可能なエディション: Enterprise Edition、Performance Edition、および Unlimited Edition 使用可能なエディション (制限付き): Developer Edition |
| 必要なユーザー権限 | |
|---|---|
| Site.com サイトを構築、編集、および管理する | [Site.com Publisher ユーザー] 項目をユーザー詳細ページで有効化されている および サイトレベルで割り当てられたサイト管理者またはデザイナーロール |
- Site.com Studio で、[サイトの設定] | [編集] をクリックします。
-
目的のクリックジャック保護レベルを選択します。
- すべてのページでフレーム化を許可 (保護なし): 最も安全でないレベル。すべての外部ドメインでサイトページをフレーム化できます。
- 外部ドメイン上でサイトページのフレーム化を許可 (適切な保護): 信頼できる外部ドメインのみがサイトページをフレーム化できます。[インラインフレームの信頼済みドメイン] リストで、信頼するドメインを指定します。
- 公開元が同じページでのみフレーム化を許可 (推奨): Site.com サイトのデフォルトレベルです。同じドメイン名とプロトコルセキュリティを持つページ単位でサイトのページのフレーム化を許可します。
- すべてのページでフレーム化を許可しない (最大保護): 最大のセキュリティレベルですが、このオプションにより特定のページが空白ページとして表示される可能性があります。この問題を回避するには、代わりにデフォルトの設定を使用します。
- 変更内容を保存します。
-
外部ドメインでサイトページのフレーム化を許可するように選択した場合、各サイトのページのフレーム化を信頼するドメインを指定します。
- Salesforce Classic の [設定] から、[クイック検索] ボックスに「サイト」と入力し、[サイト] を選択します。
- サイトの表示ラベルをクリックして、[サイトの詳細] ページを開きます。
-
[インラインフレームの信頼済みドメイン] セクションで [信頼済みドメインを追加] をクリックし、iframe を許可するドメインを入力します。
512 ドメインまで追加できます。
インフラストラクチャによっては、HTTP ヘッダーの最大サイズが制限されます。複数のドメインでサイトページをフレーム化できるようにする場合は、CSP ヘッダーのサイズを 12 KB 未満に抑えます。ヘッダーサイズが 16 KB に近づくと Salesforce のお客様から問題が報告され、サードパーティが処理中にヘッダーを追加することがよくあります。
ヒント 追加されたドメインは、[外部ドメイン上でサイトページのフレーム化を許可 (適切な保護)] が選択されている場合にのみ有効です。
sameorigin、deny (なし)、allowall、および allow-from uri をサポートします。特に、allow-from uri では 1 つの URI のみを使用できます。IE ユーザーのリストをサポートするには、iframe タグでクエリパラメーターを渡して、サイトドメインでサイトのフレーム化自体を識別する必要があります。たとえば、https://www.example.com を信頼済み外部ドメインとして追加するときに、サイトの URL が https://MyDomainName.my.site.com の場合、https://www.example.com のページの iframe を次のように作成します。
<iframe src="https://MyDomainName.my.site.com?_iframeDomain=https://www.example.com"></iframe>iframeDomain Cookie で信頼済み外部ドメインを設定することもできます。このメソッドは、IE でページ間を移動するときに _iframeDomain URL 変数が保存されていない場合に iframe を許可します。
Cookie iframeDomainCookie = ApexPages.currentPage().getCookies().get('iframeDomain');
if (iframeDomainCookie == null) {
iframeDomainCookie = new Cookie('iframeDomain','www.example.com');
// Set the new cookie for the page
ApexPages.currentPage().setCookies(new Cookie[]{iframeDomainCookie});
}

