Php Apache文件夹保护方法与cookie&;用于保护网站内容和管理访问权限的数据库查询。哪一个最好?

Php Apache文件夹保护方法与cookie&;用于保护网站内容和管理访问权限的数据库查询。哪一个最好?,php,.htaccess,cookies,protection,Php,.htaccess,Cookies,Protection,我正在研究用户/订阅管理软件,如aMember Pro。这将使用文件夹保护方法来阻止对站点区域的访问。因此,PHP脚本需要Apache(linux/unix) 我的Web服务器是IIS windows 2003,我使用MySQL数据库存储用户id和订阅状态/访问权限。我们实际上只有两种类型,免费/付费。当用户登录时,我将其用户id存储在会话cookie中,并使用它检查每个页面上的订阅状态,并确定他们在此页面上可以查看的内容(只有几个页面,它们都位于Web服务器上的同一文件夹中) 每种方法的优缺点

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

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

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

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


谢谢

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

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

客户端浏览器缓存用户名 以及您提供的密码,以及 将其与 身份验证领域,因此如果其他 向同一机构请求资源 域,相同的用户名和密码 可以返回以对其进行身份验证 请求而不要求用户 再次输入

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

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