Ir para conteúdo
Fórum Script Brasil
  • 0

Expressões Comuns


mbleonardo

Pergunta

Olha o que eu encontrei num livro de php, numa parte que está falando de expressoes comuns e como validar um e-mail:

if(!ereg('([a-z0-9_]|\.|\-|\_)+@([a-z0-9_]|\.|\-|\_)+[a-z]{2,4}$',$email)){echo 'invalido';}else{echo 'valido';}

Eu não entendi porque aquele '_' está ali, alguém poderia me explicar? Qual é a diferença de colocar apenas [a-z0-9] ?

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Isso é por causa dos emails aceitarem o tal do "_"... eles só aceitam letras e números sem acento e o underline "_"... por isso o progamador incluiu ele na validação...

De qualquer forma eu acho que validar e-mail é uma besteira...não tem como saber se o e-mail que o usuário informou é válido...

Dá pra colocar coisas como "teste@teste.com" que vai validar sem problemas, por isso eu nem me dou ao trabalho de colocar nos meus scripts... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Isso é por causa dos emails aceitarem o tal do "_"... eles só aceitam letras e números sem acento e o underline "_"... por isso o progamador incluiu ele na validação...

De qualquer forma eu acho que validar e-mail é uma besteira...não tem como saber se o e-mail que o usuário informou é válido...

Dá pra colocar coisas como "teste@teste.com" que vai validar sem problemas, por isso eu nem me dou ao trabalho de colocar nos meus scripts... smile.gif

Tem como se checar com sockets se o domínio existe realmente, dando mais chances ainda...

Mas ainda assim concordo que seja besteira, pois qualquer um informa um e-mail falso.

Porém o script acima citado é essencial para evitar e-mails para endereços com caracteres perigosos...

Alguém pode querer se aproveitar e passar caracteres que signifiquem algo para o sendmail...

Imagina quando o sendmail roda o comando:

sendmail -t -i [string passada no campo do endereço] [string passada no campo da mensagem]

Imagine que o cara queira se aproveitar e colocar no campo do endereço: um "|" e no campo da mensagem um "shutdown -h now"...

Que estrago, não?

Este exemplo é ficticio apenas, mas devemos sempre validar bem os campos por motivos de segurança...

Segurança esta rara de se encontrar hoje em dia no PHP, não por causa da linguagem, mas sim por causa dos programadores.

Link para o comentário
Compartilhar em outros sites

  • 0

Segurança esta rara de se encontrar hoje em dia no PHP, não por causa da linguagem, mas sim por causa dos programadores.

É que o PHP é uma linguagem de fácil acesso, então muita gente começa a aprender sem ter essa noção do que é seguro e o que não é. E sai por aí pogramando... nada contra, claro. Mas é preciso tomar algumas precauções...

Bom, mas eu discordo tb que esteja raro de encontrar essa segurança... acho que tem muita gente que se preocupa em não deixar passar nenhum detalhe. Principalmente se, por exemplo, a gente utiliza query strings pra executar algumas ações.

Link para o comentário
Compartilhar em outros sites

  • 0

Infelizmente eu tenho me decepcionado com os "programadores" PHP por aí...

Como alguns caras que lêem os 200 primeiros bytes da documentação do PHP e saem por aí se oferecendo para desenvolver sites...

Mas as vezes estas coisas acontecem com sistemas grandes, que se tornam sites de grande popularidade, e aí derrepente a surpresa: o cara que fez o site nunca parou 10 segundos para pensar na segurança do próprio site...

Sou contra os tipinhos que ficam por aí sacaneando os sites alheios... Concordaria até que descobrissem as falhas por estudo, mas ao invés de aproveitar-se delas avisassem o admin...

Mas tem casos que o "programador" pediu para que isso acontecesse...

Link para o comentário
Compartilhar em outros sites

  • 0

Esse script é para um formulário de indicação, eu sei que é besteira validar os campos, mas mesmo assim, e bom para precaução.

E outra, pode ocorrer um erro de digitação e se o cara não quisesse zuar, ele iria ver o e-mail e concertar, ao invés de mandar o valor errado...

Falou!

Link para o comentário
Compartilhar em outros sites

  • 0

poxa thb_matrix

eu pensava que eu fosse o unico a pensar assim

o pior e que se pensar que na europa e diferente, estara errado - e igualzinho

a maioria das empresas ainda não percebeu os risco de ligar um intranet para internet, eles botam estagiarios para resolver os projetos inteiros para não gastar

depois a gente ve eles fazer perguntas no easyphp.org e no nexen.net

eu pessoalmente parei de programar para a internet por causa do tempo que tem tomar na concepçao para tentar escapar ao intruso e mais o tempo que se leva fazendo tentativa de intrusao no meus proprios system para conferir

o mysql 4XX pertubou bastante tb

valeu

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...