ユーザー入力を使用して SQL LIKE を使用してデータをフィルター処理する単純なシナリオでは、注意が必要な特殊文字はありますか?
$input = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
// Should I strip characters like '%'?
$sth = $db->prepare("SELECT `id` FROM `names` WHERE `name` LIKE :name");
$sth->execute(['name' => $input . '%']);
私は、クエリを劇的に遅くしたり、CPU を消費したりして、悪意のある目的に使用される可能性のあるものすべてを指しています。