AaronH
AaronH

Reputation: 47

How can I make it so no one can put my iWeb site in an iframe?

If anyone knows, I would like to make it so no one can put my iWeb site in an iframe? How do I make my pages automatically break out of iframes?

Upvotes: 1

Views: 79

Answers (2)

Psytronic
Psytronic

Reputation: 6113

There is also a http header X-Frame-Origin as specified here, that you can put into the server response, which will block the browser from rendering the iframe at all, if set to SAMEORIGIN.

However it's a browser dependant solution (as in the browser will have to support the header to respect its value), but nicer than JS trickery IMO.

Upvotes: 1

Jason Sperske
Jason Sperske

Reputation: 30436

This answer applies to this question as well:

This code will work if it is placed in the HTML that is referenced inside an iframe. The way it works is it looks at top (the page you requested that includes an iframe) and self the page inside the iframe. If there are different then it changes the top.location to match the URL of the iframe.

Here is some ASCII to help understand this

|----[OuterPage.html]------|
|                          |
|    |--[InnerPage.html]-| |
|    |                   | |
|    | top !== self      | |
|    |                   | |
|    |-------------------| |
|                          |
| top === self             |
|                          |
|--------------------------|

If you request InnerPage.html by itself (not in an iframe) then top === self will evaluate to true, however if you request the same page inside an iframe then the same condition will evaluate as false.

Upvotes: 2

Related Questions