Есть сайт A. Его страницы открываются во фрейме на сайте B. При открытии сайта A на него в качестве реферера передается адрес сайта B. Можно ли как то подделать адрес сайта B на свой в реферере, т. е. подделать реферера ?
Тоже когда-то искал, пытался через JS как-то document.referrer подменить, но всё тщетно, рабочего способа так и не нашёл.
А вот есть предложения в темах продажи трафа. Траф с подменой реферера, каким образом они это делают ?
M_script, special for you. Обычная отправка GET запроса. Code: <img src="http://mail.ru" /> Теперь убираем Referer Code: <script> document.location='javascript:"<img src=http://mail.ru />"'; </script> Думаю ты понял. P.S. Проверено мной на Опере и в IE. Способ можно отлично использовать в JS-LOIC. Я задавал этот вопрос тут
noxjoker, твой способ подойдет, чтобы скрыть реферер в GET-запросе. Но он не скроет реферер при загрузке страницы: Code: <script> document.location='javascript:"<iframe src=http://site.ru />"'; </script>
Да, соглан тэг iframe как бы не крутил вечно с referer. ОФФТОП: Было б неплохо если б можно было считывать сорс страницы с тэга img.
Ситуация с реферами в нынешних браузерах довольно простая: В целом рефер передается всегда, когда браузер лезет с одного сайта на другой, либо по клику, либо за элементами страницы (img, script, css, iframe и тп). Если пользователь сам руками вбил адрес, то рефера, понятно, нет. Редиректы обрабатываются по такому принципу: редирект через HTTP заголовок на рефера не влияет. На пхп такие редиректы обычно выглядят как-то так: Code: header('Location: http://anothersite.ru/'); С другой стороны, если браузер уже начал рисовать страницу, а тут его переправили на другой сайт, то эта страница и становится новым рефером. Вариантов масса: Через meta тэги: HTML: <meta http-equiv="refresh" content="0;URL='http://site.com'"> Джаваскриптом через объект document.location Code: document.location.replace('http://site.com'); Можно автоматом кликать на ссылки: HTML: <a id='superlink' href='http://site.com'>Иди сюда</a> <script>document.getElementById('superlink').click();</script> Прим: click() работает не на всех браузерах, файрфоксу нужно отдельное приглашение А можно воспользоваться веб-формами: HTML: <form id='superform' method='post' action='http://site.com'></form> <script>document.getElementById('superform').submit();</script> К этим правилам есть одно важное исключение: при переходе с HTTPS адреса на HTTP реферер не передается вообще - не зависимо от метода. К сожалению, браузеры, особенно эсплорер, ругаются, когда на одной странице присутствуют и http, и https. Скрывать источники трафа таки способом можно, а айфремингом заниматься проблематично. С другой стороны, если рассчитывать на новое поколение браузеров с HTML5, то достаточно добавить атрибут noreferrer и всего делов: HTML: <a href="http://site.com" rel='noreferrer' > Дальше все зависит от конкретной ситуации и креативности автора. Базовый вариант: хитрый сайт А фреймит сайт Б, который редиректит, (скажем, джаваскриптом) на сайт В. Можно, конечно, тупо арендовать сервак или взять фрихостинг, а можно найти XSS уязвимость и инжектить скрипт редиректа прямо на ходу. Можно найти сайт, который сам что-то уже фреймит (специально, или от хронического XSSа), и подсунуть ему страницу, которая джаваскриптом подменяет внешний фрейм на сайт, куда льем трафик. Сайт А (не наш, чужой): HTML: <iframe src='http://siteB.com'></iframe> Сайт Б (наш): Code: top.location.href = 'http://siteС.com'; В итоге браузер отправляется на siteC.com с рефером от SiteA.com и наконец, есть всякая вэкзотика, которая зависит от особенностей браузера. На Хроме можно вот так вывернуться через протокол data: PHP: <?php $target='http://site.com'; $meta = "<meta http-equiv=\"refresh\" content=\"0;URL='$target'\">"; $url = "data:text/html;base64,".base64_encode($meta); echo "<script>document.location='$url';</script>"; ?> Если зафреймить этот скрипт и перебрасываь им хромовский траф в нужном направлении, то реферов не будет вообще. На других платформах тоже свои приколы. Примечание: Пользуйтесь заголовком X-Frame-Origin - и никто ваш сайт не зафреймит.
есть скрипт на локалхосте ну впрочем не важно где, отправляет post запрос на 1 сайт, можно ли туда в этом случаее подменить refera через hosts не вариант потому что refer и куда отправляеться запрос 1 домена, хотя не думал а о таком что можно в работу скрипта добавить изменение в хостах... подскажите опытные
Если браузер собственный, то вообще какие угодно установки можно поменять, включая и заголовки. Или я не так понял? Что требуется?