无需通过身份验证页面即可访问我的网站

时间:2016-10-28 13:50:30

标签: php

我有一个网站,我希望它可以通过名为login.html的身份验证页面访问,其中是我的表单。 我的身份验证页面有效,但如果我在地址栏中写下我网站的直接网址,例如www.website.com/index.html,我可以访问我的网站而无需通过身份验证页面。 所以这是我的代码名为' login.php',以访问我的登录和密码所在的postgresql数据库。



<?php
 
// Parametre de  connection 
$host = 'localhost';
$database = 'base';
$user = 'postgres';
$pass = 'postgres';
$port = '5432';
 
$dns = 'pgsql:host='.$host .';port='.$port .';dbname='.$database;
 
try
{
 
  if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['mdp'])) {
  extract($_POST);
 
  $bdd = new PDO("pgsql:host=$host;dbname=$database",$user,$pass);
  $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
  $sql = $bdd->query("SELECT pwd FROM nom_table WHERE login = '".$login."'");
 
  $result = $sql->fetch(PDO::FETCH_ASSOC);
 
  if ($result['pwd'] != $mdp) {
    echo '<body onLoad="alert(\'Mauvais mot de passe\')">';
    header ('location:login.html');
  }
  else {
    session_start();
    $_SESSION['login'] = $login;
    echo 'Vous êtes connecté';
    header ('location:index.html');
  }
}
else {
    echo '<body onLoad="alert(\'Les variables du formulaire ne sont pas déclarées\')">';
    header ('location:login.html');
}
 
 
    }
catch(Exception $e)
{
        echo "Connection a la BDD impossible : ", $e->getMessage();
  die();
}
 
//header('Location:index.html');
?>
&#13;
&#13;
&#13;

然后我在网站代码的开头添加了这段代码:

&#13;
&#13;
<?
session_start();
 
if(!isset($_SESSION['login'])) {
  header('Location: login.html');
}
?>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我不知道这是不是一个错字,但你的页面必须有&#34; .php&#34;扩展,而不是&#34; .html&#34;。