Php 会话保护

Php 会话保护,php,session,password-protection,Php,Session,Password Protection,我正在一点一点地创建一个网页,测试部分网页想法。我想学习如何会话保护页面。我已经用密码安全地保护了一个页面,但是任何人都可以通过键入url来访问该页面。我希望会话保护我的页面,这样就没有人可以这样做。我有三个页面:index.html,它的表单发送password.php,password.php,它使用“if stations”(这里是“if statment”)确保密码和用户名是正确的 if($username==“mgmb99”){ 如果($password=='mgmb91mas'){

我正在一点一点地创建一个网页,测试部分网页想法。我想学习如何会话保护页面。我已经用密码安全地保护了一个页面,但是任何人都可以通过键入url来访问该页面。我希望会话保护我的页面,这样就没有人可以这样做。我有三个页面:index.html,它的表单发送password.php,password.php,它使用“if stations”(这里是“if statment”)确保密码和用户名是正确的

if($username==“mgmb99”){
如果($password=='mgmb91mas'){
标题('Location:youhere.php');
}否则{
回显“您的用户名或密码错误”;
}}否则{
回显“您的用户名或密码错误”;
};
,以及youhere.php,这是您登录后的页面

$_SESSION['connect']=0;
将会话中的连接值设置为0

当前此支票:

  if((!$_SESSION['connect']))
将始终返回true,因为如果未设置
$\u会话['connect']
,则
$_会话['connect']
将为真。同样地,
如果(!0)
将为真

尝试将
$\u SESSION['connect']
设置为true或1或类似值,或者将检查更改为:

if(!array_key_exists('connect',$_SESSION))
(!$\u SESSION['connect'])
在未设置SESSION变量以及将其设置为0时将为true。因此,如果您想保护youhere.php,您需要分配另一个值并进行检查


另外,
session\u destroy()
将删除所有会话变量,因此您登录后,可以转到youhere.php,但如果您刷新网站,您将立即注销

php网站上有大量关于会话的信息。

下面是一个存储和终止会话变量的示例。

要设置会话变量,请执行以下操作:

<?php
session_start();
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}
?>
<?php
  session_start();
  unset($_SESSION['count']);
?>

要终止会话变量,请执行以下操作:

<?php
session_start();
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}
?>
<?php
  session_start();
  unset($_SESSION['count']);
?>