パラメータインジェクション対策
ASPシステムで予約された引数のIDがアクセス可能であるか全ページ実装する必要があったので。
<?php protected function is_enable_id() { /* * ターゲットリスト * html_element_name => target_method_name */ $target_id_elements = array( "a_id" => "ebanble_a_id", "b_id" => "ebanble_b_id", "c_id" => "ebanble_c_id", ); foreach( $target_id_elements as $key => $func_name) { //引数がない場合は実施しない $id = $_REQUEST[$key]; if( $id == "" ){ continue; } if( ! $func_name( $id ) ){ return false; } } return true; } function ebanble_a_id($a_id){} function ebanble_b_id($a_id){} function ebanble_c_id($a_id){}
でこれをメインルーチンに組み込む。
予想の斜め上で予約されたID以外を使用されていると、
$target_id_elements = array( "a_id" => "ebanble_a_id", "b_id" => "ebanble_b_id", "c_id" => "ebanble_c_id", /* + "add_id" => "ebanble_add_id", */
と追加していく