{"id":254,"date":"2012-09-18T09:09:30","date_gmt":"2012-09-18T09:09:30","guid":{"rendered":"http:\/\/www.w3.org\/community\/forum\/?p=254"},"modified":"2012-09-18T09:09:30","modified_gmt":"2012-09-18T09:09:30","slug":"referer-http-request-header-unable-to-identify-the-originating-page-with-nested-iframes","status":"publish","type":"post","link":"https:\/\/www.w3.org\/community\/forum\/2012\/09\/18\/referer-http-request-header-unable-to-identify-the-originating-page-with-nested-iframes\/","title":{"rendered":"Referer http request header &#8211; unable to identify the originating page with nested iframes"},"content":{"rendered":"<p>Hi,<\/p>\n<p>Display advertisements mostly gets served thru iframes. \u00a0Per comScore study [1], 61% of iframed ads are delivered via cross-domain or unfriendly nested iframes[3]. \u00a0Due to the complex chain of online ad delivery thru ad networks and exchanges, it is not always clear where an ad will appear. But it is important for advertisers to know where their ad is being served<\/p>\n<p>Publisher\u2019s adapt iframes to serve display ads to<\/p>\n<ol>\n<li>Play safe \u2013 protect the publisher page<\/li>\n<li>Hide things that are not legitimate business practices \u2013 categorized as \u2018not brand safe\u2019 by comScore due to [2]<\/li>\n<\/ol>\n<p>In order to safeguard guanine publishers (case 1) and to not to serve the ads in \u2018not brand safe\u2019 sites (case 2), I was exploring various options:<\/p>\n<p>One approach could be to, introduce a additional http request header say \u2018root-referer\u2019 which carries the value of actual page\u2019s URI.<\/p>\n<p>This would solve the display advertising industry\u2019s problem to large extent.<\/p>\n<p>It would be nice to get this added into the http request header list? or other approach is to enhance &#8216;Referer&#8217; to include both caller URI and the root URI.<\/p>\n<p>Thanks<\/p>\n<p>Bhaskar<\/p>\n<p>[1] (<a href=\"http:\/\/www.comscore.com\/Press_Events\/Presentations_Whitepapers\/2012\/Changing_How_the_World_Sees_Digital_Advertising\" target=\"_blank\" rel=\"nofollow\">http:\/\/www.comscore.com\/Press_Events\/Presentations_Whitepapers\/2012\/Changing_How_the_World_Sees_Digital_Advertising<\/a>)<\/p>\n<p>[2] piracy and copyright theft, child abuse, phishing, fraud, hate speech, nudity etc<\/p>\n<p>[3]<\/p>\n<p>In a webpage kat.ph, there is a iframe that refers to http:\/\/optimized.by.vitalads.net\/serve\/9ef7452f573faa349de1726463a9b756\/?type=2<\/p>\n<p>And optimized.by.vitalads.net makes the actual ad call to ad.yieldmanager.com like this:<br \/>\nhttp:\/\/ad.yieldmanager.com\/st?ad_type=iframe&#038;ad_size=160&#215;600&#038;section=1618910&#038;pub_url=<\/p>\n<p>with following http request headers:<br \/>\nHost\u00a0\u00a0 \u00a0ad.yieldmanager.com<br \/>\nReferer\u00a0\u00a0 \u00a0http:\/\/optimized.by.vitalads.net\/serve\/9ef7452f573faa349de1726463a9b756\/?type=2<\/p>\n<p>here,\u00a0 ad.yeildmanager.com doesn&#8217;t know on which page the ad is going to get served(kat.ph). So, browser need to either include it as part of &#8216;Referer&#8217; or introduce new header say Root-Referer to contain kat.ph.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hi, Display advertisements mostly gets served thru iframes. \u00a0Per comScore study [1], 61% of iframed ads are delivered via cross-domain or unfriendly nested iframes[3]. \u00a0Due to the complex chain of online ad delivery thru ad networks and exchanges, it is &hellip; <a href=\"https:\/\/www.w3.org\/community\/forum\/2012\/09\/18\/referer-http-request-header-unable-to-identify-the-originating-page-with-nested-iframes\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3030,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-254","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.w3.org\/community\/forum\/wp-json\/wp\/v2\/posts\/254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.w3.org\/community\/forum\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.w3.org\/community\/forum\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.w3.org\/community\/forum\/wp-json\/wp\/v2\/users\/3030"}],"replies":[{"embeddable":true,"href":"https:\/\/www.w3.org\/community\/forum\/wp-json\/wp\/v2\/comments?post=254"}],"version-history":[{"count":3,"href":"https:\/\/www.w3.org\/community\/forum\/wp-json\/wp\/v2\/posts\/254\/revisions"}],"predecessor-version":[{"id":257,"href":"https:\/\/www.w3.org\/community\/forum\/wp-json\/wp\/v2\/posts\/254\/revisions\/257"}],"wp:attachment":[{"href":"https:\/\/www.w3.org\/community\/forum\/wp-json\/wp\/v2\/media?parent=254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.w3.org\/community\/forum\/wp-json\/wp\/v2\/categories?post=254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.w3.org\/community\/forum\/wp-json\/wp\/v2\/tags?post=254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}