Что это значит? (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, время: 16:28. |