我有一个网站,所有连接(与数据库和其他)都在一个文件夹中。尽管在受限页面上有一个会话以防止未登录的用户,但如果键入完整的 url,则可能会访问这些文件(即使 php 确实显示了任何内容,我认为这不是一件好事)。而且文件夹本身可以看成是服务器上的一个目录,很糟糕。
www.mysite.com/connectionfolder
我该如何处理这个问题?谢谢!
我有一个网站,所有连接(与数据库和其他)都在一个文件夹中。尽管在受限页面上有一个会话以防止未登录的用户,但如果键入完整的 url,则可能会访问这些文件(即使 php 确实显示了任何内容,我认为这不是一件好事)。而且文件夹本身可以看成是服务器上的一个目录,很糟糕。
www.mysite.com/connectionfolder
我该如何处理这个问题?谢谢!
.htaccess
Apache:在根文件中添加以下行
Options -Indexes
如果Options Indexes
现有.htaccess
文件中已有一行,则可以简单地修改它Options -Indexes
这将使 Apache 阻止直接目录访问。
如果您使用 Apache,请将 .htaccess 文件放在您的 Web 根目录中(如果还没有的话)。然后把它放在文件中:
Options -Indexes
更多信息:https ://httpd.apache.org/docs/current/mod/core.html#options
您还可以将用户重定向到“安全”页面
<?php
//...Valid user check
if(!$validuser)
{
header("Location: /");
exit;
}
<?php header("Status: 404 Not Found"); ?>
把这个在会话验证后,页面给出 404 页面错误说页面未找到
例如,您可以将其放入
if(!$user_loggedin) {
header("Status: 404 Not Found");
} else {
echo "welcome to your page ....";
}
如果用户未登录,上面的代码将生成 PAGE NOT FOUND ERROR。这意味着,任何看到该错误的人都会认为该页面根本不存在