0

人々が特定のページにログインしているかどうかを確認するためのロック ファイルを作成しましたが、実際に公開するのに十分な安全性があるかどうか、または人々がこのロックを簡単に回避できるかどうかに興味がありました。

現在、私のコードは次のとおりです。

<?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に少し慣れておらず、よくわかりません。

4

1 に答える 1