クリックジャッキングを防ぐために、選択したドメインでのみページをフレーミングできるように、フレームキラー スクリプトを作成しました。フレームキラー コード:
<style id="antiClickjack">
body {
display: none !important;
}
</style>
<script>
if (top.length > 0)
{
if (self.location == top.location) {
alert("same");
var antiClickjack = document.getElementById("antiClickjack");
antiClickjack.parentNode.removeChild(antiClickjack);
}
else if (self.location.hostname == top.location.hostname || self.location.hostname.toString() == "www.TrustedSite1.com" || self.location.hostname.toString() == "www.TrustedSite2.com")
{
var antiClickjack = document.getElementById("antiClickjack");
antiClickjack.parentNode.removeChild(antiClickjack);
}
else
{
top.location.replace(self.location);
}
}
else
{
var antiClickjack = document.getElementById("antiClickjack");
antiClickjack.parentNode.removeChild(antiClickjack);
}
</script>
ただし、最新のブラウザはSAME ORIGIN POLICYに従って、他の Web サイト (信頼できる Web サイト) でフレームキラー スクリプトを実行できないようにします。
私の質問は、「同じオリジン ポリシーをバイパスして、別のドメインでフレームキラー スクリプトを実行する方法」です。
ありがとうございました。