TELA DE LOGIN
style type="text/css">
.diretoreservado { color: #FFF;
}
.Usersenha {
color: #FFF;
}
.usersernha {
font-family: Verdana, Geneva, sans-serif;
}
.Usersenha p strong {
font-family: Verdana, Geneva, sans-serif;
}
.intranet {
font-family: Verdana, Geneva, sans-serif;
font-size:25px;
color: #FFF;
}
.Usersenha {
font-family: Verdana, Geneva, sans-serif;
color: #FFF;
}
.Usersenha {
color: #FFF;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>
<body background="img/bg.png">
</HEAD>
<BR><BR>
<script language="Javascript">
function valida()
{
var senha = document.na_autenticacao.senha.value
if (senha==""){
alert("Colaborador(a), É necessário o preenchimento de todos os campos");
document.na_autenticacao.senha.focus()
return false
}
}
</script>
</p>
<form method="post" action="valida.php" name="na_autenticacao" onSubmit="return valida();">
<tr>
<td width="18%" class="Usersenha"><p align="center"><strong><img src="img/Login.png" alt="" width="64" height="64"> <span class="intranet">Intranet</span></strong></p>
<p align="center" class="Usersenha">Informe seu usuário e senha de rede. </p>
<p align="center" class="Usersenha"> </p></td>
</tr>
<tr>
<td class="Usersenha"> <div align="center"></div></td>
<td><div align="center">
<table width="200" border="0">
<tr>
<td><div align="center"><span class="Usersenha">Usuário:</span></div></td>
<td><div align="center">
<span class="Usersenha">
<input name="usuario" type="text" size="25" maxlength="20" />
</span></div></td>
</tr>
<tr>
<td><div align="center"><span class="Usersenha">Senha:</span></div></td>
<td><div align="center">
<span class="Usersenha">
<input name="senha" type="password" size="25" maxlength="50" />
</span></div></td>
</tr>
<tr>
<td><div align="center"></div></td>
<td><div align="center">
<span class="Usersenha">
<input type="submit" value="ENTRAR">
<input type="reset" value="LIMPAR">
</span></div></td>
</tr>
</table>
PROTECAO DA PAGINA
<?php
include "seguranca.php";
if ( $logado == ""){
exit("
<script>window.location=('intranet/negado.php')</script>
<script>alert('Você não tem acesso a essa página')</script>");
}
?>
VALIDACAO
<?php
include("seguranca.php");
//Aqui chamamos a funcao Login_LDAP que ira nos retornar True ou False
if (Login_LDAP($_POST['usuario'],$_POST['senha'])) {
//Se retornar True (login com sucesso faça os paços abaixo
//Mostra mensagem na Tela, caso demore para processar as linhas abaixo (não ficar uma tela em branco)
echo utf8_encode("usuário autenticado");
//Criar o cookie
LoginCookies($_POST['usuario'],$_POST['senha']);
//Encaminha o usuario para a proxima pagina que neste caso chama-se abertura.php
header("Location: index.php");
} else {
//Se retornar Falso execute os paços abaixo
//mostra uma mensagem na tela informando que deu errado o logon e fornece um link para voltar a pagina anterior
echo ("usuário ou senha inválida. <a href=\"javascript:history.go(-1)\">voltar</agt;");
//Chama a funcao de desconectar o usuario, esta funcao pode ser utiliza no botao sair tb da pagina, ele limpa os cookies
expulsaVisitante();
}
?>
//-------------------------------
Seguração.php
Você tem que configurar de acordo com seu servidor
<?php
// Configurações do Script
// ==============================
$_SG['abreSessao'] = true; // Inicia a sessão com um session_start()?
$_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['AdServer'] = 'seu dominio';
$_SG['dominio'] = 'nome server';
$_SG['paginaLogin'] = 'negado.php'; // Página de login, caso falhe o usuario sera encaminhado para esta pagina
// ======================================
// ~ Não edite a partir deste ponto ~
// ======================================
// Verifica se precisa iniciar a sessão
if ($_SG['abreSessao'] == true) {
global $_SG;
session_start();
}
function Login_LDAP($user, $password)
{
global $_SG;
$ldap_server = $_SG['AdServer'];
$auth_user = $_SG['dominio'] . trim(" \ ") . $user;
$auth_pass = $password;
// Tenta se conectar com o servidor
if (!($connect = @ldap_connect($ldap_server))) {
return FALSE;
}
// Tenta autenticar no servidor
if (!($bind = @ldap_bind($connect, $auth_user, $auth_pass))) {
// se não validar retorna false
return FALSE;
} else {
// se validar retorna true
return TRUE;
}
}
Function LoginCookies($usuario,$senha)
{
global $_SG;
// Definimos dois valores na sessão com os dados do usuário
$_SESSION['usuarioID'] = $usuario; // Pega o valor da coluna 'id do registro encontrado no MySQL
$_SESSION['usuarioNome'] = $senha; // 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;
}
}
/**
* Função que protege uma página
*/
function protegePagina()
{
global $_SG;
if (!isset($_SESSION['usuarioID']) OR !isset($_SESSION['usuarioNome'])) {
// Não há usuário logado, manda pra página de login
expulsaVisitante();
} else if (!isset($_SESSION['usuarioID']) OR !isset($_SESSION['usuarioNome'])) {
// Há usuário logado, verifica se precisa validar o login novamente
if ($_SG['validaSempre'] == true) {
// Verifica se os dados salvos na sessão batem com os dados do banco de dados
if (!Login_LDAP($_SG['AdServer'],$_SG['dominio'] . trim(" \ ") . $_SESSION['usuarioLogin'], $_SESSION['usuarioSenha'])) {
// Os dados não batem, manda pra tela de login
expulsaVisitante();
}
}
}
}
/**
* Função para expulsar um visitante
*/
function expulsaVisitante() {
global $_SG;
// Remove as variáveis da sessão (caso elas existam)
unset($_SESSION['usuarioID'], $_SESSION['usuarioNome'], $_SESSION['usuarioLogin'], $_SESSION['usuarioSenha']);
// Manda pra tela de login
header("Location: ".$_SG['paginaLogin']);
}
global $logado;
$logado = $_SESSION['usuarioLogin'];
?>
Nenhum comentário:
Postar um comentário