Полезная информация

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№122-09-2009 03:03:24

Kos
Участник
 
Группа: Members
Зарегистрирован: 06-09-2009
Сообщений: 5
UA: Opera 9.6

Баян, подмена реферера.

Всем привет. Необходимо подменить реферер, запрос не кроссдоменный. Ajax не позволяет изменять referer, хотя погуглил и на многих форумах пишут, что можно. Интересуют любые мысли, чем можно реализовать.

Отсутствует

 

№227-09-2009 16:37:02

be@ver
Участник
 
Группа: Members
Зарегистрирован: 21-09-2009
Сообщений: 15
UA: Firefox 3.5

Re: Баян, подмена реферера.

Проверено на 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

работает :)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]