Необходимо ли экранировать параметры для хранимых процедур? - PullRequest
0 голосов
/ 09 марта 2010

Или вызов real_escape_string () в таких случаях не нужен?
/ Значение электронной почты исходит от ввода пользователя ./

function findUser($email)  
{   
    $mysqli = connectDB();  
    $email = $mysqli->real_escape_string($email);  
    $query = "CALL FindUser('{$email}')";  
    // ...  
}  

Ответы [ 2 ]

1 голос
/ 09 марта 2010

Да, вам все еще нужно избегать его, хранимая процедура так же уязвима, как и обычный запрос.

1 голос
/ 09 марта 2010

Вы просто строите динамическую строку SQL, которая содержит вызов процедуры, которую можно атаковать. Вы должны привязать параметры к процедуре, что обеспечивает некоторую защиту, если вы не используете динамический SQL в процедуре.

mysqli_stmt :: bind_param

Связанные параметры

...