暗号化または復号に失敗した場合、戻り値の連想配列のdetailには
F:Pdel.php(1625)decrypt error(session hijack check error)
のようにエラー分類1桁:詳細情報形式の文字列が設定されます。先頭1桁のエラー分類は、認識されたエラー事象を分類したコードです。(上記例の詳細情報は、当コンテンツ作成時点のPDELが出力したものであり、正式版PDELとは異なる可能性があります。)
エラー分類 エラー事象 考えられる原因
A パラメータエラー PDELを使用するアプリケーションのバグ
B マップファイル定義関連エラー マップファイルの定義ミスまたは環境構築ミス
C レシピファイル定義関連エラー レシピファイルの定義ミスまたは環境構築ミス
D セッション・ハイジャック・チェック用キー項目エラー 想定外ブラウザ・中継サーバ使用
E 暗号化時エラー 暗号化時のエラー(PDELを使用するアプリケーションのバグ。現状、固定長暗号化で暗号可能最大バイト数を超えた情報の暗号化でのみ発生。発生する・しないがランダムなため、ここに分類)
F 復号時エラー(セッション・ハイジャック・チェックエラー) 悪意のある第三者による攻撃
G 復号時のエラー(認証情報B日時情報不正) 悪意のある第三者による攻撃
H 復号時のエラー(有効期限超過) 有効期限超過後の復号
I 復号時のエラー(その他) 暗号化時と異なる環境での復号
J マスクルール定義ファイル関連エラー マスクルール定義ファイルの定義ミスまたは環境構築ミス
Z その他のエラー その他のエラー(内部文字エンコーディングがASCII互換文字コードでない、PHPやOSが正しくインストールされていない、システムクラッシュ等)
   PDELには「オーバーライドを前提にしたエラー処理関数」が実装されています。 PDEL本体を継承するラッパークラスを作成し、ラッパークラス内でエラー処理関数をオーバーライドすれば、 お好みのエラー処理が実装できます。(例えばエラー分類のD・F・Gはセキュリティ上、問題がありそうなので 運用監視対象のエラーとしてログ出力を行い、Hは仕様の見直しにつながる可能性があるので運用監視対象外の情報としてログ出力を行う等。)
オーバーライドを前提にしたエラー処理関数
void ___error_proc(array $a_ret , string $s_recipe_name)
第1引数:PDELが処理結果として返す連想配列
第2引数:レシピ名
戻り値:なし