亜細亜ノ蛾 - Weblog

[SiteSearch Google]

January 15, 2007

ディレクトリ配下のファイルすべてに PHP スクリプトを適用する方法

[ad]

『PHP サイバーテロの技法──』より

PHPサイバーテロの技法―攻撃と防御の実際から、まだまだネタを引っ張ります。この本からはネタがいくらでも引き出せます。良書ですね。

ただ、あまりセキュリティ関連の情報を引用すると、この本の購読者が減るかも知れないので、抑えておきます。Web アプリケーションのセキュリティに関心がある人は PEAK XOOPS Support&Experiment - XOOPS site for my test and support を熟読しましょう。

ということで、今回は軽いネタ。

「.htaccess に一行書くだけで、ディレクトリ配下の PHP ファイルすべてに同じ PHP スクリプトを適用できる」

すべてのファイルに「条件付きGET」

ちょうど、小粋空間: PHP ファイルアクセスによるサーバ負荷を削減する という記事がありました。百億万回読むに値する「条件付きGET」のススメ - Ogawa::Memoranda を判りやすく検証しています。

MT などのいわゆる「ブログツール」は「テンプレート」という仕組みがあります。一度テンプレートに記述した (X)HTML や PHP スクリプトなどは、そのテンプレートから生成されるファイルすべてに適用されます。上記の「条件付き GET」も同様に、必要なテンプレートに記述すればいいわけです。

さて、ブログツールが作ったわけではない PHP ファイルが、あるディレクトリに 100 個あるとして、そのすべてに「条件付き GET」のスクリプトを適用したい場合は、どうすればいいでしょうか? (注 : その場合は、別の方法で「条件付き GET」が適用できそうですが、まぁ、空気を読んで見逃してください)

テキストエディタの置換機能を使う? 何かスクリプトを組む?

──それもいいですが、もっと簡単な方法があります。

あったか .htaccess に混ぜるだけ!

実は、.htaccess ファイルに

php_value auto_prepend_file "/path_to/hoge.php"

と一行書くだけで、ディレクトリ配下の PHP ファイルが読み込まれる際に、自動的に /path_to/hoge.php が実行されます。「え、マジで?」 ──マジで。ということで「条件付き GET」の部分だけ記述した hoge.php を用意するだけです。

──えっと、うん。たぶん、もの凄い常識というか、パフォーマンス的にどうなん? という感じですが、ちょっと感動。

php.ini が変更できなくても

常識ついでに──PHP の設定は“php.ini”に書くのが通常ですが、レンタルサーバでは変更できないことが多いです。でも実は、.htaccess に書いて設定することもできますよ(ただし変更できない設定もあり)。

ref.: 【 ほでなすPHP 】 PHPのインストール -> 「.htaccess」ファイルでの設定

「register_globals問題」が気になる人は、.htaccess に下記を記述することを検討してもいいでしょう。

php_flag register_globals Off

ref.: register_globalsとは - はてなダイアリー

(例によってよく解らないまま書いてます)

Google Adsense

コメント

コメントを投稿

"ディレクトリ配下のファイルすべてに PHP スクリプトを適用する方法" にコメントを投稿することができます(別ウィンドウが開きます)。

トラックバック

このエントリーのトラックバックURL:

"ディレクトリ配下のファイルすべてに PHP スクリプトを適用する方法"へのトラックバックはまだありません。

過去の記事

カテゴリィ一覧
  1. Movable Type
  2. その他
    1. アイデア
  3. ウェブ
    1. Weblog
    2. Webデザイン
    3. ちょっとイイ話
    4. へぇー(トリビア・雑学)
    5. オモロ
      1. オモロテキスト
      2. オモロニュース
      3. オモロ動画
      4. オモロ画像
    6. ニュース
  4. コンピュータ・エレクトロニクス
    1. PC
      1. Firefox
  5. マンガ・アニメ・ゲーム
    1. アニメ
      1. 新世紀エヴァンゲリオン
    2. オタク
    3. ゲーム
    4. マンガ
      1. 週刊少年ジャンプ
        1. DEATH NOTE
        2. HUNTER×HUNTER
        3. SKET DANCE
  6. 本・音楽・映画・TV
    1. TV・芸能
    2. 映画
  7. 食・健康・生活
    1. ファッション
    2. 食べ物