防止直接访问URL

时间:2012-11-17 00:52:22

标签: php

我有一个网站,所有连接(与数据库和其他)都在一个文件夹中。虽然在受限制的页面上有一个会话以防止未记录的用户,但如果键入完整的URL,可能会到达这些文件(即使php确实显示了任何内容,我猜它不是一件好事)。并且文件夹本身可以看作服务器上的目录,这非常糟糕。

www.mysite.com/connectionfolder

我该如何处理这个问题?谢谢!

4 个答案:

答案 0 :(得分:3)

Apache:在根.htaccess文件

中添加以下行

Options -Indexes

如果现有Options Indexes文件中已有行.htaccess,则只需使用Options -Indexes

进行修改即可

这将使Apache无法直接访问目录。

答案 1 :(得分:2)

如果使用Apache,则在根网站目录中放置.htaccess文件(如果尚未存在)。然后把它放在文件中:

Options -Indexes 

更多信息:https://httpd.apache.org/docs/current/mod/core.html#options

答案 2 :(得分:2)

您还可以将用户重定向到“安全”页面

<?php
//...Valid user check
if(!$validuser)
{
    header("Location: /");
    exit;
}

答案 3 :(得分:1)

<?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。这意味着,任何看到该错误的人都不会存在