Страницы: 1
Всем привет. Необходимо подменить реферер, запрос не кроссдоменный. Ajax не позволяет изменять referer, хотя погуглил и на многих форумах пишут, что можно. Интересуют любые мысли, чем можно реализовать.
Отсутствует
Проверено на XULRunner, должно работать и в расширении для FF
var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService); observerService.addObserver(this, "http-on-modify-request", false); this.observe = function(object, string, data){ if(string = "http-on-modify-request"){ object.QueryInterface(Components.interfaces.nsIHttpChannel); var oldRef = object.getRequestHeader("Referer"); object.setRequestHeader("Referer","http://www.google.com/"+oldRef,true); } }
проверялось на вот таком вот файлике
<html> <head> </head> <body> <?php echo $_SERVER['HTTP_REFERER']; ?> <a href="?ddd=1">aa</a> </body> </html>
Первое обращение - пусто
Переход по ссылке - http://www.google.com/http://имя_сайта/
Все последующие - http://www.google.com/http://имя_сайта/?ddd=1
работает
Отсутствует
Страницы: 1