2011-01-01から1ヶ月間の記事一覧

JavascriptのMath.random()でユーザートラッキングができるという話

Web

表題の件について。 地味な話ですが、javascript(というかECMAの仕様)にあるMath.random()には、乱数のシードを与える方法が無いようです。 そんなわけで、われわれ一般市民は各ブラウザが独自に実装している、謎のシードで初期化された謎のアルゴリズムで…

Jaro-Winkler距離

以前、スペルミスや「もしかして」系の機能の裏で動く技術としてわりと知られているLevenshtein距離についてちょっと書いてみました。 今回はそれと同様な用途に用いられがちなJaro-Winkler距離。 Jaro-Winkler距離というのは、Levenshtein距離同様に文字列…

バグのデータベースとか

バグトラッキングシステムをお使いの皆様方こんばんわ。 唐突ですが、失敗知識データベースってご存知でしょうか。 たしか、科学技術関連の雑多な「失敗」をデータベースとして管理公開して、 みんなで教訓を共有しようぜ!というプロジェクトだったと思いま…

json hijack、ブラウザセキュリティ、サイト側のセキュリティリテラシーとかなんとか

JSONハイジャックでよく攻撃の例として挙げられるパターンとして、 サイトAの認証Cookieを持ったマシンBが、攻撃者Cのサイトにアクセスした際、 BにAからデータをリクエストさせるという例が良くあります。 形式的にはまあ、昔々からあるお話で、通路がJSON…

URIの長さの上限とブラウザいじめ

URI(もしくはURL)の長さの上限ってどれくらいだろう? GETを多用する人やブックマークレットでありとあらゆることをやりたい人は一度は興味を持ったことかと存じます。 僕の知る限り、RFCではURL(の長さ)を規定はしていないはず。 俺責任取れないから、長…

SPACE ALC用のブックマークレット

なんてやる気のない表題なんだ。 情強の方々はSPACE ALCなんぞ使わなくても脳みそのMySQLで間に合っているのでしょうが、 僕はその辺が足りないようなのでいつもお世話になっております。 きっとALCとLSDがあれば英語についてはもういい気がします。 そんな…

DjangoでXMLRPCとかを使うとき

なんか403になるなー、と思ったら、CSRF対策をご丁寧にDjangoさんがやってくれちゃってます。 さすが、ジプシージャズの帝王は違うね。 ●対策 突貫でやるなら@csrf_exemptデコレータでOFF。 詳しくは本家本家いわく、あまりオススメの方法でないそうですが、…

Levenshtein距離とか。

某所のパズルでまさにこれを使う問題が出たので2年ぶりくらいに実装してみる。 ●レーベンシュタイン距離 2つの文字列があるとき、片方からもう片方に変換したい。 文字の置換・挿入、削除の3つの操作が可能なとき、一連の操作の最も少ない回数のこと。 Goo…