Google+ +1ウィジェットはIFRAMEからどのように脱出しますか?
-
26-10-2019 - |
解決
Google +1ウィジェットはです あなたのウェブサイトで実行されるJavaScript それは構築されています iframe
. 。このJavaScriptウィジェットはあなたのウェブサイトのコンテキスト内で実行されているため、 IFRAMEの原点継承ルール. 。したがって、このJavaScriptウィジェットは、単純であるように見えても、親サイトで必要なDOMイベントを設定できます iframe
.
別のことは、なぜGoogleを使用しているのか iframe
?なぜ生成してみませんか div
ページに?リンクはから発生するためです iframe
, 、CSRF(クロスサイトリクエスト偽造)トークンをリクエストに埋め込むことができ、親サイトはこのトークンを読み取ってリクエストを偽造できません。だから iframe
は、悪意のある親から自分自身を保護するために、起源相続ルールに依存する抗CSRF尺度です。
攻撃の観点からは、これはui-redressよりもXSS(クロスサイトスクリプト)に似ています。あなたはあなたのウェブサイトにGoogleにアクセスできるようにしています、そして彼らはあなたのユーザーのクッキーをハイジャックしたり、パフォーマンスしたりすることができます XmlHttpRequests
彼らがそうするならあなたのウェブサイトに対して(しかし、人々は悪意があり裕福であると彼らを訴えるでしょう)。
この状況では、Googleを信頼しなければなりませんが、Googleはあなたを信頼していません。
他のヒント
GoogleはIFRAMEを使用して、「漏れやすい標準DIV」を防止します。彼らの閉鎖ライブラリダイアログは同じことをします。おそらく、他のコンテンツが+1ボタンに出血できないようにすることです。 http://closue-library.googlecode.com/svn/trunk/closure/goog/demos/dialog.html.