2005-07-11 [長年日記]
_ dev.ishinao.net: PEAR XML-RPCの脆弱性について (20:05)
質問があったらしいんで、一応回答を載せておきます。書籍のサンプルや配布アーカイブでは特に影響ありません。ただ、サンプルを参考にXML-RPCライブラリを使ったアプリケーションを実装している場合は、pear upgrade XML-RPCしておいた方がいいでしょう。とかいいつつ、うちではアップデートで問題が出てごまかしているわけだけど。
_ 人によってパーマリンクが異なるシステム (21:40)
すげーくだらないことを思いついたんで、書いておこう。パーマリンクが人によって違うシステムならば、ディープリンクによる言及ができなくなる。
具体的には、エントリーID + '_' + md5(エントリーID + ランダムCookie)なんてものが、その人(ブラウザ環境)向けのパーマリンクになる。ランダムCookieは初回アクセス時に長期間Cookieとして発効したランダムなID(要はRURIコードね)。
そのURLにアクセスがあったら、最初の_でsplitして取り出したエントリーIDと、Cookieから取り出したIDを使ってmd5チェックして、マッチしないと内容を表示しない。
でもふつうに、記事インデックスとかにアクセスすれば、その環境向けの正しいURLが表示され、リンクをたどると中身が表示される。ランダムCookieが維持されている間は、そのURLはその人にとっては有効なパーマリンクとして働く。
ランダムCookieの代わりに、HTTP_USER_AGENTとかREMOTE_ADDRとか使ってもそれなりにいけるけど、人ごとの重複しにくさと、同一条件を維持できる期間の長さを考えると、Cookieが一番妥当なやり方だろうな。
公開はしたいけれども、あまりリンクや言及はされたくない、といったコンテンツを管理するようなサービスで使ってみたらどうでしょう。いやがらせレベルの対策だけど、運用してみたら実用レベルではそこそこいけるかもよ。
実際問題として、パーマリンクがないコンテンツは、内容が良くても言及されにくい、という現状があるわけだし。
『[Web技術][リンク] 人によってパーマリンクが異なるシステム』は一発くだらなネタのつもりだったんだけど、思いのほか反響があったんで、実際に動くサンプルを作ってみた。やっつけだけど、実際に動いた方が雰囲気が出るよね。 最初にアクセスするとCookieに発効し、そ..


