Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
preciso de adaptar meu login para ter permissoes ja criei o campo classe no meu bd.
seguranca.php
<?php
// Configurações do Script
// ==============================
$_SG['conectaServidor'] = true; // Abre uma conexão com o servidor MySQL?
$_SG['abreSessao'] = true; // Inicia a sessão com um session_start()?
$_SG['caseSensitive'] = false; // Usar case-sensitive? Onde 'thiago' é diferente de 'THIAGO'
$_SG['validaSempre'] = true; // Deseja validar o usuário e a senha a cada carregamento de página?
// Evita que, ao mudar os dados do usuário no banco de dado o mesmo contiue logado.
$_SG['servidor'] = 'localhost'; // Servidor MySQL
$_SG['usuario'] = 'root'; // Usuário MySQL
$_SG['senha'] = ''; // Senha MySQL
$_SG['banco'] = 'cadastro'; // Banco de dados MySQL
$_SG['paginaLogin'] = 'login.php'; // Página de login
$_SG['tabela'] = 'usuarios'; // Nome da tabela onde os usuários são salvos
// ==============================
// ======================================
// ~ Não edite a partir deste ponto ~
// ======================================
// Verifica se precisa fazer a conexão com o MySQL
if ($_SG['conectaServidor'] == true) {
$_SG['link'] = mysql_connect($_SG['servidor'], $_SG['usuario'], $_SG['senha']) or die("MySQL: Não foi possível conectar-se ao servidor [".$_SG['servidor']."].");
mysql_select_db($_SG['banco'], $_SG['link']) or die("MySQL: Não foi possível conectar-se ao banco de dados [".$_SG['banco']."].");
}
// Verifica se precisa iniciar a sessão
if ($_SG['abreSessao'] == true) {
session_start();
}
/**
* Função que valida um usuário e senha
*
* @param string $usuario - O usuário a ser validado
* @param string $senha - A senha a ser validada
* @param string $classe - A classe a ser validada
*
* @return bool - Se o usuário foi validado ou não (true/false)
*/
function validaUsuario($usuario, $senha, $classe) {
global $_SG;
$cS = ($_SG['caseSensitive']) ? 'BINARY' : '' ;
// Usa a função addslashes para escapar as aspas
$nusuario = addslashes($usuario);
$nsenha = addslashes($senha);
$nclasse = addslashes($classe);
// Monta uma consulta SQL (query) para procurar um usuário
$sql = "SELECT `id`, `nome` FROM `".$_SG['tabela']."` WHERE ".$cS." `usuario` = '".$nusuario."' AND ".$cS." `senha` = '".$nsenha."' AND
`classe` = '".$nclasse."' LIMIT 1";
$query = mysql_query($sql);
$resultado = mysql_fetch_assoc($query);
// Verifica se encontrou algum registro
if (empty($resultado)) {
// Nenhum registro foi encontrado => o usuário é inválido
return false;
} else {
// O registro foi encontrado => o usuário é valido
// Definimos dois valores na sessão com os dados do usuário
$_SESSION['usuarioID'] = $resultado['id']; // Pega o valor da coluna 'id do registro encontrado no MySQL
$_SESSION['usuarioNome'] = $resultado['nome']; // Pega o valor da coluna 'nome' do registro encontrado no MySQL
// Verifica a opção se sempre validar o login
if ($_SG['validaSempre'] == true) {
// Definimos dois valores na sessão com os dados do login
$_SESSION['usuarioLogin'] = $usuario;
$_SESSION['usuarioSenha'] = $senha;
$_SESSION['usuarioClasse'] = $classe;
}
return true;
}
}
/**
* Função que protege uma página
*/
function protegePagina() {
global $_SG;
if (!isset($_SESSION['usuarioID']) OR !isset($_SESSION['usuarioNome'])) {expulsaVisitante();
} else if (!isset($_SESSION['usuarioID']) OR !isset($_SESSION['usuarioNome'])) {if (!validaUsuario($_SESSION['usuarioLogin'], $_SESSION['usuarioSenha'])) {
if (!validaUsuario($_SESSION['usuarioClasse'], $_SESSION['usuarioClasse'])) {expulsaVisitante();
}
}
}
}
}function expulsaVisitante() {
global $_SG;
// Remove as variáveis da sessão (caso elas existam)
unset($_SESSION['usuarioID'], $_SESSION['usuarioNome'], $_SESSION['usuarioLogin'], $_SESSION['usuarioSenha'], $_SESSION['usuarioClasse']);
// Manda pra tela de login
header("Location: ".$_SG['paginaLogin']);
}
?>
valida.php -
<?php
// Inclui o arquivo com o sistema de segurança
include("seguranca.php");
// Verifica se um formulário foi enviado
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$usuario = (isset($_POST['usuario'])) ? $_POST['usuario'] : '';
$senha = (isset($_POST['senha'])) ? sha1($_POST['senha']) : '';
$classe = (isset($_POST['classe'])) ? sha1($_POST['classe']) : '';
if($sql['classe'] == 0) {
header("Location: painel.php");
} else if($sql['classe'] == 1) {
header("Location: paineluser.php");
}header("Location: painel.php");
}*/
}
else {
expulsaVisitante();
}
?>
login.php
<form method="post" action="valida.php">
<table width="200" border="0" align="center">
<tr>
<td>Usuário:</td>
<td><input type="text" name="usuario" maxlength="50" /></td>
</tr>
<tr>
<td>Senha:</td>
<td><input type="password" name="senha" maxlength="50" /></td>
</tr>
<tr>
<td>Classe:</td>Ex: 0 para adm e 1 para user.
<td><input type="password" name="classe" maxlength="1" /></td>
</tr>
<td><input type="submit" value="Entrar" /></td>
</table>
</form>Carregando comentários...