Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Что это значит? (Refused to set unsafe header) (https://javascript.ru/forum/css-html-browser/11400-chto-ehto-znachit-refused-set-unsafe-header.html)

mat_ppc 21.08.2010 22:01

Что это значит? (Refused to set unsafe header)
 
Решил отправить POST запрос вместе с запущенной консолью javaScript из Google Chrome 5.0.375.127, и мне там две ошибки.. такие:

Refused to set unsafe header "Content-length"
Refused to set unsafe header "Connection"

Вобщем если перевсти, то это отказ на создание небезопасных заголовков... а как зделать иx безопасными? Ведь при отключенной консоли, всё проходит.

Вот моя POST функция:

function sendPostRequest(phpFile, text, _id, getRequestProc, _pid)
{
    _pid   || (_pid = false);

    id =_id;
    pageId = _pid;
        
   
    httpRequest.open('post', phpFile, true);
	httpRequest.onreadystatechange = getRequestProc;
    httpRequest.setRequestHeader("Content-Charset", "UTF-8"); 
    httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    httpRequest.setRequestHeader("Content-length", text.length);
    httpRequest.setRequestHeader("Connection", "close");
    httpRequest.send(text);

    return true;
}

Copter 14.03.2011 15:34

Сделать заголовок безопасным можно, не добавляя атрибуты Content-length и Connection.
Сообщение об отказе использования атрибута при формировании заголовка консоль выдает, если атрибут потенциально опасен. Подобные атрибуты могут быть использованы при атаке типа HRS (HTTP Request Smuggling), т.е. при контрабанде HTTP-запросов. Поэтому современные браузеры не включают в заголовок такие атрибуты при ручном формировании, а добавляют их автоматически, используя собственные настройки.
Например, длину пересылаемого значения Content-length браузер определяет сам по размеру данных, передаваемых функции send().

И, как бы там ни было, это лишь сообщение консоли о том, что атрибут отклонен, запрос все равно отсылается.

EvgenPERM 09.04.2015 05:49

Сегодня сталкнулся с такой же ошибкой. Благодарствую за помощь:thanks:


Часовой пояс GMT +3, время: 16:28.