静的ファイルに対する余計なQUERY_STRINGを排除する


http://blog.livedoor.jp/kensuu/archives/50351508.html

http://www.keishicho.metro.tokyo.jp/index3.htm?/oshirase/kintama/

http://www.encount.net/rettou/2_2687.php


こんなことがあって、まぁWeb業界の人間なら見たらすぐ判断できるとおもうけど、一般の人はだまされるかもしれない。

それ以前に、このリソースの本当のURLがこれなのかどうかは、他のURLをしらべてみないとわからない。

AddType application/x-httpd-php .htm

みたいなことをしてて、QUERY_STRINGでどの記事を表示するか切り分けてたりするのかもしれないし(GIGAZINE みたいなダサいURL風)。

悪意のあるURLを作成できるっていうのは、やられたほうは結構いやだ。

PermaLinkの観点からもよくないので、対処する方法。

RewriteEngine On
RewriteCond %{QUERY_STRING} ^.+$
RewriteRule ^(.*)\.html$ $1.html? [R,L]

htmlファイルへのアクセスにQUERY_STRINGがついてたらQUERY_STRINGなしのURLにリダイレクト。
Not Foundにしてもいいかもしれない。


QUERY_STRINGを絶対に使わない完全に静的なサイトなら、

RewriteEngine On
RewriteCond %{QUERY_STRING} ^.+$
RewriteRule ^(.*)$ $1? [R,L]

でもいいかな。