Jump to content
Salvatore

Problema com identificação de senha em PHP Criptografada

Recommended Posts

2 horas atrás, Salvatore disse:

eu erro, pedindo pra preencher a senha, sendo que a mesma está correta

 

<?php
session_start ();

include ( 'admin/db/config.php' );

if ( isset ( $_POST [ 'Usuario' ] ) && isset ( $_POST [ 'Senha' ] ) ) {

	$Usuario = $_POST [ 'Usuario' ];
	$Senha = md5 ( trim ( $_POST [ 'Senha' ] ) );

	$get = mysqli_query ( $con, "SELECT * FROM nlogin WHERE Usuario = '$Usuario'" ) or die ( mysql_error ( $con ) );
	$num = mysqli_num_rows ( $get );


	if ( $num !== 0 ) {

		while ( $percorrer = mysqli_fetch_assoc ( $get ) ) {

			if ( preg_match ( '/(\$[\w]+\$)([\w]+)(\@[\w\/=._]+)/', $percorrer [ 'Senha' ], $matches ) ) {

				$adm = $percorrer [ 'adm' ];
				$Usuario = $percorrer [ 'Usuario' ];

				if ( $matches [ 2 ] === $Senha ) {

					$_SESSION [ 'adm' ] = $Usuario;
					header ( 'Location: admin/index.php' );

				} else {

					$_SESSION [ 'nor' ] = $Usuario;
					header ( 'Location: index.php' );

				}

			} else {

				echo "Error, Formato de senha incorreta!";

			}

		}

	} else {

		echo "Error, Verifique os dados inseridos!";

	}

} else {

	echo "Error, Preencha todos os campos!";

}

 

Share this post


Link to post
Share on other sites
21 horas atrás, ShadowDLL disse:

 


<?php
session_start ();

include ( 'admin/db/config.php' );

if ( isset ( $_POST [ 'Usuario' ] ) && isset ( $_POST [ 'Senha' ] ) ) {

	$Usuario = $_POST [ 'Usuario' ];
	$Senha = md5 ( trim ( $_POST [ 'Senha' ] ) );

	$get = mysqli_query ( $con, "SELECT * FROM nlogin WHERE Usuario = '$Usuario'" ) or die ( mysql_error ( $con ) );
	$num = mysqli_num_rows ( $get );


	if ( $num !== 0 ) {

		while ( $percorrer = mysqli_fetch_assoc ( $get ) ) {

			if ( preg_match ( '/(\$[\w]+\$)([\w]+)(\@[\w\/=._]+)/', $percorrer [ 'Senha' ], $matches ) ) {

				$adm = $percorrer [ 'adm' ];
				$Usuario = $percorrer [ 'Usuario' ];

				if ( $matches [ 2 ] === $Senha ) {

					$_SESSION [ 'adm' ] = $Usuario;
					header ( 'Location: admin/index.php' );

				} else {

					$_SESSION [ 'nor' ] = $Usuario;
					header ( 'Location: index.php' );

				}

			} else {

				echo "Error, Formato de senha incorreta!";

			}

		}

	} else {

		echo "Error, Verifique os dados inseridos!";

	}

} else {

	echo "Error, Preencha todos os campos!";

}

 

Foi, mas uma coisa que ta acontecendo agr e que ele está levando qualquer pessoa pra pagina do adm, antes eu tentava se $adm = 1 redireciona pro painel, ajuda  eu?

 

 

Outro error e que quando eu tento exibir o nome do Usuario da Session da um erro

Notice: Undefined index: Usuario in C:\xampp\htdocs\200cono\admin\index.php 

Share this post


Link to post
Share on other sites

Vamos lá!

 

 

18 horas atrás, Salvatore disse:

Foi, mas uma coisa que ta acontecendo agr e que ele está levando qualquer pessoa pra pagina do adm, antes eu tentava se $adm = 1 redireciona pro painel, ajuda  eu?

 

O mesmo será redirecionado somente se os dados
do mesmo forem correspondenter... Este não seria
o propósito?

Mas suponhamos que você tente acessar a página
diretamente 
e por sua vez consegui-se visualizar 
todo o conteúdo... Pensando nisso você deverá
fazer uma verificação, algo assim:
 

CÓDIGO

<?php

# VERIFICA SE A SESSÂO FOI SETADA
if ( ! isset ( $_SESSION [ 'adm' ] ) ) {
	# CASO CONTRARIO, ENVIA PARA O INDEX
	# PARA REALIZAR LOGIN
	header ( 'Location: index.php' );
}


# ====================

 

 

18 horas atrás, Salvatore disse:

Outro error e que quando eu tento exibir o nome do Usuario da Session da um erro

Notice: Undefined index: Usuario in C:\xampp\htdocs\200cono\admin\index.php 

O nome da sessão não é Usuario, sim adm...

CÓDIGO
 

<?php

# EXIBE NOME DO ADM
echo $_SESSION [ 'adm' ];


LINKS ÚTEIS

SISTEMA DE LOGIN

MANIPULANDO SESSÕES

Share this post


Link to post
Share on other sites
9 horas atrás, ShadowDLL disse:

<?php

# VERIFICA SE A SESSÂO FOI SETADA
if ( ! isset ( $_SESSION [ 'adm' ] ) ) {
	# CASO CONTRARIO, ENVIA PARA O INDEX
	# PARA REALIZAR LOGIN
	header ( 'Location: index.php' );
}

 

como faço pra verificar 2 session?

nor e adm

Share this post


Link to post
Share on other sites

Salvatore

Simples, basta você colocar os comandos condicionais de comparação no seu IF.

 

Exemplo.

 

IF (Condição 1 AND Condição2) O comando AND precisa que as 2 condições sejam verdadeiras para entrar no IF

 

IF (Condição 1 OR Condição2) O comando OR precisa que apenas 1 das condições sejam verdadeiras para entrar no IF.

<?php
# VERIFICA SE A SESSÂO FOI SETADA
if ( !isset($_SESSION['adm']) AND !isset($_SESSION['nor'])) {
	// SE AS DUAS VARIAVEIS DE SESSÃO ESTIVEREM SEM CONTEUDO
    // ENVIA PARA O INDEX PARA REALIZAR LOGIN
	header ( 'Location: index.php' );
    EXIT(); //Não esquecer do comando EXIT() após o HEADER.
}
?>

Espero ter ajudado de alguma forma.

 

Att
Felipe Guedes Coutinho

Share this post


Link to post
Share on other sites
6 horas atrás, Felipe Guedes Coutinho disse:

Salvatore

Simples, basta você colocar os comandos condicionais de comparação no seu IF.

 

Exemplo.

 

IF (Condição 1 AND Condição2) O comando AND precisa que as 2 condições sejam verdadeiras para entrar no IF

 

IF (Condição 1 OR Condição2) O comando OR precisa que apenas 1 das condições sejam verdadeiras para entrar no IF.


<?php
# VERIFICA SE A SESSÂO FOI SETADA
if ( !isset($_SESSION['adm']) AND !isset($_SESSION['nor'])) {
	// SE AS DUAS VARIAVEIS DE SESSÃO ESTIVEREM SEM CONTEUDO
    // ENVIA PARA O INDEX PARA REALIZAR LOGIN
	header ( 'Location: index.php' );
    EXIT(); //Não esquecer do comando EXIT() após o HEADER.
}
?>

Espero ter ajudado de alguma forma.

 

Att
Felipe Guedes Coutinho

Resolvido

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Sapinn
      Opa galera tudo blz? Então, me deparei com um pequeno problema no desenvolvimento de um projeto, eu gostaria que o usuário se mantivesse logado caso ele marcasse um check box com a opção de "Mantenha-me conectado", e até entendo que nessa caso devo usar os cookies do PHP, entretanto, não entendi ainda como usar esse recurso, alguém pode me ajudar??
    • By lezão
      Boa noite!
      Estou tentando fazer um codigo de horario de atendimento, e naun estou tendo resultados.
      Alguem pode me ajudar :
      <?php if ($hoje = 3 & $hoje < 5 & $hora >= 0 & $hora < 08){ echo "<font face='verdana', arial' size=2 color='red'>Fechado</font>";} else if ($hoje > 3 & $hoje < 5 & $hora >= 08 & $hora < 18){ echo "<font face='verdana', arial' size=2 color='red'>Fechado</font>";} else if ($hoje = 3 & $hora >= 18 & $hora < 23){ echo "<font face='verdana', arial' size=2 color='green'>Aberto</font>";} ?>  
    • By AndersonWS
      Meu site está caindo muito nos últimos dias. Basicamente acessa e não aparece nada, uma tela em branco. O pessoal da hospedagem falou que tenho que otimizar o banco de dados e que o problema é esse. Acho estranho pois o mesmo site não caia e agora "do nada" tem esse problema. Fiz um teste de tracert no cmd para ver as rotas e deu a mensagem: Esgotado o tempo limite do pedido. Isso me parece o problema e não o banco de dados.
      Otimização do banco tem alguma coisa a ver com essa mensagem?
      Poderia o site por não estar muito otimizado simplesmente não mostrar nada na tela? Não deveria carregar ao menos o html?
      Se não for o local certo da pergunta me perdoem mas como falaram que o problema era o banco de dados postei aqui.
      Grato.
    • By manolegal
      Olá amigos(as) do Fórum.
      Tenho um número inteiro no PHP e preciso inseri-lo no Postgresql com 02 casas decimais.
      Defini o campo no Postgresql do tipo numeric(14,2)
      O valor está assim no PHP:
      2961966 Preciso gravar no BD da seguinte maneira:
      29619.66 Porém está gravando da seguinte forma:
      2961966.00 Tentei utilizando number_format, porém não consegui:
      $numero_bd = number_format($numero, '.', ''); $numero_bd = number_format($numero,2,"."); $numero_bd = number_format($numero,2,","numerovalor_ref_15,2,",","."); Caso alguém possa me ajudar, desde já agradeço.
    • By Felper
      Criei um sistema de login com php e mysql mas não consigo realizar o login mesmo tendo certeza de que os dados foram cadastrados com sucesso. Não sei o que fiz de errado. Vejam o código:
      <?php $login2 = $_POST['loginlogar']; $senha2 = $_POST['senhalogar']; $link = mysqli_connect("localhost", "root", "", "bancolanche") or die("<h1>Não foi possível conectar!!</h1>". mysqli_error()); $banco = mysqli_select_db($link, "bancolanche") or die("<h1>Não foi possível abrir banco de dados!!</h1>". mysqli_error()); $sql = "SELECT login, senha FROM users"; $resulta = mysqli_query($link, $sql); while ($book = $resulta->fetch_object()) { $logindb = $book->login; $senhadb = $book->senha; } if($login2 == "" || $senha2 == ""){ $_SESSION['msg'] = "<h1 style='color:red'>Erro ao logar! Há campos de preenchimento obrigatório em branco.</h1>"; header("Location: logar.php"); } else { if($logindb==$login2 && $senhadb==$senha2){ $_SESSION['msg'] = "<h1 style='color:green'>Logoff realizado com sucesso!</h1>"; header("Location: index.html"); } else { $_SESSION['msg'] = "<h1 style='color:red'>Erro ao logar! Usuário inexistente ou senha incorreta.</h1>"; header("Location: logar.php"); } } mysqli_close($link); ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.