diff -urN ../htmllint.orig/htmllint.cgi ./htmllint.cgi
--- ../htmllint.orig/htmllint.cgi Sun May 4 00:30:00 2014
+++ ./htmllint.cgi Fri May 9 01:15:00 2014
@@ -140,6 +140,16 @@
}
}
+# HEADなどの無意味なHTTPメソッドを制限する
+# 他サイトへの攻撃の踏み台としてHEADを悪用するケースがあったので
+if ($cgi->request_method !~ /^(GET|POST)$/o) {
+ # (rfc2616 10.4.6 & 14.7)
+ print(qq|Status: 405 Method Not Allowed\x0D\x0A|,
+ qq|Allow: GET, POST\x0D\x0A|,
+ qq|Content-Type: text/html\x0D\x0A\x0D\x0A|);
+ &Exit;
+}
+
if ($cgi->param('Method') =~ /^(?:Data|File)$/oi) {
$RURL = $IRI = $URL = '';
} else {