使用php验证/拒绝访问目录中的文件
我有一个登录用户可以上传和访问的文件目录。有些文件是公共的,有些是私有的,仅供内部访问。文件名和访问设置保存在数据库中 有谁能给我一些资源或给我举个例子,说明我如何使用会话数据(和.htaccess?)只允许授权用户访问私有文件 我认为将公共文档保存在一个单独的、不受保护的目录中可能更容易,尽管我有点希望将所有内容都保存在一起 我不关心顶级安全性或加密,因为这些文件并不十分敏感,但我想防止它们在搜索引擎上被索引,等等使用php验证/拒绝访问目录中的文件,php,authentication,file,Php,Authentication,File,我有一个登录用户可以上传和访问的文件目录。有些文件是公共的,有些是私有的,仅供内部访问。文件名和访问设置保存在数据库中 有谁能给我一些资源或给我举个例子,说明我如何使用会话数据(和.htaccess?)只允许授权用户访问私有文件 我认为将公共文档保存在一个单独的、不受保护的目录中可能更容易,尽管我有点希望将所有内容都保存在一起 我不关心顶级安全性或加密,因为这些文件并不十分敏感,但我想防止它们在搜索引擎上被索引,等等 谢谢 我想我不会为此使用.htaccess(或任何类型的HTTP身份验证):.
谢谢 我想我不会为此使用.htaccess(或任何类型的HTTP身份验证):.htaccess/.htpasswd在允许/拒绝访问整个目录而不是特定文件时非常有用
相反,我会:
- 拒绝对文件的任何访问--即使用
文件,该文件包含.htaccess
Deny from All
- 这样,就没有人可以访问该文件
- 这意味着每个人都必须使用另一种方式来访问文件,而不是直接的URL
- 开发一个PHP脚本,该脚本将:
- 接收文件标识符(例如,文件名;或与文件相对应的某个标识符)
- 根据数据库中存储的数据对用户进行身份验证(使用一些登录/密码字段)
- 如果用户是有效的,并且有权访问该文件(如果不同的用户无权访问同一组文件),则从PHP脚本中读取该文件的内容,并将其发送给用户
关于“从PHP发送文件”,这里有几个问题可能会带来一些启示:
相反,我会:
- 拒绝对文件的任何访问--即使用
文件,该文件包含.htaccess
Deny from All
- 这样,就没有人可以访问该文件
- 这意味着每个人都必须使用另一种方式来访问文件,而不是直接的URL
- 开发一个PHP脚本,该脚本将:
- 接收文件标识符(例如,文件名;或与文件相对应的某个标识符)
- 根据数据库中存储的数据对用户进行身份验证(使用一些登录/密码字段)
- 如果用户是有效的,并且有权访问该文件(如果不同的用户无权访问同一组文件),则从PHP脚本中读取该文件的内容,并将其发送给用户
关于“从PHP发送文件”,这里有几个问题可能会带来一些启示:
Deny from all
的目录中,当然,因为您的PHP脚本是由Apache提供的)谢谢!我正在考虑这样一种方法,但我的印象是“拒绝所有人”也会阻止php与文件交互;但是在PHP上没有(当然,只要PHP脚本不在包含Deny from all
的目录中,因为PHP脚本由Apache提供服务)