Gnomo Postado Janeiro 5, 2007 Denunciar Share Postado Janeiro 5, 2007 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 comofazer 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.aspSeguinte ao entrar nesta página você vera um código alfanumérico tipo esse: 11G9F3ao 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. :) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 avontzdnb Postado Janeiro 5, 2007 Denunciar Share Postado Janeiro 5, 2007 <% '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.aspIf 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ção de Formulá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.aspRetirado do site da LocaWeb :)ajuda.locaweb.com.br[]s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gnomo Postado Janeiro 5, 2007 Autor Denunciar Share Postado Janeiro 5, 2007 muito obrigado avontzdnb!!Irei testar o código :) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gnomo
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
Ao atualizar o código muda "6FXYRM" e o valor do input hidden passa a ser o código anterior "11G9F3". Alguém pode me ajudar com isso? Código da página img.asp Código da página seguranca.aspDesde já agradeço. :)
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.