サーバマシンまた新調しまして。今度はCore i7ですよ奥さん! ていうか更新3年ぶりですよ!
近況とか。
- 最近はTwitterに出没してます。
- iPhone 4買いました。WILLCOMとはお別れの予定です。10年使ってたんですけどね。
サーバマシンまた新調しまして。今度はCore i7ですよ奥さん! ていうか更新3年ぶりですよ!
近況とか。
WASF Times版「サニタイズ言うな!」 by 高木浩光@自宅の日記 に 終わりなきサニタイズ言うなキャンペーン というトラックバックがついている。
このエントリを読むとエスケープという処理が如何に理解されていないか、ということが見えてくる。
「テキスト」として表示される情報は表示された時点で役目を終えますが、<input>や<textarea>の情報はサーバに返ってくるものなので、変更せずに返された場合は可能な限り元の情報と同じとなるようなエスケープ処理を施したい。
サーバに帰ってくるデータは、ブラウザ (ユーザエージェント) がHTMLを解釈し、アンエスケープした後のデータである。例を出そう。
| HTML: |
<form action="/some/where" method="get"> <input type="text" name="foo" value="ABC"> <input type="text" name="bar" value="ABC"> </form> |
| 結果: | GET /some/where?foo=ABC&bar=ABC HTTP/1.1 |
| HTML: |
<a href="/some/where?foo=ABC&bar=ABC">blah blah</a> |
| 結果: | GET /some/where?foo=ABC&bar=ABC HTTP/1.1 |
HTMLエスケープはたかだか、出力したHTMLを解釈する時点において効果を発揮するに過ぎない。HTMLパーサはエスケープを入力時に正しくアンエスケープする (データ入力時のアンエスケープ行為)。ユーザエージェントが出力する際に、アンエスケープ後のデータを出力するメソッド (フォームの場合はURLエンコードパーセントエンコーディング) で正しくエスケープする。
鳩丸ご意見番 – URI の中に & を書くべからず も参考にして欲しい (この記事も若干誤解を招くタイトルだが)。
OpenVPN を使ってLAN同士を繋ぐ、いわゆる拠点間VPNを作る。やり方を忘れないためのメモエントリー。
拠点間VPNなので、
いつもいつも忘れてしまうのでメモエントリー。
SMTP, POP3, IMAP4, あとOpenVPNに使いたいので、第四種オレオレ認証局 を立ち上げて証明書を発行する。ユーザーは俺しか居ない。