Что это значит? (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;
}
|
Сделать заголовок безопасным можно, не добавляя атрибуты Content-length и Connection.
Сообщение об отказе использования атрибута при формировании заголовка консоль выдает, если атрибут потенциально опасен. Подобные атрибуты могут быть использованы при атаке типа HRS (HTTP Request Smuggling), т.е. при контрабанде HTTP-запросов. Поэтому современные браузеры не включают в заголовок такие атрибуты при ручном формировании, а добавляют их автоматически, используя собственные настройки. Например, длину пересылаемого значения Content-length браузер определяет сам по размеру данных, передаваемых функции send(). И, как бы там ни было, это лишь сообщение консоли о том, что атрибут отклонен, запрос все равно отсылается. |
Сегодня сталкнулся с такой же ошибкой. Благодарствую за помощь:thanks:
|
| Часовой пояс GMT +3, время: 13:30. |