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

O Que Quer Dizer ...


Fabiana Silva

Pergunta

Gente, estou lendo um artigo bacana de segurança. E como tudo pra mim e muito novo ai vai uma duvida de uma expressao usada no artigo que diz o seguinte

JAMAIS faça uma pesquisa no banco com algo que o usuário informou sem trocar primeiramente os caracteres reservados.

O que seria exatamente trocar primeiramente os caracteres reservados ???

bjim tongue.gif

Fabi wub.gif

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Pelo que eu entendi, isso ai seria no caso de o usuário ter digitado algo com acento, "ç", etc...

Esses caracteres podem não ser reconhecidos pelo seu banco de dados, então o Ideal seria substituí-los por caracteres sem acentos ou qualquer outro recurso gráfico.

Espero ter ajudado, qualquer coisa, posta aí

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

hum..

olá Fabiana..

É quase isso que o Bob falou..

Mas.. entende-se por caracteres reservados.. aqueles caracteres que podem ser usados na linguagem ASP e SQL..

Por exemplo as ASPAS Simples (')

Se você colocar um campo de login.. e não bloquear as aspas simples..

na hora que o usuario digitar a dita aspa.. seu codigo vai interpretar a aspa como se fosse parte do SQL que faz o select na tabela.. (para testar se o usuario é valido..)

E assim, iria gerar um erro de programação..

Faça um teste aí..

Crie um login, e quando derem submit.. faça um SELECT no banco.. usando o request("nome_campo_login") no WHERE..

se você digitar uma aspa simples no campo.. vai dar erro..

então.. caracter reservado, é qualquer caracter que seja usado durante a programação..

Esclarescido?

Até mais..

Dark

Link para o comentário
Compartilhar em outros sites

  • 0

ahhhhhhhhhhhh muito Legal!!!!

eu achei o seguinte codigo em uma página de login que eu salvei da internet

usuario = replace(request.form("usuario"),"'","''")

no sql sei que o replace substitui uma string por outra, neste caso ele estaria substituindo uma aspa simples por duas?

não seria mais viavel por "nada"???

duvidas duvidas duvidas....

Fabi

wub.gif

Link para o comentário
Compartilhar em outros sites

  • 0

hum..

não exatamente..

o comando replace que você mostrou, está realmente substituindo uma aspa simples por duas aspa simples.

isso, porque se você enviar somente uma aspa simples.. o sql entende como se fosse parte dele mesmo.. e se perde, dando erros

se você trocar por duas, o sql vai ver as duas, e vai ignorar elas.. e assim tudo funciona perfeitamente, e não dá erro nenhum.

entendeu?

t+

Link para o comentário
Compartilhar em outros sites

  • 0

hummm ta ficando interessante.

só para eu entender direitinho, fiz um teste direto no sql coloquei o seguinte codigo

select  nome from tabela1 where nome like 'a%''' 
e apesar de existir vários registros que inicie com A o comando não me retornou nenhuma linha agora o codigo
select  nome from tabela1 where nome like 'a%''' or nome 
like 'b%'

retorna-se apenas os registros iniciados com B

então o sql ignora os critérios que possuem duas aspas simples?

assim quando as variaveis forem utilizadas o sql não ira retornar nada não permitindo o acesso??

é isso mesmo?

Fabi

Link para o comentário
Compartilhar em outros sites

  • 0

você não está entendendo.... Tipo assim, veja dessa maneira:

<%

login = "Meu Login ' com uma aspa"

sql = "SELECT * FROM tabela WHERE login = '"& Replace(login, "'", "''") &"'"

%>

o que será executado será:

SELECT * FROM tabela WHERE login = 'Meu Login '' com uma aspa'

mais o que vai para o banco será:

SELECT * FROM tabela WHERE login = 'Meu Login ' com uma aspa'

Então você permite o uso de aspas no seu código, sem causar erros...

Entendeu???

[]s

Link para o comentário
Compartilhar em outros sites

  • 0

o que o replace faz, é "enganar" o sql.

porque, quando você manda 2 aspas.. ele interpreta como se fosse apenas UMA!

então.. se você mandar ' .. você da um replace pra '' .. mas o sql,vendo '', entende como se fosse só '

e assim não dá erro,e funciona 100%

Link para o comentário
Compartilhar em outros sites

  • 0
  • 0

[GuTO] Obrigada pelos artigos, são ótimos adorei todos (exceto o ultimo link que não consegui acessar)

O legal é que eles chamam outros links relacionados ap assunto ....

estou lendo tudo ... pesquisando... estou curtindo estudar sobre segurança ...

Quem tiver mais dicas de links pode mandar ....

[]'s

FABI

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...