タグ: mod_rewrite

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[mod_rewrite] URLにヌル文字が混ざると書き換えに失敗する

たまたま見つけたのでメモ。

mod_rewriteを使ってるサイトにアクセスするときに、

http://example.com/%00

みたいな感じにヌル文字をURLに含めると、なぜか404 Not Foundが返ってきてしまう。ネットで検索しても全然情報が見つからないんだけど、これって常識だったりするのかな?

再現方法

↓のようなindex.txtと.htaccessをサーバーの適当なディレクトリに置く。

index.txt
helloworld
.htaccess
RewriteEngine on
RewriteRule .* index.txt

このように設定すれば、どのようなURLでこのディレクトリにアクセスしても、単にhelloworldと出力されるだけなはずで、実際にその通りになる。でも、URLに%00を含めると↓の画面。

Object not found!

WinXP + XAMPPで走っているローカル環境でもこの現象は起きたし、XREA.COMのサーバーでも起きた。

なんなんだろう、これ。null文字で挙動が変わると、インジェクション攻撃されるんじゃないかと若干不安になるんだが。

スポンサーサイト

[PHP][mod_rewrite]ユーザーエージェントでPCとケータイを判別

HTTP_USER_AGENTの文字列を判断して、PCからのアクセスなのかケータイからのアクセスなのかを判別するというのは、広く使われているテクニック。

例えばDoCoMoのケータイならば、ユーザーエージェントの先頭に必ずDoCoMoの文字列が入ることになっているから、それを見てドコモのケータイだと判断すればよい。

先ほど、各キャリアのユーザーエージェントを調べたのでメモ。

続きを読む

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。