Apacheの話
Apache 1.3.34, 2.0.55くらいから、TRACEメソッドに対する設定が追加されています
TraceEnable タグがありますが、別段気にせず使っていたので
いまさら、改まって、確認してみた
Apache#traceenable
TraceEnable Off にし
# vi /etc/httpd/conf/httpd.conf TraceEnable Off
telnetで確認してみると
# telnet localhost 80 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. TRACE / HTTP/1.1 HOST: localhost HTTP/1.1 405 Method Not Allowed Date: Sat, 01 Feb 2014 16:15:58 GMT Server: Apache/2.2.15 (CentOS) Allow: Content-Length: 298 Connection: close Content-Type: text/html; charset=iso-8859-1
405が返ってくる
今までは、リダイレクト等で対処していた方が多いと思います また、TraceEnableタグを利用するようになってからも習慣的に設定していました。
RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|OPTIONS) RewriteRule .* - [F]
その場合、両方の設定を行うと、リダイレクトが処理しクライアントに応答します
# telnet localhost 80 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. TRACE / HTTP/1.1 HOAT: localhost HTTP/1.1 400 Bad Request Date: Sat, 01 Feb 2014 16:17:21 GMT Server: Apache/2.2.15 (CentOS) Content-Length: 303 Connection: close Content-Type: text/html; charset=iso-8859-1
400で返ってきた
気分的には400応答のほうがよさそうな気がするが
ここはHTTPのプロトコルルールにのっとって
HTTP-Studing
TraceEnableタグが応答を返すよう
リダイレクト設定からは除外しておく。
鶴長 鎮一
技術評論社
売り上げランキング: 30,984
技術評論社
売り上げランキング: 30,984
0 コメント:
コメントを投稿