Скрипт редиректа с изменением реферера... Возможно ли?..

Schumi

Новичок
Скрипт редиректа с изменением реферера... Возможно ли?..

Допустим такую ситуацию...

Человек на site1.com нажимает на ссылку, которая ведет на site3.com... Мне необходимо, чтобы браузер клиента пришел на site3.com с referer=site2.com

Доступ есть к site1, site2...

Варианты...
1. На site2 делаем redir.php, который формирует 302 Found. (То-же самое с 301 и 307)...
В этом случае браузер сохраняет реферер... :(
Т.е.
1.1. К site2/redirect.php идет запрос с реферером site1
1.2. К site3 идет запрос с реферером site1

2. Использование Меты....
В этом случае реферер пропадает...
т.е.
1.1. К site2/redirect.php идет запрос с реферером site1
1.2. К site3 идет запрос без реферера.

3. Использование javascript window.location =
Всё тоже самое, как и в пункте2. Ркферер теряется...

4. Использование <frameset rows="100%"><frame src="site3.com"></frameset>
В данном случае всё получится так, как необходимо мне.. т.е.
1.1. К site2/redirect.php идет запрос с реферером site1
1.2. К site3 идет запрос с реферером site2/redirect.php

Но в строке адреса браузера будет site2/redirect.php, вместо site3... Что не очень хорошо...


Как реализовать мою задумку?... Возможно ли?...

Спасибо!
 

Schumi

Новичок
Учет статистики по реферерам.. Для удобоваримой статистики по реферерам на site3..

Но что-то мне кажется, что такое вряд-ли возможно сделать.. :-(
 

dimagolov

Новичок
подделка реферера на стороне клиента в лучшем случае дает его отсутствие
 

Schumi

Новичок
Но 4м пунктом можно же подделать реферер так, чтоб он был таким, каким нам нужен... Т.е. загрузив site3 во фрейме на весь экран... Но в данном случае адрес будет гореть странички с фреймсетом...
 

dimagolov

Новичок
4-й пункт это не подделка, это просто фреймы. с фреймами можно еще играться по-разному, но добиться желаемого результата - перехода странички именно site1 (top) на 3 с реферером с 2 не выйдет, из-за ограничений cross-site scripting
 

Schumi

Новичок
Понятненько.. Спасибо, в общем! Я так и думал :)

А о "с фреймами можно еще играться по-разному" можно чутку подробнее?..
 

dimagolov

Новичок
ну была глупая идея засунуть в страницу site1 iframe с site2 в котором ссылка на site3. все класно, только проблема в том, что при переходе на site3 никак размер фрейма не поменяешь, да и url в броузере останется на site1.

а что мешает открыть страничку с site2, на которой средствами JS не менять location, а сделать click на ссылку на site3 ?
 

Schumi

Новичок
О-о-о-о-о....
Блин...
Сейчас попробую.... :)

-~{}~ 16.06.08 23:57:

В IE и в Опере удалось сделать изящно...
С FireFox'ом бьюсь еще... Там events не совсем по спецификации :)

Спасибо! :)
 

Schumi

Новичок
Нет..
anchor_obj.fireEvent('onclick'); не работает!

И такая конструкция в FireFox тоже не пашет:

function fireEvent(obj,evt){
var fireOnThis = obj;
if( document.createEvent ) {
var evObj = document.createEvent('MouseEvents');
evObj.initEvent( evt, true, false );
fireOnThis.dispatchEvent(evObj);
} else if( document.createEventObject ) {
fireOnThis.fireEvent('on'+evt);
}
}
fireEvent(document.getElementById('lnk'),'click')


Просто anchor_obj.click(); пашет в ИЕ и Опере и не пашет в Firefox...

Чудеса... Порыл в гугле - у многих такое :)
 

dimagolov

Новичок
Schumi, а если evObj.initEvent( evt, 1, 1); ? и что не пашет? не нажимается ссылка, или не вызывается событие (то есть не вызывается обработчик события прицепленный через aObj.addEventListener('click', aFunc, false); ) ?
 
Сверху