在PHP中应用.htaccess文件夹的用户名/密码

问题描述

| 我正在构建一个PHP / MysqL网络应用程序。用户登录并设置了各种会话变量。 网络服务器上有一个文件夹,用户可以在其中上传文件(任何类型-图片,pdf,.doc等)。我想保护此文件夹,以防止未登录用户输入url并进入这些文件禁止浏览此文件夹中的文件。 我可以使用cpanel申请密码,效果很好。但是,这意味着用户必须登录到该应用程序,然后他们第一次导航到该受保护文件夹中的文件时,系统会提示他们输入受保护文件夹的用户名/密码。我想这样做,这样他们就不必键入受保护文件夹的用户名/密码。 用户使用PHP同时登录,将其会话变量设置为时,是否可以通过任何方式设置受保护文件夹的用户名/密码,从而不会提示他们? 谢谢。伊恩     

解决方法

        我处理此问题的方法是,他们认为他们访问的受保护文件夹不是实际的受保护文件夹,发生的情况是您仅通过PHP与之交互,并且如果他们已登录(您可以通过发送适当的Web身份验证代码,请参见http://php.net/manual/en/features.http-auth.php) 从那里,您可以告诉他们“登录”,并且可以向他们显示代码,否则,您可以说“您已登录,如果要访问此区域,则需要登录\” ”。 简单但有效。 当然要记住,明智的人知道您是否执行http:// user:password@site.com/files,它会自动发送网络身份验证信息。     ,        我认为您无法从
.htaccess
级别获得PHP会话变量。 您可以做的是重写对PHP脚本的所有访问,该访问将检查登录用户并返回文件或重定向到“未登录”页面。     ,        我几年前就这样做了,但是它与cpanel一起使用时效果很好:我以编程方式调用了cpanel的目录保护设置页面,并在其中添加了用户名/密码。因此,cpanel负责服务器管理。但是我不知道这是否仍然有效。 您可以使用一个库来创建.htaccess和.htpasswd文件。我从未使用过它,所以我不能说它是否有效:类:PHP Functions类 我还记得其他一些只执行.htaccess和.htpasswd内容的库,因此您在搜索互联网时可能会发现其他内容。