Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
mysql_real_escape_string ou uma função Anti_injection?
Para que criar funções com str_replace(), preg_replace(), strip_tags(), addslashes(), eregi_replace(), preg_match(), etc
SE EXISTE UMA NO MYSQL QUE RESOLVE?
ENTÃO, A PERGUNTA QUE NÃO QUER CALAR:
Function Anti_SQL_Injection ou mysql_real_escape_string?,
Valeu pessoal.
O mysqli também tem: mysqli_real_escape_string , os demais eu não conheço.
No entanto, para quem usa mysql, não basta essa função?
Valeu.
Suponho que sim
=]
Nesse caso, basta instanciar as variáveis por ela?
Quem já usou essa função?
Valeu pessoal!
>
Nesse caso, basta instanciar as variáveis por ela?
Quem já usou essa função?
Valeu pessoal!
Eu já usei, porem troquei por mysql_escape_string()
e prefiro o uso de funções, até mesmo porque se precisar editar tenho a função em um arquivo único de configuração do sistema "config" ;)
Valeu WDuarte,
Mas a documentação do php diz que a função mysql_escape_string está depreciada:
>
Descrição
string mysql_escape_string ( string $unescaped_string )
This function will escape the unescaped_string , so that it is safe to place it in a mysql_query(). This function is deprecated.
This function is identical to mysql_real_escape_string() except that mysql_real_escape_string() takes a connection handler and escapes the string according to the current character set. mysql_escape_string() does not take a connection argument and does not respect the current charset setting.
Entretanto, como você usava a função? Você simplesmente fazia uma chamada a ela antes de inserir no db?
Até mais pessoal.
Opá eai
Na função primeiro verifico se get_magic_quotes_gpc() existe!
Senão, cai na mysql_escape_string mas isso vai acontecer no php6
mas preste atenção aqui
This function will escape the unescaped_string , so that it is safe to place it in a mysql_query().
Mas em todo caso mysql_real_escape_string da erro em meu server e não consegui descobri o porque!!!
...e chamo a função antes de inserir no bd, não faz sentido usar depois ai já é tratamento de dados
http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif
Uma coisa que não entendi é porque tem que fazer a verificação com a get_magic_quotes_gpc se os valores são passados por um formulário? No caso de strings via form essa verificação não é necessária, ou precisa?
Vou fazer uns testes para ver como mysql_real_escape_string trabalha, pois no meu caso, as informações que envio ao db são sempre via form.
Quanto a fazer funções e inserir nos scripts, essa é a portabilidade delas. É preciso analizar o que será melhor, qual a aplicabilidade de cada parte do código para não ter que alterar "trocentos" arquivos.
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Uma coisa que não entendi é porque tem que fazer a verificação com a get_magic_quotes_gpc se os valores são passados por um formulário? No caso de strings via form essa verificação não é necessária, ou precisa?
a partir do php 5.1 magic_quotes_gpc vem desativado por padrão por questões de performance.
magic_quotes_gpc serve para escapar de caracters especiais automaticamente para todo tido de envio de dados via GPC (GET, POST, COOKIE)
não faz sentido manter sempre ativo pois o escape de caracteres será utilizado em casos específicos como exibição literal de caracteres, inserções em banco dados e outros operações delicadas.
a partir do php 5.1 magic_quotes_gpc vem desativado por padrão por questões de performance.
Ah, agora entendi, obrigado pela resposta hinom! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
oracle, mysqli, ifxsql, MSSQL, firebird.
existe uma função assim em todos estes?