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

Imagem De Segurança


Gnomo

Pergunta

Olá a todos..

Estou com uma dúvida sobre aquelas imagens de segurança de formulários de cadastros etc...

Eu já tenho o código que gera a imagem com o código, mais como eu não tenho ideia de como

fazer o formulário para a pessoa digitar o que ela vê na imagem.

Já tentei com Session mas não funciona muito bem, veja: http://www.guareisp.com.br/img.asp

Seguinte ao entrar nesta página você vera um código alfanumérico tipo esse: 11G9F3

ao visualizar o código fonte você irá reparar que o valor do input hidden esta em branco

<img src="seguranca.asp" border="0" /><br>
<input type="hidden" value="" name="codseg" />
Ao atualizar o código muda "6FXYRM" e o valor do input hidden passa a ser o código anterior "11G9F3".
<img src="seguranca.asp" border="0" /><br>
<input type="hidden" value="11G9F3" name="codseg" />
Alguém pode me ajudar com isso? Código da página img.asp
<img src="seguranca.asp" border="0" /><br>
<input type="hidden" value="<%=Session("seguranca")%>" name="codseg" />
Código da página seguranca.asp
<%

Set Jpeg = Server.CreateObject("Persits.Jpeg")

Jpeg.Open Server.MapPath("background.gif")

Jpeg.Canvas.Font.Color = &HFFFFFF
Jpeg.Canvas.Font.Family = "Verdana"
Jpeg.Canvas.Font.Size = 20
Jpeg.Canvas.Font.Bold = True
Jpeg.Canvas.Font.Quality = 4

Session("seguranca") = GerarCodigo

Jpeg.Canvas.Print 11, 3, Session("seguranca")

Jpeg.SendBinary


Private Function GerarCodigo()
Dim valores, i

GerarCodigo = ""

valores = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "que", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")

Randomize
For i = 1 to 6
GerarCodigo = GerarCodigo & valores(Int(uBound(valores) * Rnd))
Next
End Function
%>

Desde já agradeço. :)

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

<%

'Função para gerar as letras

Function Gerar_letras(quantidade)

'Declaramos o Array que armazenará o total de caractéres utilizados, letras, números, sinais, etc.

'No nosso caso, 61 sendo, 26 letras maiúsculas, 26 minúsculas e 10 números (0 - 9)

Dim Senha(61)

'Declaramos os arrays usados e seus valores

Senha(0) = "a"

Senha(1) = "b"

Senha(2) = "c"

Senha(3) = "d"

Senha(4) = "e"

Senha(5) = "f"

Senha(6) = "g"

Senha(7) = "h"

Senha(8) = "i"

Senha(9) = "j"

Senha(10) = "k"

Senha(11) = "l"

Senha(12) = "m"

Senha(13) = "n"

Senha(14) = "o"

Senha(15) = "p"

Senha(16) = "que"

Senha(17) = "r"

Senha(18) = "s"

Senha(19) = "t"

Senha(20) = "u"

Senha(21) = "v"

Senha(22) = "w"

Senha(23) = "x"

Senha(24) = "y"

Senha(25) = "z"

Senha(26) = "0"

Senha(27) = "1"

Senha(28) = "2"

Senha(29) = "3"

Senha(30) = "4"

Senha(31) = "5"

Senha(32) = "6"

Senha(33) = "7"

Senha(34) = "8"

Senha(35) = "9"

Senha(36) = "A"

Senha(37) = "B"

Senha(38) = "C"

Senha(39) = "D"

Senha(40) = "E"

Senha(41) = "F"

Senha(42) = "G"

Senha(43) = "H"

Senha(44) = "I"

Senha(45) = "J"

Senha(46) = "K"

Senha(47) = "L"

Senha(48) = "M"

Senha(49) = "N"

Senha(50) = "O"

Senha(51) = "P"

Senha(52) = "que"

Senha(53) = "R"

Senha(54) = "S"

Senha(55) = "T"

Senha(56) = "U"

Senha(57) = "V"

Senha(58) = "W"

Senha(59) = "X"

Senha(60) = "Y"

Senha(61) = "Z"

Randomize

'Contamos a quantidade de letras geradas

do while len(chave) < quantidade

num = Senha(Int(61 * Rnd ))

chave = chave + num

loop

Gerar_letras = chave

end function

'Aqui chamamos a função, troque o 6 pela quantidade de caracteres que deseja sortear.

Session("Senha") = Gerar_letras(6)

'Cria o objeto Jpeg

Set Jpeg = Server.CreateObject("Persits.Jpeg")

'Imagem usada como fundo

Path = Server.MapPath("imagem.jpg")

'Abre a imagem existente

Jpeg.Open Path

’Salva a imagem. Aqui foi usada a pasta teste, que obrigatoriamente deve ter permissão de escrita. Altere-a pela pasta onde será salva a imagem.

Jpeg.Save Server.MapPath("teste/imagem2.jpg")

'Define altura e largura da imagem.

Jpeg.Width = 200

Jpeg.Height = 40

'Define cor, fonte, tamanho e tipo de qualidade do texto

Jpeg.Canvas.Font.Color = &H800000

Jpeg.Canvas.Font.Family = "Verdana"

Jpeg.Canvas.Font.Size = "36"

Jpeg.Canvas.Font.Bold = True

Jpeg.Canvas.Font.Quality = 4

'Desenha as bordas da imagem.

Jpeg.Canvas.Pen.Color = &H800000

Jpeg.Canvas.Pen.Width = 1

Jpeg.Canvas.Brush.Solid = False

Jpeg.Canvas.DrawBar 1, 1, Jpeg.Width, Jpeg.Height

Jpeg.Canvas.PrintText 30, 0, "" & Session("Senha") & ""

'Envia a imagem para o navegador.

Jpeg.SendBinary

’Remove a instância do objeto da memória

Set Jpeg = Nothing

%>

OBS: O script acima vai gerar uma imagem (binários), portanto não pode conter código HTML junto.

Agora vamos ver como fica o formulário que vai exibir a imagem gerada no script anterior e autenticar os caracteres:

<%

' Verifica se o valor digitado no campo do formulário é o mesmo que gerou a imagem no script img.asp

If Request.Form("txt_key") = Session("Senha") Then

Response.Write "Formulário confirmado!"

Else

Response.Write "Preencha o campo com os caracteres da imagem!"

End If

%>

<html><head>

<title>Confirma&ccedil;&atilde;o de Formul&aacute;rio</title>

</head>

<body>

<form name="form1" method="post" action="">

<img src="img.asp">

<input name="txt_key" type="text" id="txt_key" size="10">

<input type="submit" name="Submit" value="Enviar">

</form>

</body></html>

OBS 1: Veja que o formulário vai ser submetido para ele mesmo, ou seja, podemos salvar este arquivo com um nome qualquer, por exemplo confirma.asp

Retirado do site da LocaWeb :)

ajuda.locaweb.com.br

[]s

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...