setRequestHeader を使用してCookieヘッダーを設定できないのはなぜだろうと思っていました。特定の理由があるのでしょうか、それとも単にブラウザ自体によって追加されたために、これらのヘッダーが無効になっているのでしょうか? セキュリティ上の問題はありますか?
- 編集
私はnode.jsに取り組んでおり、xmlhttprequest
モジュールを使用しました。以下はテストコードです。
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.withCredentials = true;
xhr.setRequestHeader('Cookie', "key=value");
xhr.send(null);
ここでは、cookie-header をnode.js' xmlhttprequest
明示的に追加しないように (ブラウザーが行うように)、cookie-header を設定する必要があります。そうしようとすると、xmlhttprequest
エラー " Refused to set unsafe header
" が発生します。
パッチを見つけて、Cookie ヘッダーを正常に送信できましたが。しかし、なぜ Cookie ヘッダーの設定が無効になっているのか疑問に思っていましたか? どこを読んでも、データの整合性とセキュリティのために必要であることがわかりましたが、この場合にどのようなセキュリティが侵害される可能性があるかについてはどこにも言及されていません。このデータ整合性の問題が node.js アプリケーションにも適用されるかどうかを評価したいと思います。