Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XMLHttpRequest referrer and iframe

Page A contains javascripts function executing XMLHttpRequest. Page A loads page B in iframe. Page B executes parent.makeRequest() function which in turn executes the XHR request. I expect the referrer/origin of the XHR request to be page B, however it is page A. Is there any way to fix this?

like image 476
Gajus Avatar asked Feb 24 '23 07:02

Gajus


1 Answers

You cannot control the value of the Referer header.

Some HTTP headers can be adjusted when making XHR requests using the setRequestHeader method. However, the Referer header is specifically excepted. From the specifications:

The above headers [including Referer] are controlled by the user agent to let it control those aspects of transport. This guarantees data integrity to some extent.

You could, however, set a custom header. For instance, you could use X-Referer, if this suits your application:

xhr.setRequestHeader('X-Referer', location.href);
like image 110
lonesomeday Avatar answered Feb 26 '23 22:02

lonesomeday