HTTP/1.1 200 OK Content-Length: 238 Content-Type: text/html X-Download-Options: noopen Content-Disposition: attachment; filename=untrustedfile.html
[3] 類似した機能として、 IE6 で DownloadOptions
が既に存在していました。
IE では、ファイルをローカルに(明示的に)保存することなく開くという機能があります。ダウンロードリンクをクリックすると出てくるダイアログの「開く」ボタンを押下したときに働く機能ですね。
実はこの機能でファイルを開いた場合、そのファイルの内容はダウンロード元のウェブサイトのコンテキストで実行されるらしいです。悪意のあるスクリプトなんかをこの方法で開いてしまうと、インジェクションなんかが可能になるってことですね。 これを防ぐためのレスポンスヘッダが存在していて、それが
X-Download-Options: noopen
というレスポンスヘッダです。このヘッダをレスポンスに付与しておくと、ユーザは当該のファイルを直接「開く」ことができなくなり、明示的にローカルにダウンロードする他なくなります。
X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Strict-Transport-Security: value Referrer-Policy: value X-Permitted-Cross-Domain-Policies: value X-Download-Options: value Accept-Ranges: bytes X-Via-JSL: badc901,- Cache-Control: max-age=10800 Expires: Fri, 23 May 2025 13:58:40 GMT X-Cache: miss