PHP+MySQL登录系统

PHP+MySQL登录系统,php,mysql,Php,Mysql,我遵循了众多在线指南之一,使用PHP和MySQL创建了一个登录系统。它工作得很好;您必须登录,然后重定向到/private目录。其中有一个index.php文件,必须检查您是否经过身份验证,以防止有人直接浏览/private目录。如果您不是,您将被重定向回登录屏幕。但是,如果你浏览到/private.g./private/myprivatefile.html中的任何其他文件或目录,即使你没有登录,也不会被重定向。您能帮我吗?您可能需要使用mod_rewrite将所有请求重定向到PHP脚本,然后在

我遵循了众多在线指南之一,使用PHP和MySQL创建了一个登录系统。它工作得很好;您必须登录,然后重定向到/private目录。其中有一个index.php文件,必须检查您是否经过身份验证,以防止有人直接浏览/private目录。如果您不是,您将被重定向回登录屏幕。但是,如果你浏览到/private.g./private/myprivatefile.html中的任何其他文件或目录,即使你没有登录,也不会被重定向。您能帮我吗?

您可能需要使用mod_rewrite将所有请求重定向到PHP脚本,然后在该脚本中,根据用户是否经过身份验证来处理请求

这里有一个简化的例子

.htaccess

load.php


HTML文件通常不进行任何脚本编写,被视为静态页面。如果要保护这些文件,则可能需要使用web服务器来保护目录

另一种方法是将静态HTML文件移动到web服务器无法访问的目录中,并使用PHP检索HTML文件。这样,当请求静态内容时,PHP脚本将始终运行。例如,您可以链接到静态内容,如:

/private/index.php?file=myprivatefile.html
在PHP文件中,您将从CGI变量文件中提取文件请求,然后提取其内容并将其返回给请求客户端。您可以在PHP文件中执行以下操作:

<?php
   if( CheckAuthentication() )
   {
     $fileName = $_REQUEST['file'];
     $filePath = '{path to protected files}';
     if( is_file( $filePath . $fileName ) )
     {
       readfile( filePath . $fileName );
     }// Endif check if file exists on server
   }// Endif Check user authentication

您的qestion是什么?您必须检查用户是否已在所有页面中登录到私人区域。1。我们将需要看到代码样本,以充分协助。2.将验证用户的检查移动到外部文件,您可以在所有私有文件中包含该文件。纯html文件无法处理php,因此需要将其更改为php文件。您正在通过php建立安全性。如果不涉及PHP,那么您就没有安全性。。。HTML文件不是通过PHP解释器解析的,因此这些文件根本没有安全性。@Electrosa是对的。您可以创建一个函数来检查用户是否使用会话数据?登录,并在需要时包含该函数。
/private/index.php?file=myprivatefile.html
<?php
   if( CheckAuthentication() )
   {
     $fileName = $_REQUEST['file'];
     $filePath = '{path to protected files}';
     if( is_file( $filePath . $fileName ) )
     {
       readfile( filePath . $fileName );
     }// Endif check if file exists on server
   }// Endif Check user authentication