タグ

ブックマーク / d.hatena.ne.jp/p4life (2)

  • すごいリロード対策 - p4lifeのメモ

    メモ, PHPPHP TIPS】 58. すごいリロード対策紹介されているのはシンプルなワンタイムトークン.単純なリロード対策であれば ticket の値は乱数でなくても良い.ここを乱数にすることで CSRF 対策も兼ねている.ただこの方法は,場合によってはフォームを正常に送信できなくなってしまう問題がある. 例えば,入力画面→入力確認画面と遷移してから別のウィンドウで入力画面→入力確認画面と遷移すると,前の入力確認画面のフォームは ticket が無効になり,フォームを送信できなくなる(複数画面同時編集ができない). 解決策としては,発行したトークンを全て記憶しておき,POST されたトークンと照合する方法がある. confirm.php session_start(); $token = sha1(uniqid(mt_rand(), true)); // トークンをセッションに追加す

    suttang
    suttang 2008/05/14
    発行したワンタイムトークンを全て記憶しておく
  • Processing.jsで魚の群れシミュレーション - p4lifeのメモ

    Mozilla の John Resig さんが作った Processing.js をさっそく試してみました.プログラムのネタは今ホッテントリになっている「ほぼ日刊イトイ新聞 - がんばれ森川くんの遺伝子くん」の「群れの知能」に書いてある Boid(birdoid, Bird android)です. Boid は鳥や魚の群れの振る舞いを再現するアルゴリズムで,次の基的なルールからなります.◆ルール1:近くの鳥たちと飛ぶスピードや方向を合わせようとすること◆ルール2:鳥たちが多くいる方へ向かって飛ぶこと◆ルール3:近くの鳥や物体に近づきすぎたら、ぶつからないように離れることhttp://www.1101.com/morikawa/2001-06-25.html群れの中の各個体をこのような単純なルールに従わせるだけで,一見複雑な動きを簡単にそれらしく再現することができます. 「群れの知能」を

    suttang
    suttang 2008/05/12
    Processing.js >数値シミュレーションや 3D をするには数学関数やベクトルのサポートがかなり弱い
  • 1