mysql_real_escape_string() para variáveis $_SESSION necessárias?
-
22-09-2019 - |
Pergunta
Devo usar o mysql_real_escape_string()
função em minhas consultas MySQL para $_SESSION
variáveis?Teoricamente, o $_SESSION
variáveis não podem ser modificadas pelo usuário final, ao contrário $_GET
ou $_POST
variáveis, certo?
Obrigado :)
Solução
Independentemente de o usuário poder modificar os dados, você provavelmente desejará escapar deles de qualquer maneira, caso precise que os dados contenham caracteres que quebrariam o SQL (aspas, etc.).
Melhor ainda, use parâmetros vinculados e você não precisará se preocupar com isso.
Outras dicas
Não escape/cite/codifique o texto até chegar ao ponto onde você precisa dele.As representações internas devem ser tão “cruas” quanto possível.
Você mesmo pode responder à pergunta seguindo esta linha de raciocínio:
O valor em $_SESSION originou-se da entrada do usuário?
Se sim, já foi higienizado?
Teoricamente, as variáveis $_SESSION não podem ser modificadas pelo usuário final
Não, mas os dados devem ter vindo de algum lugar.
Você deve escapar de qualquer saída do PHP, usando o método apropriado para o destino no ponto em que ele sai do PHP.
C.