2011-06-12 114 views
1

我正在构建PHP/MySQL Web应用程序。用户登录并设置各种会话变量。在PHP中应用.htaccess文件夹用户名/密码

在Web服务器上有一个用户可以上传文件的文件夹(任何种类 - 图像,pdf,.doc等)。我想保护这个文件夹,以防止没有登录的人输入网址并获得这些文件。浏览该文件夹中的文件是不允许的。

我可以使用我的cpanel应用密码,它很好地工作。但是,这意味着用户必须登录到应用程序,然后第一次导航到此受保护文件夹中的文件时,系统会提示他们输入受保护文件夹的用户名/密码。我想这样做,所以他们不必输入受保护文件夹的用户名/密码。

有没有什么办法,当用户登录,设置他们的会话变量,在同一时间 - 使用PHP - 也设置受保护的文件夹的用户名/密码 - 所以他们不提示? 谢谢。伊恩。

回答

0

我接触到的方式是,他们认为他们访问的受保护文件夹不是实际的受保护文件夹,会发生什么情况是您只能通过PHP与它进行交互,并且他们是否已登录(您可以做一个假的。 htaccess通过发送相应的网络验证代码见http://php.net/manual/en/features.http-auth.php

从那里,如果他们“登录”你可以告诉,他们可以显示的代码,如果没有,你可以说“你没有登录,如果你希望访问此区域,您将需要登录“。

其简单而有效。

当然记得,明智的人知道你是否做http://user:[email protected]/files它会自动发送网络认证信息。

+0

感谢您的回复,但我不太关注。我看了一下http auth页面链接。是否可以将$ _SERVER ['PHP_AUTH_USER']&$ _SERVER ['PHP_AUTH_PW']的值设置为加载页面,这样用户不会被提示输入受保护的文件夹user/pw?我不知道你可以将user/pw添加到url - 弹出式窗口中关于它们作为纯文本发送的警告现在有意义!我认为这可能是答案,将用户/ pw添加到从php页面点击的url--但是它在IE中不起作用。 – 2011-06-12 12:12:05

+0

取决于您如何检查用户名/密码我猜,但它应该工作。它当然应该阻止用户名/密码提示。同样可以通过IE使用ftp。 – BugFinder 2011-06-12 18:33:40

0

我不认为你可以从.htaccess级别获得PHP会话变量。

你可以做的是重写对PHP脚本的任何访问,检查登录用户并返回文件或重定向到“未登录”页面。

0

我已经做了这几年,但它与cPanel工作得很好:我编程调用cPanel的目录保护设置页面,并在那里添加用户名/密码。所以cpanel负责管理服务器。但是,如果这仍然有效,我不知道。

有一个库可供您用来创建.htaccess和.htpasswd文件。我从来没有使用它,所以我不能说它是否工作:Class: PHP Functions Class

我有点记得一些其他的图书馆,以及只有.htaccess和.htpasswd的东西,所以你可能会发现别的东西在搜索互联网。