在处理会话时我们是否必须使用mysql_real_escape_string()?

Moh*_*eri 1 php mysql session mysql-real-escape-string

请看下面的代码:

$username = $_POST['username'];
$_SESSION['user_name'] = $username;
Run Code Online (Sandbox Code Playgroud)

mysql_real_escape_string()我在设定$username值时是否必须使用功能?如果不这样做,这里有任何威胁吗?

注意:我想使用MySQL时使用PDO.

dec*_*eze 5

不,你不需要以任何方式逃避它.如果要将文本与某些字符可能具有特殊含义的其他文本连接,则只需要转义文本.请参阅伟大的逃避现实(或者:您需要知道如何处理文本中的文本).

  • @Moh在必要之前不要逃避数据!是的,你可能有数据,如果在SQL查询中天真地使用,将导致SQL注入.但这并不意味着你必须在将它存储在会话中时将其转义,因为它在那里没有任何伤害.必要时逃跑,不久,不迟.如果您正在使用PDO准备好的语句,则根本不需要转义. (2认同)