Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // Inclui o arquivo com o sistema de segurança
- require_once("seguranca.php");
- // Verifica se um formulário foi enviado
- if ($_SERVER['REQUEST_METHOD'] == 'POST') {
- // Salva duas variáveis com o que foi digitado no formulário
- // Detalhe: faz uma verificação com isset() pra saber se o campo foi preenchido
- $loginname = (isset($_POST['loginname'])) ? $_POST['loginname'] : '';
- $password = (isset($_POST['password'])) ? $_POST['password'] : '';
- // Utiliza uma função criada no seguranca.php pra validar os dados digitados
- if (validaLogin($loginname, $password) == true) {
- // O usuário e a senha digitados foram validados, manda pra página interna
- header("Location: index.php");
- } else {
- // O usuário e/ou a senha são inválidos, manda de volta pro form de login
- // Para alterar o endereço da página de login, verifique o arquivo seguranca.php
- expulsaVisitante();
- }
- }
- ?>
- <?php
- // estabelecer a ligação à base de dados
- //include ("connect.php");
- // Configurações do Script
- // ==============================
- $_SG['conectaServidor'] = true; // Abre uma conexão com o servidor PostgreSQL?
- $_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 utilizador e a password a cada carregamento de página?
- // Evita que, ao mudar os dados do login na base de dado o mesmo contiue logado.
- //$_SG['servidor'] = '192.168.0.4'; // Servidor
- //$_SG['loginname'] = 'julia'; // Utilizador
- //$_SG['password'] = 'postgresqlphp'; // Password
- //$_SG['base'] = 'datbase'; // Base de dados
- $_SG['paginaLogin'] = 'hoteis.php'; // Página de login
- //$_SG['tabela'] = 'extranet_login'; // Nome da tabela onde os utilizadores são salvos
- // ==============================
- // ======================================
- // ~ Não edite a partir deste ponto ~
- // ======================================
- // Verifica se precisa fazer a conexão com o PostgreSQL
- if ($_SG['conectaServidor'] == true) {
- $_SG['link'] = pg_connect("host=192.168.0.4 dbname=datbase user=julia password=postgresqlphp") or die("PostgreSQL: Não foi possível conectar-se ao servidor [".$_SG['servidor']."].");
- //mysql_select_db($_SG['base'], $_SG['link']) or die("MySQL: Não foi possível conectar-se a base de dados [".$_SG['base']."].");
- }
- // Verifica se precisa iniciar a sessão
- if ($_SG['abreSessao'] == true)
- session_start();
- /**
- * Função que valida um login e password
- *
- * @param string $login - O login a ser validado
- * @param string $password - A password a ser validada
- *
- * @return bool - Se o login foi validado ou não (true/false)
- */
- function validaLogin($loginname, $password) {
- global $_SG;
- $cS = ($_SG['caseSensitive']) ? 'BINARY' : '';
- // Usa a função addslashes para escapar as aspas
- $nlogin = addslashes($loginname);
- $npassword = addslashes($password);
- // Monta uma consulta SQL (query) para procurar um utilizador
- $sql = "SELECT login', 'password' FROM '".$_SG['extranet_login']."', WHERE ".$cS." 'login' = '".$nlogin."' AND ".$cS." 'password' = '".$npassword."' LIMIT 1"; /* ou coloca soma nºlogin > 1*/
- $query = pg_query($sql); //or die('Query failed: ' . pg_result_error());
- $resultado = pg_fetch_all($query);
- // Verifica se encontrou algum registro
- if (empty($resultado)) {
- // Nenhum registro foi encontrado => o utilizador é inválido
- return false;
- } else {
- // Definimos dois valores na sessão com os dados do utilizador
- $_SESSION['loginID'] = $resultado['login']; // Pega o valor da coluna 'id do registro encontrado no PostgreSQL
- $_SESSION['loginPass'] = $resultado['password']; // Pega o valor da coluna 'nome' do registro encontrado no PostgreSQL
- // 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['userLogin'] = $login;
- $_SESSION['userPassword'] = $password;
- }
- return true;
- }
- }
- /**
- * Função que protege uma página
- */
- function protegePagina() {
- global $_SG;
- if (!isset($_SESSION['loginID']) OR !isset($_SESSION['loginPass'])) {
- // Não há utilizador logado, manda pra página de login
- expulsaVisitante();
- } else if (!isset($_SESSION['loginID']) OR !isset($_SESSION['loginPass'])) {
- // 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 base de dados
- if (!validaLogin($_SESSION['userLogin'], $_SESSION['userPassword'])) {
- // Os dados não batem, manda pra tela de login
- expulsaVisitante();
- }
- } else {
- }
- }
- }
- /**
- * Função para expulsar um visitante
- */
- function expulsaVisitante() {
- global $_SG;
- // Remove as variáveis da sessão (caso elas existam)
- unset($_SESSION['loginID'], $_SESSION['loginPass'], $_SESSION['userLogin'], $_SESSION['userPassword']);
- // Manda pra tela de login
- header("Location: ".$_SG['paginaLogin']);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement