生成される URL がちょっとだけ長くなった。
変えたとこ
hopper でパスワード付きリンクを作ると、
http://hopper.appspot.com/h/agZob3BwZXJyDgsSB0hvcEluZm8Y2gQM
みたいな感じの URL が生成されていた。これまでは。で、後ろの長い英数字の部分が、一見ランダムっぽいけど、実は全然ランダムじゃなかった。
Google App Engine では、データベースにつっこんだデータの「キー」を文字列として取得することができる。ここでいう「キー」は、RDBMS でいうとレコードの ID みたいなもの。リファレンスに「このキー文字列は URL に含められる形式」と書いてあったので、hopper ではそのまま URL に入れたんだけど。
キーは実質連番でふられてくので、キー文字列もある程度推測ができてしまう。hopper のように「データを隠したい」場合には、そのまま出すべきじゃなかった。セッション ID が推測可能な場合と同じようなものだ。
なので今後は、乱数を後ろにつけ足して、
http://hopper.appspot.com/h/agZob3BwZXJyDgsSB0hvcEluZm8Y2gQM-3e347483
みたいな感じに変更。