タグ

ブックマーク / kaede.to/~canada (2)

  • おさかなラボ - vimにPerlとPHPの辞書を登録するぞ

    vimはCtrl+pで直近の単語を補完してくれるが、関数なんかも補完してくれると便利だ。しかしなんかしらんけど辞書は自分で用意しなきゃならんらしい。そのノウハウを公開する。なおvim7持ってる人はomni completeというもっと便利な機能があるらしい(ただしPerlは未対応か。詳細は末尾に記載)。 下準備 ~/.vim/以下にdictを掘っておく。~/.vim/dict/でいい。ほんとはどこでもいいんだけど分かりやすいからそこにしちゃおうよ。 PHPの場合 まずphpの辞書を作ってみよう。phpは全関数を出力する機能があるらしいのでそれを使う。この方法、ネタ元があったのだが分からなくなった。ごめん。 まず辞書ファイルを作る。場所はどうでもいいんだが、~/.vim/dictに辞書ファイルを集めることにしてしまおう。 php -r '$f=get_defined_functi

  • おさかなラボ - クロスサイトリクエストフォージェリ対策

    過去の議論はこちら 一般的に言われている対策と実際の有効性についてはこちら 一般にCSRFはセッションの利用に伴う脆弱性なのだから、予測不能な文字列を生成してhiddenとセッション内(PHPセッションの場合$_SESSION内)に入れておき、完了画面でこの2つを照会する方法が簡便で堅牢だと考えられる。(要はセッションを使ったワンタイムトークン方式)。 この対策だけでも充分だが、hiddenを横取りされた場合に発生する脆弱性に備え、Cookieでも比較を行う。 実際のコード // 確認画面 session_start(); (認証など略) $uniq_id = md5(uniqid(rand(),1)); // 推測不可能な文字列を生成 $_SESSION['uniq_id'] = $uniq_id; // セッションに保存 setcookie('uniq_id',

  • 1