Cadastre-se Revistas DevMedia Cursos
 

Space de BENJAMIM MARCOS DE CASTRO JUNIOR
Busca Autor


Últimas 20 atualizações de BENJAMIM MARCOS DE CASTRO JUNIOR

Artigo - Imagem de Segurança - CAPTCHA


Bom, venho com esta matéria, demonstrar uma forma mais “simples” de se fazer uma imagem de verificação, mais conhecida como CAPTCHA, para quem não sabe o que é uma, eu vou dar um resumo rápido, mas para maiores detalhes ver no link (http://www.microsoft.com/brasil/msdn/Tecnologias/aspnet/Spoofing.mspx  ).

 

CAPTCHA =  Técnica para reconhecer se quem está utilizando, em nosso caso o nosso formulário, é um ser humano ou um script ou sistema. O funcionamento é simples para nós humanos, pois basta ler e escrever o que está escrito na imagem, agora imagine um algoritmo que leia o que está escrito... ai dificulta bem mais... estes scripts são usados por hacker’s para tentar descobrir uma senha por exemplo, ele geralmente gera um script que faz diversas tentativas de senhas até acertar uma, mas agora imagine se ele tiver que digitar o que está escrito na imagem em cada tentativa, isso já limitaria e muito a quantidade de tentativas, pois se torna um trabalho manual... outra utilização seria um anti-spam, onde você envia um e-mail para uma outra conta de e-mail com o anti-spam ativado, e você recebe uma mensagem onde tem que digitar o que está escrito na imagem para que sua mensagem seja enviada de fato para o usuário destino, neste caso, se fosse um programa de envio de spam, ele não teria a capacidade de receber este e-mail de confirmação e “digitar” a seqüência escrita na imagem. Este é um resumo simples e direto, recomendo procurar mais a fundo.

 

Vamos escovar bit’s agora!

 

Pensei simples, o projeto consiste em apenas duas páginas, sendo uma apenas para gerar a imagem e guardar o valor em uma variável de sessão (Session[“variavel”]), e uma outra para mostrar a imagem gerada com um campo de entrada de texto (TextBox), e um botão para enviar o formulário para o servidor. Segue os modelos.

 

Segue como vai ficar a tela:

 

tela.JPGimg1

 

Um controle Image, um TextBox, um Button e uma Label.

 

Agora uma visualização da tela complilada.

 

inicial.JPGimg2

 

Como podem ver foi gerada um imagem com números, que também estão gravados em uma variável de sessão.

 

A Solution:

 

solution.JPGimg3

 

Com pode ser observado, eu criei duas páginas, uma Chamada Default.aspx, que é a página responsável pela verificação do código da imagem, e uma outra página que gera a imagem e guarda o valor em uma sessão.

 

Aqui segue o código .cs da página Default.aspx.

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       
    }

    protected void Button1_Click(object sender, EventArgs e)
    {   //condição para verirficar se o que foi digitado
        //é realmente o que esta guardado na variável de Sessão
        if (Page.IsValid && (TextBox1.Text.ToString() ==
                            Session["randomStr"].ToString()))
        {
        &

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
30/08/2007 23:34:00





Artigo - Mostrar um alert personalizado dentro do UpdatePanel !

        Bom pessoal, eu venho com este artigo mostrar uma forma que achei para exibir uma mensagem do tipo alert do JavaScript. Só relembrando, quando tentamos dar uma mensagem desta forma:

Response.Write("<script>alert(Mensagem aqui! )</script>");

Dentro de um UpdatePanel do Ajax ocorre o seguinte erro:

mensagemerroAjax.JPG

 Para conseguir mostrar uma mensagem do tipo alert do JavaScript dentro de um UpdatePanel do Ajax, eu coloquei a mensagem em uma classe que herda a classe Page. Segue os scripts.

        /// <summary>
        /// encontra o primeiro objeto do tipo passado
        /// </summary>
        /// <param name="type">tipo à buscar</param>
        /// <returns>objeto encontrado ou null caso não encontrado</returns>
        private Control FindControlByType(Type type)
        {
            return FindControlByType(type, this);
        }

        /// <summary>
        /// encontra o primeiro objeto do tipo passado
        /// </summary>
        /// <param name="type">tipo à buscar</param>
        /// <param name="root">objeto à buscar</param>
        /// <returns>objeto encontrado ou null caso não encontrado</returns>
        private Control FindControlByType(Type type, Control root)
        {

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
31/05/2007 09:30:00





 

Sou formado em Ciências da Computação, trabalho como analista desenvolvedor atualmente na empresa BM&F, tenho 8 anos na área de desenvolvimento (windows/web), tenho conhecimentos em VB6,ASP,ASP.NET (C#,VB.NET),Java,Sql2000/2005,SyBase,MySql e Oracle .Em breve o meu site estará no ar www.benjamim.net. Entrem em contato atravéz do e-mail benjamim@benjamim.net.
Arquivo de atualizações
 2007

Estatísticas do Autor:
Número de posts: 2
Características dos posts deste autor:
Conteúdo:
Utilidade:
7 1
 
DevMedia Group - Tel: (21) 3382-5038 - www.devmedia.com.br
Todos os Direitos Reservados a DevMedia Group