つまようじ→PIEの謎→仕組み:
掲示板書き込みをサポートする仕組み:
一部掲示板に書き込むためには、Pocket IEの送信するリクエストにRefererを割り込ませ、Pocket IEの代わりに送信することが必要です。
「つまようじ」はそれをプロクシサーバ(代理サーバ)として実装しています。
このプロクシサーバには、Pocket IEからWebサーバへ、またWebサーバからPocket IEへのデータのやり取りを
仲介する役割があります。
そのデータの仲介する段階において、Refererを追加することで、掲示板への書き込みを可能にします。
ただし、完全なRefererはPocket IE本人にしか分かりません。
なので、最後に要求をしたhtmlファイルなどから推定してRefererを設定しています。
Refererの設定条件:
つまようじが行っているRefererの設定は、一番最後にリクエストが成功したURLで、
「/」で終わる(つまりindex.html)か拡張子が「html」の部類か「cgi」である時が条件となっています。
「cgi」の場合は、カウンタCGI対策のため、Content-typeがtext/htmlの時のみです。
リクエストされた段階では前回設定したRefererが環境変数として送信され、
送信後にRefererの条件と合致すれば、その場でRefererが変更されます。
このことを念頭に置いた上で、意識的にURLを叩くようにすれば、うまくRefererを設定することが
できるでしょう。また、確実にRefererを設定したい場合は、フレーム対応のページではなく、
そのURLに直接飛ぶようにしてください。
引用マークを正常に戻す仕組み:
niftyやotdの掲示板では返事を書くのに便利な機能が備わっており、「返事を書く」ボタンを押すと、
元のメッセージをマーク付きで引用してくれます。ちなみに引用マークは「> 」が一般的です。
Pocket IEは引用してくれた内容にあるこの半角スペース記号を間違って、半角?記号と捉えてしまうため、
書き込んだメッセージの引用マークは「>?」となってしまいます。
つまようじは、この間違いを推測できるかぎりの範囲で元の半角スペースへと変換します。
|