2012-11-17 289 views
0

我有一个网站,所有的连接(与数据库和其他)都在一个文件夹中。尽管在限制页面上有一个会话来防止未登录的用户,但如果输入完整的url(即使php显示任何东西,我猜它不是一件好事),这些文件可能会被触及。而且文件夹本身可以看作是服务器上的一个目录,非常糟糕。阻止直接url访问

www.mysite.com/connectionfolder 

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

+0

你使用什么服务器? Apache的? –

+0

要限制访问,您可能需要查看.htaccess文件(如果使用Apache)。您可能需要考虑的其他事项,请将您的数据库和任何包含的文件移动到webroot之外的文件夹中。 – MRR0GERS

+0

是否要完全禁用直接访问,即使是登录用户? –

回答

3

阿帕奇:下面的行添加在你的根.htaccess文件

Options -Indexes

如果有一条线Options Indexes已经在现有.htaccess文件比你可以简单地修改与Options -Indexes

这将使Apache防止直接的目录访问。

+0

虽然我包含该文件在当时的另一个文件,我不能够使用该文件, 我的意思是我有ajax_user.php文件,而Ajax调用我无法访问此文件使用(.htaccess) – Chaudhary

1
<?php header("Status: 404 Not Found"); ?> 

将这个会话验证后,与页面给予404页面错误,说找不到页面

例如,你可以把它放在

if(!$user_loggedin) { 
header("Status: 404 Not Found"); 
} else { 

echo "welcome to your page ...."; 


} 

上面的代码会生成PAGE NO t上找不到错误,如果用户没有loged。这意味着,任何人seeying该错误会THIK的页面完全不

2

存在,您也可以从“安全”页面将用户重定向离开

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