タグ

2010年7月6日のブックマーク (2件)

  • Djangoとディレクトリトラバーサル - 偏った言語信者の垂れ流し

    社内で話題になったのでまとめる。Djangoとディレクトリトラバーサルについて。検証したバージョンは1.2.1。 ユーザの入力値などを利用してファイルパスなどを生成したりする場合やファイルをアップロードさせる場合には特に注意する。 DjangoのテンプレートやストレージAPIでは、ディレクトリトラバーサルを避けるような工夫がある。 os.path.joinに注意 よくあるパターンで、 "../" がパスに入っていると、意図しないファイルを参照するようになっていないかどうか。Windowsの場合には、パスのセパレータはバックスラッシュも使えることに注意する。 危なそうな場合は、 django.utils._os.safe_join などを利用する。 >>> BASE_DIR = '/home/tokibito/templates/' >>> import os >>> os.path.joi

    Djangoとディレクトリトラバーサル - 偏った言語信者の垂れ流し
  • d.y.d. 2倍だけじゃない

    10:01 10/07/20 それでも2倍だ 先日のvectorの伸長度合いの記事に関して 当に1.5倍のほうがメモリ効率がよいのか という反応をいただきました。とても興味深い。みんな読みましょう。 自分の理解メモ: 「再利用ができるから嬉しい」等の議論をするなら、 今までに確保したメモリ (1 + r^1 + ... + r^k) のうち、 有効に使えてるメモリ r^{k-1} (バッファ拡大直後) や r^k (次のバッファ拡大直前) の割合で評価してみようじゃないかという。 まず簡単のために再利用をしない場合を考えると、この割合はそれぞれ (r-1)/r^2、 (r-1)/r になります(途中計算略)。 この利用率が最悪になる瞬間 (r-1)/r^2 を最善にしよう、 という一つの指標で考えてみると、式を微分なりなんなりしてみると r = 2 で最大(25%)となることがわかります

    showyou
    showyou 2010/07/06