DjangoのCSRF対策は1行追加するだけみたい

DjangoのCSRF対策について調べてみました。

なんと設定ファイルのMIDDLEWARE_CLASSESにこれを1行追加するだけでした。

'django.contrib.csrf.middleware.CsrfMiddleware'

これだけで、フォームに隠しフィールドを追加して、正しいフォームからPOSTされた値かどうかを自動的にチェックしてくれます。

GooglebotがAjaxなPOSTを実行しているという噂

GoogleBot Runs AJAX? より

212.36.25.102 - - [06/Dec/2006:17:00:50 +0000] "POST /suggest.cfm HTTP/1.1" 200 232
"-" "Googlebot/2.1 (+http://www.googlebot.com/bot.html)"

Pete Freitag's Homepage によると、GooglebotがAjaxなスクリプトを実行しているらしい。しかも、ログを見る限り、XmlHttpRequestでPOSTしているとのこと。

真偽のほどは不明だけれども、近い将来、そんなBotが出現してもおかしくはないと思う。

ちょっと早いけど来年の抱負

def generate(ideas):
    yield results
resultsが未定義なのは気にしない方向で。
この1行目と2行目の間を考えるのが、本当に僕のやるべきことなのだから…

Python Workshop 04

溝の口で開催されたPython Workshop 04に参加してきました。50人近くも集まり、しかもそのほとんどの人が懇親会にも参加して大盛況でした。

Django and AJAX 中居さん

  • ドキュメントが充実している → 増田さんのおかげ
  • 欠点: マルチDBが使えない, Ajaxは自分で用意する
  • pytst
  • jQuery, YUI

Take me out to the PyCon 柴田さん

  • ダラスで年1回 参加料$250
  • 前日に有料のチュートリアルがある
  • スプリント
  • 2007.2.23-25
  • 1週間
  • 航空券10万,宿泊4万,参加費3万
  • 要英語力、根性、図太い神経

pymixi 瀬戸口さん

  • 大谷さん HTMLParser / SimpelHTMLDOM
  • BeautifulSoup で書き直し
  • SourceForgeでプロジェクト登録

プログラムコンテスト 稲葉さん

  • アルゴリズムクイズの問題を作っている
  • Pythonのここがイイ
  • デコレータ(キャッシング/メモ化)
  • 速い(Psyco x86の機械語にJITコンパイル, 10x to 100x speed up) → 行列の掛け算で8倍
  • 標準ライブラリRandom(getstate/setstate, sample/shuffle)

BeautifulSoup 高浜さん

  • invalid HTMLでもOK
  • findが強力
  • BeautifulStoneSoup → XML

あいまいさを許すか許さないか

会社で使っているMac Bookなんだけど、最近、FirefoxでWebページを表示するのに数秒かかるようになってしまった。どうもDNSのLookupが遅いみたいで、1つのページを表示するにしても別のドメインから画像データを取ってくるところで、いちいち処理が詰まっているような動きだった。

しばらくlookupdのキャッシュをクリアしたり、Firefoxの同時接続コネクション数を変えたり、いろいろ試行錯誤してみたけど改善されなくて困っていた。結局、何のことはない、開発合宿に行った時に設定したDNSサーバが存在しないネットワークを指していたのが原因だったのだけど、この一件でひとつ考えさせられることがあった。

それは「あいまいさを許すか許さないか」ということ。今回のDNSサーバの設定が間違っていた件だけど、もし完全に名前解決ができなければすぐに問題に気づいたはず。遅いながらも問題なく利用できてしまったために、なかなか原因を突き止めることができなかった。別の分かりやすい例で言うと、某Officeソフトウェアのヘルプキャラクタがそうかもしれない。中途半端な親切は単なるおせっかいでしかないのか、こちらが欲している回答に到達するのを邪魔されているような気がしてならない。

人間同士でも意思の疎通は難しい。相手が考えていることを本当に理解し始めたとき、そこから新しい何かが生まれるのかもしれない…

# 僕は本当に相手に伝わっているか心配なので、"しし落とし ししおどし"の如く繰り返し言ってしまうようだ。

2006/12/07追記:
「誤:しし落とし → 正:ししおどし」だという指摘をして頂きました。ありがとうございます。
今までずっと、"しし落とし"だと思ってた…

http://ja.wikipedia.org/wiki/%E3%81%97%E3%81%97%E3%81%8A%E3%81%A9%E3%81%97