WEBでの*.phpの検索

今のところWEBでGET方式のPHPでも日本語引数がそのまま使える(CGIでは使えない)。
この場合、直接の引数がShift_JISになるのは当然だが、そのページ内で使われている画像の呼び出しの部分ではUTF-8になっている。
この変換はPHPが自動的に行なっているようである(推測)。

まず、次のような呼び出しをする。
<a href="javascript:void(0)" onclick="func('datafile','ヘーゲル')">ヘーゲル</a>
参考
123.45.678.90 - - [14/Jul/2019:18:20:30 +0900] "GET ***.php?folder=datafile&keyword=\x83w\x81[\x83Q\x83\x8b HTTP/1.1" 200 13867 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
これはShift_JISである(SJISのファイルから呼び出しているから当然)。
123.45.678.90 - - [14/Jul/2019:18:20:31 +0900] "GET kw.gif HTTP/1.1" 200 129 "http://www.mermaid-tavern.com/***.php?folder=datafile&keyword=%E3%83%98%E3%83%BC%E3%82%B2%E3%83%AB" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
これはUTF-8である。
123.45.678.90 - - [14/Jul/2019:18:20:31 +0900] "GET hr.gif HTTP/1.1" 200 49 "http://www.mermaid-tavern.com/***.php?folder=datafile&keyword=%E3%83%98%E3%83%BC%E3%82%B2%E3%83%AB" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
これはUTF-8である。
その後に次のような呼び出しをする。
<a href="javascript:void(0)" onclick="func('datafile','アリストテレス')">アリストテレス</a>
ログファイルは以下の部分だけになる。
参考
123.45.678.90 - - [14/Jul/2019:18:23:16 +0900] "GET ***.php?folder=datafile&keyword=\x83A\x83\x8a\x83X\x83g\x83e\x83\x8c\x83X HTTP/1.1" 200 4990 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
これはShift_JISである。
これはたぶん「kw.gif」「hr.gif」がキャッシュされているために、その再呼び出しが回避されたということであろう(推測)。

- 2019/07/17 -