Solved

How to limit access of external url iframe to a specific parent url

Posted on 2010-11-10
9
1,385 Views
Last Modified: 2012-05-10
Hello

Is it possible to determine the url of the opening parent for an external url iframe.

We want to only allow the iframe to be populates from within a specific site.

cheers
stu
0
Comment
Question by:stucal
9 Comments
 
LVL 12

Expert Comment

by:pigmentarts
Comment Utility
Not that I know of from within the iFrame, however you could easly just post the URL into the iframe
for example


<cfset parent = #cgi.server_name##cgi.script_name#?#cgi.query_string#>



<iframe src ="index.cfm?parentURL=#parent#" >



</iframe>

Open in new window

0
 

Author Comment

by:stucal
Comment Utility
That wont really help we are trying in effect to secure the execution of the iframe content to one site, this would allow running from anywhere as the parent is avaiabale in the source of the parent site.

I suppose it cant be done.
0
 
LVL 12

Accepted Solution

by:
pigmentarts earned 250 total points
Comment Utility
if you have access to the page with the iframe on then it's a simply process of detecting the page and choosing to not show the contents of the iframe (but the iframe will still be loaded).

However if you only have the iframe and don't have access nor know who the parent page is, then its already executed by the time the iframe loads, and you would need JavaScript. It 100% doable in JS

you can tell if you are being framed with javascript.  for example within your iframe you could get the parent url

parent.location.href


0
 

Author Comment

by:stucal
Comment Utility
The iframe is on an external domain, will parent.location.href show the calling domain even if its differnt to the iframe source?
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 12

Expert Comment

by:pigmentarts
Comment Utility
It should do, it will be called client side
0
 
LVL 20

Expert Comment

by:Proculopsis
Comment Utility

I'm not sure if I've got this right but surely all you need to do is validate #CGI.HTTP_REFERER# within the iframe cfm and make sure the domain is approved.
0
 
LVL 12

Expert Comment

by:pigmentarts
Comment Utility
Have not tried it in an iframe, my guess is that it would not work as it's called within the iframe.

I perosnally keep away from CGI.HTTP_REFERER not all clients will send the refering address and you will block genuine users who have set high seurity setting or have a firewall like Zone Alarm running etc.
0
 
LVL 4

Expert Comment

by:docnica
Comment Utility
why not putting the iframe inside a cfif? I don´t really undestand what your are trying to do. I recently had to pass a PCI certification so we had to deal with a lot of issues like that, if you explain more I may be able to help.
0
 

Author Closing Comment

by:stucal
Comment Utility
We did not go for an iframe in the end, but this seemed to be the most likely solution
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now