【发布时间】:2012-04-07 09:47:07
【问题描述】:
所以,我有以下情况:
我希望用户进入页面 www.server.com/download.php,被要求输入用户名和密码,然后如果有效,服务器将生成一个文件 file.csv 在 webroot 中并将用户重定向到它(让他下载文件)。
另一个重要的细节是,这个任务应该很容易用 wget 或 curl 或其他自动下载工具来完成。
我已经让系统工作了,我可以 wget www.server.com/download.php 并获得 file.csv!
问题是 file.csv 位于 webroot 上,任何人都可以通过直接访问它来下载它,并且任何人都可以触发 download.php。
欢迎任何建议!
【问题讨论】:
-
如果您不需要花哨的密码管理,您可以使用 apache pw-protect 下载脚本并使用纯 jane http 基本身份验证密码提示。然后将 .csv 文件从您的 webroot 中移出,以便只能通过 download.php 脚本访问它。
-
Marc 是对的,只需使用 .htpsswd 文件即可。
-
与存储在数据库或其他地方的散列密码相比,使用 .htpsasswd 极其不安全。