如何在PHP中创建动态登录?

时间:2009-07-28 02:43:22

标签: php authentication

以下是它的工作原理:

  • 用户付款
  • 用户收到密码
  • 他们的用户名将是他们的电子邮件
  • 将为该用户创建一个文件夹,其中包含用户有权访问的文件。

我的主要问题是需要保护软件,并且动态创建密码。所以我想知道我是否需要创建.htaccess和.htpaaswd,如果是这样的话,我怎么能动态地这样做?

1 个答案:

答案 0 :(得分:2)

可能与Wordpress创建/修改.htaccess文件的方式相同。

您只需创建一个脚本,为.htpass或.htaccess文件生成正确的文件内容。

当用户购买某物时,在包含用户/通行证组合的.htpass文件中添加一行,并将其全部添加到一个组(可能基于文件名)。然后,仅允许该组访问该文件。


另一种方法是通过数据库。

首先,当用户付款时,请使用几张表来存储他们的数据。

第一张表:用户/密码

这将存储必须用于访问用户文件的电子邮件/密码组合。基本上该表由

组成

int Unq_ID | text Email_Addr | varchar(150) Password

保存您的用户/通行证组合。

第二张表:档案

此表包含您的所有文件名,ID及其创建位置。

int Unq_ID | varchar(150) Name | text Directory

第三表:关系

最后一个表格保存了用户和密码之间的关系。也很简单:

int Unq_ID | int User_ID | int Product_ID

基本上,如果此人使用有效的用户名/密码登录,您将获取与其User_ID匹配的关系条目,并加入Product ID上的文件。要验证他们是否可以下载某些内容,只需检查是否存在具有正确User_IDProduct_ID的条目。


要保护文件不被访问,请像这样制作一个htaccess文件

RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^.+$ [NC]
RewriteRule .* - [F,L]

否定任何人接受PHP的fopen函数。然后,您只需创建一个抓取内容的PHP脚本,并将其显示为下载。