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

Caracteres Especiais.


mariofdf

Pergunta

Estou criando um sistema para um site pago, e sei que a algumas formas de burlar estes sistemas. já vi uns artigos sobre isso aqui, fiz a pesquisa li um monte de coisa mas não achei o que eu queria, acho que não estou pesquisando certo, gostaria de primeiro algum tutorial com dicas de segurança para sistemas de senha, e segundo saber como bloquear caracteres especiais tipo (*&%$#"";/') para que não possa tanto gravar no bd na hora do cadastro quanto não possa ser incluso na hora da pesquisa para checar senha e login, sei que pode ser feito em java script, mas gostaria que fosse em asp....

Se puderem me ajudar...

Eu só gostaria de saber como eu posso fazer isto...

Desde já agradeço.

wink.gifwink.gifwink.gif

Link para o comentário
Compartilhar em outros sites

25 respostass a esta questão

Posts Recomendados

  • 0

olá.

uma forma de você fazer com que não sejam aceitos caracteres especiais, seria vc, quando pegar os valores dos campos usuario e senha, verificar o codigo asc dos caracteres digitados.

Aí você faz um if basico.. do tipo.. se caracteres digitados no campo usuario for diferente de a até z ou de 0 até 9 então mostra mensagem de erro.. senao valida.

Essa é uma forma.. se precisar de ajuda, estamos aí

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia!

Bom, eu acredito que a melhor forma de verificação seja feita no proprio formulario, em java script.

tipo:

<script language="javascript">
function verifica() {
// TRECHO JAVASCRIPT PARA VERIFICAR O CAMPO "NOME" --- INICIO
// Verifica o campo NOME.
   {
   var str = frm.nome.value
   // Return false se o campo NOME estiver vazio.
   if (str == "")
      {
      alert("\nO campo NOME está em branco.\n\nPor favor entre com o nome.")
      return false;
      }
   }
// TRECHO JAVASCRIPT PARA VERIFICAR O CAMPO "NOME" --- FINAL
e se for caso de caracteres especiais, pode por:
// TRECHO JAVASCRIPT PARA VERIFICAR O CAMPO "numero" --- INICIO
// Verifica o campo numero.
   {
   var str = frm.numero.value

// Return false se os numeros não forem de '0-9'. 
   for (var i = 0; i < str.length; i++) 
      {
      var ch = str.substring(i, i + 1);
      if ((ch < "0" || "9" < ch)) 
         {
         alert("\nO campo numero só aceita números. ");
         return false;
         }
      }
// TRECHO JAVASCRIPT PARA VERIFICAR O CAMPO "numero" --- FINAL

Qualquer coisa, posta ai!!

Link para o comentário
Compartilhar em outros sites

  • 0

o único porém, que vejo de fazer uma verificação em javascript, é o fato de ela ser feita só na maquina do cliente.

Olha só:

E se o cara der um "salvar como" na pagina, remover as validações javascript, alterar o action, e apontar para www.site.com/pagina.asp, executar localmente e preencher os campos indevidamentes, e dar um submit?

o que aconteceria com sua validação em javascript?

é sobre isso que eu estou dizendo, pois já fiz um teste semelhante à isso, e a validação em java não me adiantou nada..

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

pois é

eu já fiz algo parecido com o chat do IG, lá eu alterava ate a cor da fonte da sala toda.. hauhua

os carinhas ficavam p** comigo.. hehe

Mas voltando à duvida inicial do tópico:

O mais ideal de você fazer, é:

Pega os campos do Form, que o cara digitar com o Request, usa o Replace, e troca a aspa simples (') por duas aspas simples (''), isso para não gerar erro de SQL.. e ele não usar o erro para logar indevidamente.

Depois, faz uns ifs, testando o que eu falei antes.. Se ele digitou apenas letras e numeros, para isso usando o codigo ASC das teclas.

Qualquer duvida, estamos aí!

Abração!!!

Link para o comentário
Compartilhar em outros sites

  • 0

E ai galera...

A função para trocar aspas simples por dupla eu sá aprendi segundo a matéria que o reginaldo me passou, mas como eu faria para bloquear os caracteres especiais incluindo qualquer tipo de aspas.

Só queria que digitassem letras normais e numeros.

Link para o comentário
Compartilhar em outros sites

  • 0

você quer bloquear enquanto o cara digita?

se for isso, você deverá usar javascript, no evento OnKeyPress

mas se você quiser testar, depois que o cara digitar, antes de pesquisar no banco, aí é com nóis.. hehe

o que você quer fazer?

Link para o comentário
Compartilhar em outros sites

  • 0

com java script eu sei como fazer, tenho um codigo, mas corre o risco que voces comentaram logo acima, eu gostaria com asp.

Tipo tanto na hora do cadastro quanto na ora de logar quando o formulario for submetido, fazer o teste, eu testei o sitema de mudar aspas simples e funcionol direitinho, mas se eu bloquear tudo , não tem a necessidade de usar aquele sistema....

Link para o comentário
Compartilhar em outros sites

  • 0

opa..

e ae, beleza?

da uma estudada nessa funcao:

http://www.aspbrasil.com.br/funcoesVBS/fun...um_function=122

pois é a funcao que retorna o codigo asc das teclas.

Se você tiver duvida quanto às teclas, veja o link abaixo:

http://scriptbrasil.com.br/forum/index.php?showtopic=17380

Qualquer duvida, estamos aí

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

eu li os tutoriais, só que estou com duvidas.

1º.´se eu bloquear somente as aspas simples eu já protejo meu sistema.

2º como montar a função para bloquear os demais caracteres especiais?

Agradeço desde já.

Link para o comentário
Compartilhar em outros sites

  • 0

olá

eu andei olhando aqui.

e acho que para vc, o mais correto é usar a funcao ASC. Vide link:

http://www.imasters.com.br/vb/mostra_glossario03.htm

Pois, ela lhe retorna o codigo asc em si..

então, você faria algo como:

- pega o que o cara digitar.

- armazena numa variavel.

- faz um for, passando por todos os caracteres digitados, e dentro do for verifica com a funcao asc, se o caracter que esta sendo lido está dentro de a até z, e 1 ate 5.

- se a condicao acima for verdadeira, joga mensagem de erro na tela, e para o processamento.

- se for falsa (os dados digitados estao ok), faz um select no banco de dados.

entendeu?

qualquer coisa, estamos aí!

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Até a parte que eu pego as variaveis eu já fiz. E la eu inclementei o sistema de aspas, quando pego as variaveis eu já peço para que se tiver aspas simples mude para duplas, mas essa parte do for e as comparações não estou sabendo fazer, melhor nunca usei o comando for.

Poderia me dar umas dicas ou algum tutorial que me ensine a usar for e fazer estas comparações.

tenho isso em java script, se quiser eu posto...

Não foi eu quem fez , peguei em um tutorial.

Desculpe se estou abusando.

Agradeço.

OBS. Não quero nada pronto, só quero aprender a fazer.

Link para o comentário
Compartilhar em outros sites

  • 0
OBS. Não quero nada pronto, só quero aprender a fazer.

Nossa!!!

Me emocionou agora, gostei pra karaiu desta atitude e até me motivou;

Mario!!!

Já pensou em usar 'strComp' para verificar o comprimento e valores da sua string ?

Eu já vi isso em algum lugar, só não estou me recordando agora.

Vou até pesquisar algo pra bolar um pequenino código para area de funções.

Abraços!!!

[urso]

Link para o comentário
Compartilhar em outros sites

  • 0

eu intendi o post, mas como eu usaria isto para verificar se a caracteres especiais em minha consulta. No caso na hora do cadastro e do login.

Link para o comentário
Compartilhar em outros sites

  • 0

eu intendi o post, mas como eu usaria isto para verificar se a caracteres especiais em minha consulta. No caso na hora do cadastro e do login.

Brother!!

Dá pra fazer com expressões regulares (RegExp) em Asp, mas nunca ultilizei, se bolar algo... até poderia em enviar laugh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Mario !!!

Olha só.. eu estava navegando por aí, e veja o que eu encontrei:

Salve galega.. Bem esta função retorna true ou false e testa a string procurando por caracteres que você não deseja que estejam lá

CODE 

<%@LANGUAGE="VBSCRIPT"%>

<%

'----------------------------------------------------------------------------------

' Função que retorna true caso exista os caracteres escolhidos na str

' Desenvolvido(eheheh) por D.eleete

' Email/MSN(não é suporte): deleeteweb@hotmail.com

'-----------------------------------------------------------------------------------

Function char_error(str)

Dim blocked, arr_blocked, x

' Na variavel abaixo (blocked) devem ser inseridos os caracteres que não deve existir na string

blocked = "\, /, :, *, ?, "&Chr(34)&", <, >, |, ', !, @, #, $, %, ¨, &, *, (, ),"

arr_blocked = split(blocked,", ")

for x = lbound(arr_blocked) to Ubound(arr_blocked)

if instr(str, arr_blocked(x)) > 0 then

  char_error = true

  exit for

Else

  char_error = false

End if

next

End function

%>

Como utiliza-la:

CODE 

<%

Response.write(char_error("abcde"))

'retorna false (não possue nenhum dos caracteres especificados)

%>

CODE 

<%

Response.write(char_error("@bd*"))

'retorna true (possue caracteres indesejados)

%>

A função pode ser utilizada pra outros fins, como achar palavras e caracteres em string 

--------------------

Douglas T.M. Silva,

Desenvolvedor Web.

Como está escrito acima mesmo, na mensagem, essa dica, foi escrita por D.eleete, no forum Imaster.

Portanto, todos os direitos autorais são dele!

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

porque você não valida em JavaScript e ASP?!

É claro que o ASP é mais seguro porque o script não é vizualizado pelo cliente e não está sujeito a alteração, mas o Javascript envia respostas para o cliente imediatas...

Seria legal criar regras iniciais em JavaScript e regras secundárias em ASP!

Temos que pensar que haverá muitas pessoas tentado burlar nosso sistema, mas a maioria dos usuários querem apenas uma boa navegação!

[]s Daniel

Link para o comentário
Compartilhar em outros sites

  • 0
Poderia me dar umas dicas ou algum tutorial que me ensine a usar for e fazer estas comparações.

dê uma olhada aqui.. talvez lhe ajude !!

Comandos de Repetição

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

você quer segurança?

dá uma olhada:

Bloqueando Acesso Externo

Link para o comentário
Compartilhar em outros sites

  • 0

tentei usar a função assim mas não deu certo, no que errei.

txtemail = request.form("txtemail")

txtlogin = request.form("txtlogin")

char_error("'"&txtlogin&"'")

if Resultado = true then

response.redirect("recuperasenha.asp?mensagem=caracteres especiais")

end if

mesmo eu digitando caracteres especiais não pega o erro, ele submete normal.

Link para o comentário
Compartilhar em outros sites

  • 0
tentei usar a função assim mas não deu certo, no que errei.

txtemail = request.form("txtemail")

txtlogin = request.form("txtlogin")

char_error("'"&txtlogin&"'")

if Resultado = true then

response.redirect("recuperasenha.asp?mensagem=caracteres especiais")

end if

mesmo eu digitando caracteres especiais não pega o erro, ele submete normal.

hum

você não pode usar aquele if, é por isso que não funciona!

não existe uma variavel resultado.

se você fizer:

if char_error("'"&txtlogin&"'") = true then
   response.redirect("recuperasenha.asp?mensagem=caracteres especiais")
end if

talvez funcione!

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui arrumar...

Muito obrigado a todos, especialmente ao URSO e ao DARK0, voces fazem juz ao cargo de moderadores.

Pode feixar o Tópico.

Link para o comentário
Compartilhar em outros sites

  • 0

Grande marioFDF

Cara..

esse a gente suou

hauhauhaua

Mas o que vale é que funcionou!

Posta lá no tópico de funções essa função que você usou, mas corrigida.. ok?

Estou fechando esse tópico aqui

Abraços!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...