奇特なブログ

「殊勝に値する行いや心掛け」を意味する、奇特な人になる為のブログです

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

自作フレームワーク:custom_exception.php

注意:
本プログラムは、
いわゆる徳丸本に書かれているセキュリティ対策の多くは反映してます。
しかし、高難易度の攻撃に耐えられる程の対策は出来ていないと思います。
本プログラムの流用は自由ですが、流用によって生じた損害については、
自己責任でお願いしてますので、その旨ご了承下さい。


自作フレームワークのトップページに戻る



<?php

/**
* 拡張例外クラス
*
* 独自機能を実装
*
* @access public
* @create 2010/08/12
* @version 1.0
*/
class custom_exception extends Exception
{

/**
* コンストラクタ
*
* @access public
* @param string $message 例外メッセージ
* @param int $code 例外コード
*/
public function __construct($message, $code)
{
parent::__construct($message, $code);
}

/**
* 設定ファイルクラスインスタンス設定
*
* @access public
* @param config $config 設定ファイルクラスインスタンス
*/
public function set_config($config)
{
$this->config = $config;
}

/**
* 設定ファイルクラスインスタンス取得
*
* @access protected
* @return config 設定ファイルクラスインスタンス
*/
protected function get_config()
{
return $this->config;
}

/**
* ログ書き込みを行う
*
* @access public
*/
public function write_log()
{
// リファラーがセットされていれば取得
$referer = isset($_SERVER['HTTP_REFERER'])? $_SERVER['HTTP_REFERER'] : '';
// ログに書き込む文字列を生成
// 優先度中:getTraceAsString()は文字切れして表示されてしまう?要調査&改善
$error_string = date('Y/m/d H:i:s') . ' ' . $this->getFile() . '(' . $this->getLine() . ') ' . $this->getCode() . ' ' . $this->getMessage() . "\n" . $this->getTraceAsString() . "\n" . 'Referer = ' . $referer . "\n";
// ログに書き込む
file_put_contents($this->get_config()->get_base_path() . 'log/' . date('Ymd') . '.log', $error_string, FILE_APPEND);
}

/**
* 設定ファイルクラスインスタンス
*
* @access private
*/
private $config;
}



スポンサーサイト

テーマ:日記 - ジャンル:日記

  1. 2010/08/12(木) 17:10:23|
  2. 自作プログラム
  3. | トラックバック:0
  4. | コメント:0
<<自作フレームワーク:custom_smarty.php | ホーム | 自作フレームワーク:controller.php>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://kitoku1.blog129.fc2.com/tb.php/20-2645e152
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。