Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

_M!K0L_

Sistema de Login e Senha c/ Session + MD5

Recommended Posts

_M!KOL_

Implementei o seu sistema de login no sistema intranet que estou desenvolvendo, mais não consigo resolver um erro que está aparecendo referente ao SQL injection.

ERRO:

Fatal error: Cannot redeclare anti_injection() (previously declared in /var/www/restrito2/SQL.php:13) in /var/www/restrito2/SQL.php on line 20

Sou novato no php e estou usando o php5 será que o problema está na versão que estou usando??
Será que tem algo que mudou em relação ao injection do php4 para o 5??

Desculpe a longa demora para responder, é usado PHP 5, o seu problema é que ele está adicionando a função anti_injection(); 2 vezes :)/>~ talvez seja seu include que você esteja fazendo, só dando uma olhada para ver o erro mesmo.

 

 

Maikon.... Muito 10 seu script, fufa direitinho, cara! eu estivi ha muito tempo a busca de um, seguro e eficaz, e esse me trouxe soluções!!
quero deixar aqui a minha ajuda, logo mais estarei modificando algumas coisa!
Se você quiser posso postar aqui! 
Tive a seguinte idéia, ao invés de um sistema de Mudança de Senha.
Cologar um sistema q envie a senha para o e-mail do usuário cadastrado, pois assim só mesmo o usuario poderar ter acesso a senha! Pois pensei, se algum estranho souber somente o Login e o e-mail de alguem q tem acesso ao sistema, pode facilmente mudar a senha pelo sistema de Mudança de Senhas, e logar! Entende????? Assim fica fácil, nem precisa da senha antiga, para entrar no sistema! 
Mais atenção não é um critica!
Pois como já disse seu sistema, é Ótimo, mesmo!
você mereçe Palmas, pois se seu sistema não fosse bom, não estaria até agora sendo comentado, a quase um ano de comentarios!

Eu ja pensei em por, no lugar do "mudar senha" para enviar no e-mail porém, isso deixo para cada usuário, eu fiz somente simples e comentado para que aprendam a fazer!, mas se quiser por o sistema, eu apenas liberei o sistema padrão modificações estão abertas :lol:/>

 

 

Mikol, estou tentando instalar aqui pelo que foi postado no inicio do tópico porem está dando um erro assim:

 

'0'){ //session_start(); session_register('email'); session_register('login'); session_register('senha'); $_SESSION['email'] = $row['email']; $_SESSION['login'] = $row['login']; $_SESSION['senha'] = $row['senha']; echo ""; exit; } else { $mensagem = base64_encode("Login ou senha Invalida"); } } } ?>

 

 

onde estou errando?

fui tentar fazer download do arquivo e de erro, parece que o site que estava lá, foi removido, poderia postar os arquivos novamente?

 

obrigado e até breve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

M!KOL,n sei quase nada de php só baixei o negocio e vi oq tinha dentro.

Sabe um kra que pesquisou no google "Como colocar um sistema de cadastramento em site" e que n sabe de nada?esse sou eu!

Porfavor me ajude

luketacanuto@hotmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola., implementei apenas o sistema de login, nao utilizei o restante, inclusive fiz meu proprio banco... porem... quando coloco login e senha ele sempre da que o usuario e senha estao incorretos....

 

aguardo uma resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sistema muito util... adorei

mas tipo eu quero saber como eu listo as informações do usuario logado?

Tipo na minha tabela tem la:

TIPO VIP | PONTOS ETC...

 

dai eu queria que no painel de quem logou aparecesse:

Seu Tipo VIP: Premium

Pontos: 1000

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara muito bom este sistema seu. Estou apredendo PHP e estou com dúvida quando vou atualizar os dados do mysql, eu tentei fazer aqui mas deu errado.

<?php
include("restringir.php");

if(isset($_POST['login']) && isset($_POST['senha'])) {
       require('SQL.php');
       $login = anti_injection($_POST['login']);
       $senha = md5(anti_injection($_POST['senha']));
       $email = anti_injection($_POST['email']);
       $query = mysql_query("SELECT * FROM usuarios WHERE login='$login' AND senha='$senha'") or die(mysql_error());
       $n_rows = mysql_num_rows($query);
       $row = mysql_fetch_assoc($query);
       if($n_rows > "0"){
               $update = mysql_query("UPDATE usuarios SET email='$email' WHERE login='$login'") or die(mysql_error());
               echo "<font face=\"verdana\" color=\"#FF0000\"><b>" . $mensagem . "</b></font><br>";
       } else {
               echo "<font face=\"verdana\" color=\"#FF0000\"><b>" . $mensagem1 . "</b></font><br>";
       }
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.text_form {font-family: Verdana; font-size: 10px; font-weight: bold; }
.table{
               margin: 0px;
               padding: 2px;
}
#field {
               margin: 0px;
               padding: 2px;
               width: 360px;
}
.FonTop{
       font-family: Verdana;
}
-->
</style>
</head>

<body><center>
<?php
echo'
<form name="form1" id="form1" action="bruno2.php" method="POST">
 Bem vindo '.$_SESSION['login'].' <br />
 <strong>Login: </strong> '.$_SESSION['login'].'<br />
 <strong>Senha: </strong> '.$_SESSION['senha'].'<br />
 <strong>Email: </strong> '.$_SESSION['email'].'<br />
 <br /><br />
 <form action="bruno2.php" method="post">
 <input name="login" type="text" id="login" value="'.$_SESSION['email'].'">
 <input type="submit" value="Alterar">
</form>
 ';
?>
</center>
</body>
</html>

Eu queria que ele no formulário ele ja mostra-se o valor atual ai voce modificaria ele e ele atualizava, mas quando eu clico em atualizar ele fica o mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

Queria saber 2% de php como quem fez este sistema.

Preciso fazer meu sistema nesta página: (central anunciante)

 

Como o PHP estará presente além do login, mas também no painel de adm e no gerenciamento dos serviços (menu lateral), pretendo fazer a conexão com PDO desde o inicio, não tenho experiência em PHP e achei esta forma mais fácil.

Tenho dúvidas básicas (chegando a ser infantis):

O sistema de login e restrição será feito pelo DW, mais prático para mim.

Para o cliente poder acessar o painel ele deve fazer o cadastro em uma página interna e aí poder acessar a central anunciante (no alto).

Todo o sistema de login para a central anunciante está na header (meu site está no WP), será o header que vou fazer a conexão com o BD, pelo DW?

A principio, somente o painel adm é restrito (como admin e cliente).

 

Outra coisa: quando cliente fizer o cadastro, gostaria que a mensagem de erro e de confirmação apareça na mesma área do form (o form sai) sem refresh.

Compartilhar este post


Link para o post
Compartilhar em outros sites

humm... quando da esse erro é porque voce ja declarou a funcão, e ta declarando novamente.

 

Onde ta declarando ela, certamente tem um require ou um include, no lugar você deve utilizar require_once ou include_once ...

 

assim o script ira chamar o arquivo apenas uma vez, mesmo que você "redeclare" ele.. ;)

 

fiz como você tinha dito no utorial e dava o mesmo erro dae troquei na slq.php e coloquei assim:

 

if(!function_exists('anti_injection'))
{
 function anti_injection($string){

 $string = str_ireplace(" or ", "", $string);
 $string = str_ireplace("select ", "", $string);
 $string = str_ireplace("delete ", "", $string);
 $string = str_ireplace("create ", "", $string);
 $string = str_ireplace("drop ", "", $string);
 $string = str_ireplace("update ", "", $string);
 $string = str_ireplace("drop table", "", $string);
 $string = str_ireplace("show table", "", $string);
 $string = str_ireplace("'", "", $string);
 $string = str_replace("#", "", $string);
 $string = str_replace("=", "", $string);
 $string = str_replace("--", "", $string);
 $string = str_replace("-", "", $string);
 $string = str_replace(";", "", $string);
 $string = str_replace("*", "", $string);
 $string = strip_tags($string);
 $string = addslashes($string);

 return $string;
}
}

 

perfeito agora

 

para quem quer mandar e-mail para o usuario, eu fiz assim em outro sistema meu depois da parte de cadastrar os dados no bd coloquei isso

 

não editei para este sistema aki pq to sem tempo, mas dah pra modificar sim para esto sistema, e eu tbm vou modificar para mim pq o sistema q tinha antes era uma porcaria sem md5 etc... kkkk

 

 

manda um e-mail em html para o usuario q cadastrou e tbm uma para mim, a ultima parte do script é para mim q vai o e-mail

 

if(!empty($_POST)){
$cab = "From: Sander Sites <Contato@sandersites.com.br>\n";
$cab .= "MIME-Version: 1.0\n"; 
$cab .= "Content-type: text/html; charset=iso-8859-1\n"; 
$link = <<<link
<a style="text-decoration: none;" href="http://www.sandersites.com.br">Sander Sites</a>
link;
$mensagem = "
<html>
<head>
<style>
b, strong, .BoldText {font-weight: bold;color: #444;}
</style>
</head>
<body>
<b>".$_POST['nome'].", Obrigado Por Ter Registrado-se Em Nosso Site. </b><br/><br/>
<b>Seguem Seus Dados De Login:</b><br/>
<b>Nome: </b>".$_POST['nome']." <br/>
<b>E-mail: </b>".$_POST['email']." <br/>
<b>Senha: </b>".$_POST['senha']." <br/><br/><br/>
<i>Esta Mensagem Chegou Até Você Pois Seu E-mail Foi Inserido Em Nosso Formulario De Cadastro<br/>
Caso Não Tenha Feita Esta Operação, Entre em Contato Pelo E-mail:<br/>
Contato@sandersites.com.br</i>
<br/><br/>
Grato,
<br/>
<b>". $link ."</b>
</body>
</html>
";
if(mail("".$_POST['email']."", "".$_POST['nome'].", Seu Cadastro Foi Realizado Com Sucesso! - SanderSites.com.br", $mensagem,$cab)){}
} 

// para mim:

if(!empty($_POST)){
       $cab = "From: ".$_POST['nome']." <".$_POST['email'].">\n";
       $cab .= "MIME-Version: 1.0\n"; 
       $cab .= "Content-type: text/html; charset=iso-8859-1\n"; 
       $ip = $_SERVER['REMOTE_ADDR']; //função para pegar o ip do usuário
	$hora = date("H:i"); //para pegar a hora com a função date
   $mensagem = "
<html>
<head>
<style>
b, strong, .BoldText {font-weight: bold;color: #444;}
</style>
</head>
<body>
<br/>
<b>Novo Usuario Cadastrado:</b> ".$_POST['nome']." </b><br/>
<b>Hora:</b> <i>". $hora ."</i><br/>
<b>IP:</b> <i>". $ip ."</i><br/>
<b>Nome:</b> <i>".$_POST['nome']."</i><br/>
<b>E-mail:</b> <i>".$_POST['email']."</i><br/>
<b>Senha:</b> <i>".$_POST['senha']."</i><br/><br/><br/>
<b>Para Entrar Em Contato, Mande Um E-mail Para:</b><br/> <i>".$_POST['email']."</i>
<br/>
</body>
</html>
";
if(mail("contato@sandersites.com.br", "Novo Usuario Cadastrado: ".$_POST['nome']."", $mensagem,$cab)){}
}

 

modifiquem se gostarem, realmente fica legal em html o e-mail, só naum usem divs pq dah erro, temos problemas com divs em e-mail...

 

podem fazer com tabelas ae, eu vou fazer para mim um template para este formulario, só deve estar incluido no head dentro de <style>blablabla</style>, pq se por css externo dah erro (ou pode dar)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.