禁止在简单的PHP登录系统中访问文件

Tru*_*ufa 5 php passwords session protection password-protection

我写了这个非常简单的PHP登录系统:

<?php
    session_start();
    $error = '';

    if (isset($_POST['username']) && isset($_POST['password']))
    {
        if ($_POST['username'] == 'user' && $_POST['password'] == 'pass')
        {
            $_SESSION['client'] = 'ok';
            Header ("location: /kit/kit/index.php");
        }
        else
        {
            $error = 'Usuario o contrase&ntilde;a incorrectos.';
        }
    }

?>
Run Code Online (Sandbox Code Playgroud)

不必担心漏洞问题,它不会保护任何有价值的东西。

在每个.php页面中,我添加:

<?php
    session_start();

    if (!isset($_SESSION['client']) || $_SESSION['client'] != 'ok')
    {
        Header ("location: /kit/index.php");
        die();
    }

?>
Run Code Online (Sandbox Code Playgroud)

这样可以很好地保护.php会话。

问题在于这不能保护文件。

我的意思是如果直接去:

东西/其他/file.zip

无论您是否登录,它将下载它。

我希望这个问题很清楚,如果不能,请提出!