Php 此文件是否可以作为安全锁定文件传递?

Php 此文件是否可以作为安全锁定文件传递?,php,session,pbo,Php,Session,Pbo,我制作了一个锁文件,以查看人们是否登录到某些页面,我很好奇它是否真的足够安全,可以上线,或者人们是否可以轻松绕过这个锁 这是我目前的代码: <?php session_start(); if ((isset($_POST['user'])) && (isset($_POST['pass']))) { $_SESSION['user'] = $_POST['user']; $_SESSION['pass'] = $_POST['pass']; } includ

我制作了一个锁文件,以查看人们是否登录到某些页面,我很好奇它是否真的足够安全,可以上线,或者人们是否可以轻松绕过这个锁

这是我目前的代码:

<?php
session_start();
if ((isset($_POST['user'])) && (isset($_POST['pass']))) {
    $_SESSION['user'] = $_POST['user'];
    $_SESSION['pass'] = $_POST['pass'];
}
include("config.php");
if ((isset($_SESSION['user']) && (isset($_SESSION['pass'])))) {
$sql = "SELECT count(*) FROM `users` WHERE user = :name and pass = :pass"; 
$result = $db->prepare($sql);
$result->bindValue(':name', $_SESSION['user']);
$result->bindValue(':pass', $_SESSION['pass']);
$result->execute(); 
$number_of_rows = $result->fetchColumn();
if ($number_of_rows !== 1){
    echo "ERROR - USER AND PASS DO NOT MATCH";
} else { echo "SUCCESS!"; }
} else { echo "YOU NEVER LOGGED IN!"; }
?>


我觉得因为它检查数据库中的用户和密码是否匹配,所以实际上没有办法解决这个问题,但同时我对PHP有点陌生,也不太清楚。

您可以将此添加到代码之上

<?php
session_start();
if(empty($_SESSION['user']) && empty($_SESSION['pass']))
{
header("location:your_login_page.php");
exit();
}

我很确定我已经在第8行使用了
如果((isset($\u SESSION['user'])&(isset($\u SESSION['pass']))))
这本质上不是一回事吗?“这可以作为一个安全锁文件传递吗?”-只要您使用准备好的语句/PDO,您就可以了。这就是PDO的用途。