0

我正在查看用户/订阅管理软件,例如 aMember Pro。这使用文件夹保护方法来防止访问站点的区域。因此 PHP 脚本需要 Apache (linux/unix)。

我的网络服务器是 IIS windows 2003,我使用 MySQL 数据库来存储用户 ID 和订阅状态/访问权限。我们真的只有两种类型,免费/付费。当用户登录时,我将他们的用户 ID 存储在会话 cookie 中,并使用它来检查每个页面上的订阅状态并确定他们可以在此页面上查看的内容(只有几个页面,它们都在同一文件夹中网络服务器)。

每种方法的优缺点是什么?我的 cookie 和数据库方法是否足够合适和安全?如果不需要,我不想切换到 linux,并且 aMember 软件的所有其他方面在 Windows 上都可以正常工作。

仅当站点不使用数据库存储用户 ID 时才真正需要文件夹保护。在安装订阅管理软件之前,我们已经完成了所有访问权限的事情,所以我的直觉是我们不需要使用文件夹保护,但我很想得到其他人的意见。

谢谢

4

2 回答 2

1

您不必切换到 Linux;Apache 将在 Windows 上运行良好。如果你想坚持使用 IIS,你可以使用FastCGI启用 PHP 。

于 2009-11-11T14:53:28.307 回答
1

好吧,您正在谈论的身份验证看起来像 Apache 中的基本 HTTP 身份验证,它需要用户对每个请求进行身份验证。来自 apache 文档

客户端浏览器缓存您提供的用户名和密码,并将其与身份验证领域一起存储,因此如果从同一领域请求其他资源,则可以返回相同的用户名和密码来验证该请求,而无需用户再次输入它们。

因此,您的基于会话的方法与文件夹保护略有不同,因为它是一个比一个请求更长的长期会话,并且它由 PHP 而不是网络服务器管理。

服务器端会话方法在几乎所有需要用户身份验证并被证明足够安全的页面中都很常见(即使它有漏洞)。在任何情况下,如果您担心安全性,您必须确保身份验证(通常传输纯密码)通过安全 (SSL) 连接运行。

于 2009-11-11T15:06:34.667 回答