Jump to content
Fórum Script Brasil
  • 0

Não Permitir Aspas


misterviralata
 Share

Question

Ola amigos!

estou usando este codigo contra codigo maliciosos:

///função contra codigos maliciosos //

function anti_injection($sql) {

// remove palavras que contenham sintaxe sql

$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);

$sql = trim($sql);//limpa espaços vazio

$sql = strip_tags($sql);//tira tags html e php

$sql = addslashes($sql);//Adiciona barras invertidas a uma string

return $sql;

}

Gostaria de saber se da para proibir que o usuario use aspas no campo texto, pois o meu banco não faz consulta quando entra alguma palavra com aspa (ex. Escola municipal "Reino Unido"), tem como proibir as aspas?

obrigado!

----

pessoal aindo to procurando uma maneira de proibir que o usuario digite aspas e encontrei este script

$x = $_POST['teste'];

if (eregi("(\"|\'|\/|OR|\=)+", $x)){

echo "<script>alert('Não é permitido o uso de caracteres estranhos como \"\" (aspas) = + etc... ');history.back(-1);</script>";

}

tem como fazer para ele verificar mais de um campo tipo

$x = $_POST['teste'];

$x2 = $_POST['teste2'];

$x3 = $_POST['teste3'];

tentei assim mas não funcionou

if (eregi("(\"|\'|\/|OR|\=)+", $x, $x1, $x2)){

echo "<script>alert('Não é permitido o uso de caracteres estranhos como \"\" (aspas) = + etc... ');history.back(-1);</script>";

}

alguém pode me dar uma ajuda!

obrigado!

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

A função addslashes() já onsere barras invertidas as=ntes das aspas, mas se quiser reirá-las:

function anti_injection($sql) {

// remove palavras que contenham sintaxe sql

$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);

$sql = trim($sql);//limpa espaços vazio

$sql = strip_tags($sql);//tira tags html e php

$sql = eregi_replace ("(\"|\')", "", $sql);

$sql = addslashes($sql);//Adiciona barras invertidas a uma string

return $sql;

}

[]'s

Link to comment
Share on other sites

  • 0

MARAVILHA !!!!

OBRIGADO MUITO OBRIGADO !!!!

DEPOIS DE UM DIA INTEIRO PROCURANDO NA NET , VOCÊ RESOLVEU MEU PROBLEMA!

Da mameira que estava antes o script grava o texto no banco e não exibia na consulta a palavra que estava com aspas, agora ele grava a palavra no banco sem as aspas MARAVILHA!

mas....

só pra complicar um pouquinho tem alguma maneira de mostrar uma mensagem pro usuario, dizendo que as palavras em "" (aspas) não serão aceitas no banco, caso ele use aspas?

se não der está otimo assim

obrigado!

Link to comment
Share on other sites

  • 0

Beraldo

coloquei desta forma:

if (eregi ("(\"|\')", $_POST['campo1'])){

echo "<script>alert('O Campo1 não pode conter \" \" ');history.back(-1);</script>";

exit;

}

ficou legal, mas você sabe alguma maneira de quando o usuario clicar em ok ,na mensagem de alerta, o focus voltar ao campo 1 e não apagar o que o usuario digitou nos demais campos?

tentei asim mas não deu

echo "<script>alert('O Campo1 não pode conter \" \" ');document.validacao.campo1.focus();</script>";

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...