What characters are NOT escaped with a mysqli prepared statement?

前端 未结 4 1798
独厮守ぢ
独厮守ぢ 2021-01-20 00:47

I\'m trying to harden some of my PHP code and use mysqli prepared statements to better validate user input and prevent injection attacks.

I switched away from mysql

4条回答
  •  执笔经年
    2021-01-20 01:07

    % is not an inherently harmful character.

    The question is: why are you using a LIKE in the first place? Are there any circumstances in which you wouldn't require an exact match for username?

    The query should be simply:

    SELECT `salt` FROM admins WHERE `username` = ? LIMIT 1
    

    In that case, if I were to enter %bsmith my username would have to be (literally) "%bsmith" in order for you to find a match.

提交回复
热议问题