Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для madzal
54 / 54 / 40
Регистрация: 22.08.2014
Сообщений: 424

Избавиться от request header - referer

18.02.2016, 14:49. Показов 2432. Ответов 4

Студворк — интернет-сервис помощи студентам
Как можно избавиться от request header , а именно от referer ?
Желательно средствами javascript или GreaseMonkey .
К примеру на сайте есть тег
HTML5
1
<a href="link"</a>
Дело в том,что если перехожу по ссылке, делается get запрос с браузера на другую страницу (этого же сайта),и если передаётся request header - referer (а он передаётся) то страничка возвращает ошибку 403 .
Но если я просто копирую url и вставляю в браузерную строку,нажимаю enter (при этом referer не передаётся),то страничка открывается без ошибки .
В общем перепробовал много вариантов,вот некоторые из них
1 вариант - пытаюсь открыть сайт в новой вкладке
JavaScript
1
window.open("http://example.com","_blank")
2 вариант - пытаюсь перейти на пустую страницу,дабы сбросить referer,потом на сайт
JavaScript
1
2
window.location = "about:blank";
window.location = "http://example.com"
3 вариант - пытаюсь открыть новую вкладку в chrome,далее перейти по адресу
JavaScript
1
2
window.location = "chrome://newtab"; // тут хром не хочет открывать страницу (видимо какая-то защита)
window.location = "http://example.com"
4 вариант - добавляю тег meta (перезагрузка или переадресация на определенный url)
HTML5
1
<meta http-equiv="refresh" content="0; url=http://example.com/">
на js :
JavaScript
1
2
3
4
var a = document.CreateElement('meta');
a.http-equiv = "refresh";
a.content = "0; url=http://example.com/";
document.body.appendChild(a)
В общем ничего не выходит,во всех этих способах referer все равно передаётся .
Голову сломал над этим вопросом,жду ваших идей,советов как избавиться от referer ...
Заранее благодарен за ваши ответы .
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.02.2016, 14:49
Ответы с готовыми решениями:

header, location, referer проблема
такая проблема: Сайты использует &lt;img src=site2.com/yourip.gif&gt; Как на Cайт2 добиться чтобы для сайт3 referrer был пустой или...

Нестандартность request.getHeader("Referer")
request.getHeader('Referer'), по поводу его нестандартности - можно полюбопытствовать, какие броузеры его не вставляют? Опера, при...

Как назначить Request header и его значение?
Как назначить Request header и его значение? Нужно назначить именно собственное значение(AuthToken). Есть вроде способ.

4
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
18.02.2016, 14:52
Лучший ответ Сообщение было отмечено madzal как решение

Решение

Цитата Сообщение от madzal Посмотреть сообщение
Как можно избавиться от request header , а именно от referer ?
Желательно средствами javascript или GreaseMonkey .
Вряд ли. Если у какого-то из браузеров и есть такой API, это все равно не стандартно и не заработает на других.
Заголовок формируется HTTP-движком браузера, над которым у javascript нет контроля.
1
 Аватар для madzal
54 / 54 / 40
Регистрация: 22.08.2014
Сообщений: 424
18.02.2016, 14:56  [ТС]
пока временно выручает
JavaScript
1
GM_download("http://example.com","text.html");
но хотелось бы чтобы напрямую в браузере,т.к тут расширение нужно задавать,нету отображения прогресса и многого другого ...

Добавлено через 4 минуты
quwy, спасибо за быстрый ответ,но может всё таки есть какие то нестандартные пути ? допустим каким то образом сделать так,чтобы страница завершилась с ошибкой,дабы сбросить referer а потом сразу перейти на http://example.com ??
0
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
18.02.2016, 15:06
Цитата Сообщение от madzal Посмотреть сообщение
может всё таки есть какие то нестандартные пути
Вам важно именно перейти, или достаточно отобразить? Если второе, то посмотрите в сторону XMLHttpRequest, у него гораздо больше контроля над заголовками.
0
 Аватар для madzal
54 / 54 / 40
Регистрация: 22.08.2014
Сообщений: 424
18.02.2016, 19:01  [ТС]
Необходимо скачать
ну т.е по ссылке может быть только файл,ничего другого
так вот если без referer то файл успешно начинает загрузку при переходе по ссылке,а если с referer то загрузка не происходит,а открывается страничка,уведомляющая об ошибке 403 Forbidden (ОШИБКА 403 – ЗАПРЕТ ОБРАЩЕНИЙ К ФАЙЛУ/ДИРЕКТОРИИ) .
Вот по этому пока временное решение это (тут referer не передаётся,идет как отдельный запрос)
JavaScript
1
GM_download("http://example.com","файл.exe")
Но так как тут нет отображения процесса загрузки,расширение файла нужно самому указывать,не отображается размер файла и прочее то этот способ не совсем подходит,так как расширение у файла может быть любое,и хотелось чтобы пользователь видел весь процесс загрузки (при GM_download все загружается в фоне,даже не понятно загружается что то или нет) .
Про XMLHttpRequest знаю,но думаю что он здесь не совсем подходит для поставленной задачи ..
быть может как то можно сэмитировать нажатие enter через javascript ?
что то типо такого :
JavaScript
1
history.pushState(null,null,'example.com');
и потом нажать enter ?
ну это конечно велосипед,но если ничего другого больше не остаётся ...

Добавлено через 1 час 2 минуты
Кстати заметил сейчас что в браузере при ручном переходе на about:blank , а потом в url вставляя
JavaScript
1
javascript:window.location = "http://example.com"
и нажатием enter,то referer не передаётся .
Следовательно должен и работать 2-ой мой вариант из темы,а именно
JavaScript
1
2
window.location = "about:blank";
window.location = "http://example.com"
Видимо должна быть задержка,пытался делать задержку этой функцией
JavaScript
1
2
3
4
function sleep(ms) {
ms += new Date().getTime();
while (new Date() < ms){}
}
Т.е как я понял,в моем коде это должно выглядеть примерно так
JavaScript
1
2
3
window.location = "about:blank";
sleep(1000);
window.location = "http://example.com"
Но вот почему то нет перехода по about:blank , а страница тупо зависает на 1000 мс,после идет переход на http://example.com .
Кстати кто не хочет оставаться равнодушным к моей проблеме,хочет мне помочь,можете потренироваться на этом url : http://cs04.superfiles.me/tf
Он тоже работает только без referer , в противном случае выдает 403 Forbidden .
При успешном - Некорректный формат запроса: /etc/nginx/html/tf/
При не успешном - 403 Forbidden nginx/1.1.19

Добавлено через 1 час 17 минут
Только что попробовал вставить в адрессную строку
JavaScript
1
javascript:window.location = "about:blank"
И почему то ничего не произошло ... кто знает почему ?
Кто знает как можно открыть url с пустой страницей через js ?

Добавлено через 35 минут
В общем кое как нашел решение,выкладываю :
JavaScript
1
window.location = 'data:text/html,<meta http-equiv="refresh" content="0; url=http://example.com">'
При этом никакие запросы не передаются,вопрос решён .
Отдельное спасибо quwy , что откликнулся на мою проблему .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.02.2016, 19:01
Помогаю со студенческими работами здесь

Angular7 - Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response
Добрый день. Пытаюсь ваять свой первый проект на angular. В процессе появилась необходимость написать сервис для получения курсов валют....

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is pr
$scope.testsearcher = function(event){ var httpConfig = {method: 'GET', url:...

Требуется проверить вызывался ли Request.Form перед тем как вызвать Request.BinaryRead
Требуется проверить вызывался ли Request.Form перед тем как вызвать Request.BinaryRead

Request.Response ошибка 400 bad request
Добрый день! Прошу помочь с обработкой запросов в Python 2.7.11 Принимать реквест и сохранить на сервере файл из него уже...

Ошибки Synapse (HTTP/1.1 400 Bad Request / HTTP/1.1 413 Request Entity Too Large)
Добрый день. При работе с Synapse начали возникать вот такие вот две ошибки (HTTP/1.1 400 Bad Request / HTTP/1.1 413 Request Entity Too...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru