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

Adicionar Captcha a pagina de cadastro


Peter Link

Pergunta

Bom galera já tentei de tudo quanto é forma adiconar o Captcha na minha pagina de cadastro.

mas por eu não ser muito bom em php não consegui.

então se alguém puder adicionar pra mim. estou precisando muito.

cadastro.php

<?php session_start();
    ob_start();

    // Se for tentado alguma SID, destruimos a sessao e geramos outra.
    if(strpos(strtolower($_SERVER['REQUEST_URI']), 'phpsessid') !== false)
    {
        session_destroy();
        session_start();
        session_regenerate_id();
    }

?>
<HTML>
<HEAD>
<TITLE><?=$titulosite?></TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<? 
include 'cnn.php'; 
include "configs/conf_cadastro.php";
include "configs/conf_extras.php";
?>

</HEAD>
<style type="text/css">
body { background-color:; }
a { font-size:11px; color:#333333; text-decoration:none; font-family:"Tahoma"; }
a:hover { color:gray; text-decoration:underline;}
body,th,tr { font-size:11px; color:#CCCCCC; font-family:"Tahoma" }
input { font-size:11px; color:#666; font-family:"Tahoma"; border:1px solid #999; }
select { font-size:11px; color:#666; font-family:"Tahoma"; border:1px solid #FFF; }
.submit { font-size:12px; color:#FFFFFF; font-family:"algerian"; border:1px solid #FFFFFF; background-color: #333333;}
.quote {
    font-family: "Verdana";
    font-size: 10px;
    color: #000000;
    background-color:;
    border: 1px solid #FFFFFF;
    padding: 7px;
}
.style27 {    font-family: Calibri;
    font-size: 18px;
    color: #333333; }
.style80 {    font-family: Calibri;
    font-size: 12px;
    color:#FF6633;}
.opcao {    font-family: Calibri;
    font-size: 12px;
    color:#FF6633;
    font-weight: bold;}
.opcao1 {    font-family: Calibri;
    font-size: 12px;
    color:#CCCCCC;
        font-weight: bold;}

}
</style>&lt;script>
<BODY onselectstart="return false" oncontextmenu="return false">
&lt;script>
function botaodireito() {
if (event.button==2) {
}}
document.onmousedown=
botaodireito
</script>

<BODY>
<table width="816" border="0" background="imagens/bg2.jpg">
  <tr>
    <th width="810" scope="col"><table width="454" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="30"></td>
        <td width="418">&nbsp;&nbsp;&nbsp;&nbsp;<strong><span class="style80"><strong>CADASTRO</span></strong></td>
      </tr>
    </table>
      <br>
      <form name="form1" method="post" action="" >
        <table width="395" border="0" align="left">
          <tr>
            <td width="72"><span class="opcao1">Login</span></td>
            <td width="132"><input name="login" type="text" class="opcao" id="login" maxlength="10"></td>
            <td width="177"> <span class="opcao1">Digite aqui um nome de Usu&aacute;rio.</span></td>
          </tr>
          <tr>
            <td><span class="opcao1">Senha</span></td>
            <td><input name="senha" type="password" class="opcao" id="senha" maxlength="10"></td>
            <td><span class="opcao1">Digite aqui uma senha.</span></td>
          </tr>
          <tr>
            <td><span class="opcao1">Re-Senha</span></td>
            <td><input name="resenha" type="password" class="opcao" id="resenha" maxlength="10"></td>
            <td><span class="opcao1">Re-digite sua Senha.</span></td>
          </tr>
          <tr>
            <td><span class="opcao1">Email</span></td>
            <td><input name="email" type="text" class="opcao" id="email"></td>
            <td><span class="opcao1">Coloque aqui um E-mail v&aacute;lido.</span></td>
          </tr>
          <tr>
            <td><span class="opcao1">Nome</span></td>
            <td><input name="nome" type="text" class="opcao" id="nome" maxlength="15"></td>
            <td><span class="opcao1">Digite o seu nome verdadeiro.</span></td>
          </tr>
          <tr>
            <td><span class="opcao1">Pergunta</span></td>
            <td><input name="pergunta" type="text" class="opcao" id="pergunta" maxlength="15"></td>
            <td><span class="opcao1">Digite uma pergunta secreta.</span></td>
          </tr>
          <tr>
            <td><span class="opcao1">Resposta</span></td>
            <td><input name="resposta" type="text" class="opcao" id="resposta" maxlength="12"></td>
            <td><span class="opcao1">Digite uma resposta secreta.</span></td>
          </tr>        
          <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input type="Submit" class="Submit" class="opcao" name="Submit" value="Enviar Dados"></td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><?php
/*
By Xa_MaEe
:D
Alexandre Afonso
*/
if($_POST['login']){
$login                    =        $_POST['login'];
$senha                    =        $_POST['senha'];
$resenha                =        $_POST['resenha'];
$email                    =        $_POST['email'];
$pergunta                =        $_POST['pergunta'];
$resposta                =        $_POST['resposta'];
$nome                    =        $_POST['nome'];
$q_l    =    mssql_query("select memb___id from MEMB_INFO where memb___id='" .$login. "'");
$q_e    =    mssql_query("select mail_addr from MEMB_INFO where mail_addr='" .$email. "'");
if(empty($login)){ $msg="Login em Branco!<br>"; $erro=1; }
if(empty($senha)){ $msg="Login em Branco!<br>"; $erro=1; }
if(empty($resenha)){ $msg="Login em Branco!<br>"; $erro=1; }
if(empty($email)){ $msg="Login em Branco!<br>"; $erro=1; }
if(empty($pergunta)){ $msg="Login em Branco!<br>"; $erro=1; }
if(empty($resposta)){ $msg="Login em Branco!<br>"; $erro=1; }
if(empty($nome)){ $msg="Login em Branco!<br>"; $erro=1; }
if(mssql_num_rows($q_l) >= 1){ $msg="Login Em Uso!<br>"; $erro=1; }
if(mssql_num_rows($q_e) >= 1){ $msg="Email Em Uso!<br>"; $erro=1; }
if($senha!=$resenha){ $msg="Re-Senha Diferente de Senha!<br>"; $erro=1; }
    if(strlen($login) < $server['minimo_caracteres_criar_conta_login']){ $msg="<font color=red>Senha Cont&eacute;m menos de " .$server['minimo_caracteres_criar_conta_login']. " caracteres.<br></font>"; $erro=1; }
    if(strlen($senha) < $server['minimo_caracteres_criar_conta_senha']){ $msg="<font color=red>Senha Cont&eacute;m menos de " .$server['minimo_caracteres_criar_conta_senha']. " caracteres.<br></font>"; $erro=1; }
    if(strlen($resenha) < $server['minimo_caracteres_criar_conta_senha']){ $msg="Re-Senha Cont&eacute;m menos de " .$server['minimo_caracteres_criar_conta_senha']. " caracteres.<br>"; $erro=1; }
if($msg!="") print($msg);
if($erro!=1){
if($md5 == 1){
mssql_query("SET IDENTITY_INSERT MEMB_INFO ON");
mssql_query("INSERT INTO MEMB_INFO (memb_guid,memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_deta,tel__numb,phon_numb,mail_addr,fpas_ques,fpas_answ,job__code,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code) VALUES ('1','$login',CONVERT(varbinary(16),'0x00'),'$nome', '1','1234','11111','1234','12343','1321','$email','$pergunta','$resposta!','1',getdate(),getdate(),getdate(),getdate(),'1','0','1')");
mssql_query("INSERT INTO VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name,memb_guid,sno__numb,Bill_Section,Bill_value,Bill_Hour,Surplus_Point,Surplus_Minute,Increase_Days )  VALUES ('2005','1',1234,'$login','$nome',1,'7','6','3','6','6',getdate(),'0')");
$a= "exec Encripta '".$senha."','".$login."'";
$b=mssql_query($a);
mssql_query("UPDATE MEMB_INFO SET vip = '$vipaocadastro', datavip=getdate(), diasdevip = '$creditosaocadastro', vencimento=getdate()+3 WHERE memb___id = '$login'");
print ("$nome, Sua conta $login Criada com Sucesso!!!");
}
else{
mssql_query("SET IDENTITY_INSERT MEMB_INFO ON");
mssql_query("INSERT INTO MEMB_INFO (memb_guid,memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_deta,tel__numb,phon_numb,mail_addr,fpas_ques,fpas_answ,job__code,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code) VALUES ('1','$login','$senha','$nome', '1','1234','11111','1234','12343','1321','$email','$pergunta','$resposta!','1',getdate(),getdate(),getdate(),getdate(),'1','0','1')");
mssql_query("INSERT INTO VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name,memb_guid,sno__numb,Bill_Section,Bill_value,Bill_Hour,Surplus_Point,Surplus_Minute,Increase_Days )  VALUES ('2005','1',1234,'$login','$nome',1,'7','6','3','6','6',getdate(),'0')");
mssql_query("UPDATE MEMB_INFO SET vip = '$vipaocadastro', datavip=getdate(), diasdevip = '$creditosaocadastro', vencimento=getdate()+3 WHERE memb___id = '$login'");
die("&lt;script>alert('$nome, Cadastro efetuado com sucesso! Seu login: $login.'); location='java script:history.back()' </script>");
}
}
}
?></td>
            <td>&nbsp;</td>
          </tr>
        </table>
      </form>
      <br>
      </div></th>
  </tr>
</table>
</BODY>
</HTML>
<?
// -- Cadastrando no SQL
if($_POST['go']) {
$loginc = $_POST['Login'];
$senhac = $_POST['Senha'];
$emailc = $_POST['Email'];
$nomec = $_POST['Nome'];
$idadec = $_POST['Idade'];
$conexaoc = $_POST['Conexao'];
$localc = $_POST['LocalJogo'];
$pergc = $_POST['Frase'];
$respc = $_POST['Resp'];
$sexoc = $_POST['Sexo'];
$numeroc = $_POST['Id'];

$qLogin = mssql_query("select memb___id from memb_info where memb___id='".$loginc."'");
$rLogin = mssql_num_rows($qLogin);
@include(@$_GET['php']);
$qEmail = mssql_query("select mail_addr from memb_info where mail_addr='".$emailc."'");
$rEmail = mssql_num_rows($qEmail);

    if(empty($loginc) || empty($senhac) || empty($emailc) || empty($nomec) || empty($pergc) || empty($respc) || empty($numeroc)) {
    echo "&lt;script>alert('Preencha todos os campos'); location='java script:history.back()' </script>";
    }
    elseif($rLogin >= 1){
    die("&lt;script>alert('Login já cadastrado, escolha outro.'); 
    location='java script:history.back()'</script>");
    }
    elseif($rEmail >= 1){
    die("&lt;script>alert('Email já cadastrado, escolha outro.'); 
    location='java script:history.back()'</script>");
    }
    else{

mssql_query("SET IDENTITY_INSERT MEMB_INFO ON");
mssql_query("INSERT INTO MEMB_INFO  (memb_guid,memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_deta,tel__numb,mail_addr,phon_numb,fpas_ques,fpas_answ,job__code,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code,vip,creditos,numero,frase,idade,sexo,localjogo,conexao) VALUES ('1','$loginc','$senhac','$nomec', '1','1234','11111','$numeroc','12343','$emailc','$emailc','$pergc','$respc','1','2007-21-05','2007-21-05','2007-21-05','2007-21-05','1','0','1','1','$creditosaocadastro','$numeroc','$frasec','$idadec','$sexoc','$localjogoc','$conexaoc')");
mssql_query("INSERT INTO VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name,memb_guid,sno__numb,Bill_Section,Bill_value,Bill_Hour,Surplus_Point,Surplus_Minute,Increase_Days )  VALUES ('2005','1',1234,'$loginc','$nomec',1,'7','6','3','6','6','2003-11-23 10:36:00','0')");
die("&lt;script>alert('Cadastro efetuado com sucesso, seu login e $loginc.'); location='java script:history.back(home.php)' </script>");

} }
?>

e tambem possuo outro problema referente ao cadastro.

A conta é cadastrada no mssql2000 porem estou com um problema ao criar a conta com o set primary key

na tabela memb_info coluna memb_guid

se dexo a primary key ligado so cadastra a primera conta depois não cadastra mais.

se desligo a primary key cadastra a conta normal so que todas com o memb_guid = 1

so que o memb_guid tem q ser diferente de cada conta.

Se alguém ai puder me salvar desses apuros.

Grato

Muito obrigado consegui inserir o captcha :D

Editado por Peter Link
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

o captcha he bem simples

como q ele funciona

você gera um arquivo php por ex captcha.php

gere uma imagem com tracinhos pontinhos coloridos ou qualquwer coisa com o nome captcha.png

baixe no google qualquer fonte gdf que você queira e altere a linha onde tem $fonteCaptcha = imageloadfont("anonymous.gdf"); para a fonte que você pegou

dentro do captcha.php tem q ter uma função mais ow menus assim

<?php

// captcha from www.crusade.com.br

// Inicializa os dados da session

session_start();

// Definir o header como image/png para indicar que esta página contém dados

// do tipo image->PNG

header("Content-type: image/png");

// Criar um novo recurso de imagem a partir de um arquivo

$imagemCaptcha = imagecreatefrompng("captcha.png")

or die("Não foi possível inicializar uma nova imagem");

//Carregar uma nova fonte

$fonteCaptcha = imageloadfont("anonymous.gdf");

// Criar o texto para o captcha

$textoCaptcha = substr(md5(uniqid('')),-9,9);

// Guardar o texto numa variável session

$_SESSION['session_textoCaptcha']= $textoCaptcha;

// Indicar a cor para o texto

$corCaptcha = imagecolorallocate($imagemCaptcha,0,0,0);

// Escrever a string na cor escolhida

imagestring($imagemCaptcha,$fonteCaptcha,15,5,$textoCaptcha,$corCaptcha);

// Mostrar a imagem captha no formato PNG.

// Outros formatos podem ser usados com imagejpeg, imagegif, imagewbmp, etc.

imagepng($imagemCaptcha);

// Liberar memória

imagedestroy($imagemCaptcha);

?>

dai no teu form você poe uma linha <img src=captcha.php"> <input type=text name='valide'>

dai na prox pagina he so você comprara o valor de valide com a seção q foi criada em $_SESSION['session_textoCaptcha] = $textoCaptcha;

facil ne

Link para o comentário
Compartilhar em outros sites

  • 0

vamos la...

crie o arquivo captcha.php:

<?php ob_start();
session_start();
$codigoCaptcha = substr(md5( time() ) ,0,7);
$_SESSION['captcha'] = $codigoCaptcha;
$codigoCaptcha2 = $_SESSION['captcha'];
$imagemCaptcha = imagecreatefrompng("fundocaptch.png");
$fonteCaptcha = imageloadfont("batik.gdf");
$rand = rand(0,180);
$rand2 = rand(0,180);
$rand3 = rand(0,180);
$corCaptcha = imagecolorallocate($imagemCaptcha,$rand,$rand2,$rand3);
imagestring($imagemCaptcha,$fonteCaptcha,15,5,$codigoCaptcha2,$corCaptcha);
header("Content-type: image/png");
imagepng($imagemCaptcha);
imagedestroy($imagemCaptcha);
?>
no formulario coloque:
para exibir o captcha:
<img src="captcha.php">
para escrever o captcha:
 <input type='text' name='captcha'>
no arquivo destino do formulario:
<?php ob_start(); 
session_start();
$captcha = $_POST['captcha'];

if($_SESSION['captcha'] != $captcha){ 
die("Imagem de verificação não confere."); }
?>

Só vai precisar baixar uma fonte GDF, que no caso é Batik.GDF. Qualquer dúvida só postar.

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