0

これに関するほとんどすべての投稿を読んでいますが、私の手順が脆弱かどうかを判断できませんでしたか? どんな助けでも大歓迎です。

1)プロシージャを次のように呼び出す:

$query = ($is_mine?'call dispatch.dis_get_my_assigned_tasks("'.$username.'");'

手順 :

CREATE DEFINER=`test`@`localhost` PROCEDURE `dis_get_all_assigned_tasks`()
BEGIN    
    select distinct at_id, at_issues, at_location, at_room_number, user_fname, 
        from dispatch.dis_assigned_tasks 
        left outer join dispatch.dis_users 
        on user_id  = at_user
    order by at_location, at_user_pickup_timestamp  desc; 
END

2) 次のようにプロシージャを呼び出します。

$query = "call dispatch.dis_get_user_info('".$username."');";

手順 :

CREATE DEFINER=`test`@`localhost` PROCEDURE `dis_get_user_info`(IN username VARCHAR(45))
BEGIN    
    select * from dispatch.dis_users where user_username = username;
END
4

1 に答える 1

0

プロシージャは SQL インジェクションに対して脆弱ではありませんがクエリは脆弱です。

SQL インジェクションを防止 (および学習) するには、参照用の質問を参照してください。

「これに関するほぼすべての投稿」について、トピックを十分にカバーしていないように見えるとあなたは読んだと言います。教育を受けるには、より良い教材を選択することをお勧めします。

于 2013-08-28T19:31:03.813 に答える