タグ

codereadingに関するshimookaのブックマーク (9)

  • GitHub - igorw/IgorwFileServeBundle: Symfony2 Bundle for serving protected files.

    shimooka
    shimooka 2012/06/12
    configuration treeの例。DependencyInjection/Configuration.phpでデフォルト値を設定している
  • CVE-2011-3192 Range header DoS vulnerability Apache 1.3/2.x の更に続き - LowPriority

    気になって調べてたら細かくなってしまったのでエントリ分離。 コンテンツサイズ依存やPoCの独特な区間指定の謎が気になった人向けです。 対策や概要だけで良い方は前々回のエントリをご覧ください。 CVE-2011-3192 Range header DoS vulnerability Apache HTTPD 1.3/2.x http://d.hatena.ne.jp/nice20/20110825/p1 まず最も誤解されそうな点として、今回のプロセス肥大化はコンテンツサイズ やレスポンスサイズに比例する訳ではありません。 元となるコンテンツに要求した区間を満たす程度のサイズは必要ですが、 一定以上は大きくても変わらない結果になります。 コンテンツサイズとプロセスサイズの関係についてはこちらにまとまっています。 1300bytes付近に壁があるのがよく分かると思います。 Apache kill

    CVE-2011-3192 Range header DoS vulnerability Apache 1.3/2.x の更に続き - LowPriority
  • Androidソースコード検索サービス - Developer Collaboration Project

    ポーティング職人さん、アプリをゴリゴリ作っている職人さんから「もっとAndroidのソースを簡単に見られるしかけがないかなー」という声がありましたので、ブラウザ上からOHA版Androidのソース一式を検索出来る検索エンジンを公開しています。 「https://search.siprop.org/」の次の文字列が対応バージョンになっています。 https://search.siprop.org/android-2.2_r1.1/ https://search.siprop.org/android-2.3_r1.0/ https://search.siprop.org/android-2.3.7_r1.0/ https://search.siprop.org/android-4.0.1_r1.0/ https://search.siprop.org/android-4.0.3_r1.0/ h

    Androidソースコード検索サービス - Developer Collaboration Project
  • clearstatcache()のはなし - おぎろぐはてブロ

    前々回、前回のrealpath cacheの話は実のところこの話の前振り。(なんだけど、前振りの方が長くて役立つ。 clearstatcache()を叩くと、realpath cacheもクリアされるよというのが前回までの話なのですが、clearstatcache()の関数リファレンスにはこのように説明が書かれています。 void clearstatcache( void ) stat やlstat、またはその他の関数(後述)を使用すると、PHPはパフォーマンス向上のために それらの関数の戻り値をキャッシュします。しかし、ケースによっては、 キャッシュされた情報を消去したい場合もあるでしょう。例えば、一つのスクリプト上で同じファイルが何度もチェックされ、そのファイルが変更されたり削除されたりする可能性がある場合、ステータスキャッシュを消去しなければならないと感じるでしょう。 このようなケー

    clearstatcache()のはなし - おぎろぐはてブロ
  • PHP5.1から実装されたrealpath cacheについて(2) - その動きと影響を受ける関数 - おぎろぐはてブロ

    前回に引き続き、realpath cacheについてのはなしです。どうキャッシュされるのか、動きを追っかけてみたいと思います。 (前回と同じく、コードは5.2.6をベースにしています) たとえば、こんな感じのコードのとき。 <?php $filename = "/var/www/data.txt"; $data = file_get_contents($filename); ?> 相対パスだと、 <?php $filename = "data.txt"; // 第2引数がtrueだと相対パス時にinclude_pathを走査する $data = file_get_contents($filename, true); ?> ファイルアクセスの前段にはstream wrapper 実際にコードを読む人のために補足しておくと(いねーよ)、PHPでファイルアクセスを伴う関数の多くは、ファイル実体に

    PHP5.1から実装されたrealpath cacheについて(2) - その動きと影響を受ける関数 - おぎろぐはてブロ
  • PHP5.1から実装されたrealpath cacheについて(1) - 概要と、デフォルトのキャッシュサイズが小さめというはなし - おぎろぐはてブロ

    PHP5.1から、パフォーマンス対策として、realpath cacheというものが導入されています。 PHPがファイルを開く際(実行ファイル体から、include/require、fopenなど基的には全てのファイルアクセスが対象)に、open_basedirの検証や、include_pathの探索のために、realpath(3)を呼び出し、その中でstat(2)を大量に呼び出しており、ファイルをたくさん扱う場合には、結構ボトルネックとなっていました。(realpathとは正規化された絶対パス名を返すもので、パス中のシンボリックリンクをすべて展開する関数です) ここらへんの実際の動きについては前に書いてます。 include_pathを探しにstat()を呼びまくるのを眺める - おぎろぐはてな Yahoo!では、このキャッシュがなかったころ(PHP4の時代)、realpathを呼び

    PHP5.1から実装されたrealpath cacheについて(1) - 概要と、デフォルトのキャッシュサイズが小さめというはなし - おぎろぐはてブロ
  • [ソフトウェア] (いまさら)MyISAMのマルチカラムインデックス構造 カイハツニッキ(2008-01-24)

    _ [ソフトウェア] (いまさら)MyISAMのマルチカラムインデックス構造 MyISAM(というかMySQL)といえばマルチカラムインデックスです(インデックス1つしか使えないしー)。マルチカラムインデックスのメリットと制限については複合インデックスに書いてあって、その構造については インデックス化されたカラムの値を連結することによって生成された値が含まれ、ソート化された配列と見なすことができます と書いてあります。となると多分、 mysql> SHOW CREATE TABLE foo\G *************************** 1. row *************************** Table: foo Create Table: CREATE TABLE `foo` ( `a` int(11) default NULL, `b` int(11) def

  • [Webプログラマのための]速習コードリーディング — ありえるえりあ

    [Webプログラマのための]速習コードリーディング WEB+DB PRESS vol35 (2006年10月) 特別企画[Webプログラマのための]速習コードリーディングの原稿です。 コードブログの派生です。 https://www.codeblog.org/blog/inoue/ 前節の概論を踏まえて,Apacheのソースコードの読み方のコツを具体的に説明します.参照するソースは,執筆時点のApache2.2系の最新版の2.2.3です.また特に断りが無い限り,Unix系OSを前提にします.また,UnixのコマンドはGNU製ツールを使います. ソースコードの取得とビルド Apacheのソースコードを取得して,ビルドしてみましょう.バイナリファイルではなくソースコードを読むのだからビルドなんて必要無いと思うかもしれません.もちろん,ビルド作業はソースコードを読むための必須の作業ではありません

  • はじめてのカーネル・ソース---目次:ITpro

    なかなかハードルが高く,多くの人が踏み出せないでいるカーネルのソース・コードの読解。連載では,今までカーネル・ソースなんて見たことがないという人に,読みこなすコツをお教えします。 カーネルのコンパイル方法については,関連記事「やってみると意外に簡単!? Linuxカーネル・コンパイル入門」をお読みください。 また,カーネル・パラメータの項目については,関連記事「「Linuxカーネルの設定パラメータ」」で公開しています。 第1回 どうしたら読めるようになるのか 第2回 C言語とライブラリの初歩 第3回 カーネル・ソース内のシステム・コールを確認する 第4回 カーネルが構造体を好むワケ 第5回 デバイス・ドライバとモジュール 第6回 構造体に「関数」を登録する 第7回 ネットワーク処理はモジュール処理と上下が逆 第8回 データに意味付けするキャスティング手法 第9回 機能拡張でよく使われる共

    はじめてのカーネル・ソース---目次:ITpro
  • 1