如何在公共用户访问特定页面时对其进行授权,以实现只读目的

时间:2012-02-08 13:37:57

标签: php zend-framework md5

它的一般问题类型。 我们在Zend中编写了Web应用程序,我们正在为我们的注册用户编写报告。现在,我们希望为非注册用户创建一些特定报告,并发送链接以便他们可以看到该报告。但我们不想让其他用户访问该页面。

一个想法是制作可以使用的URN,至少有一部分,比如

www.myaddress.com/2309039dskdfskj4/ReportStats/ 

这个问题的最佳解决方案

1 个答案:

答案 0 :(得分:2)

我会发送一封电子邮件给您希望向其显示报告的非注册用户(比如您所维护的邮件列表中的人员)。

在该电子邮件中,有一个他们可以访问的链接: example.com/reportsample.php

在该页面上,让他们确认他们的电子邮件地址(仅向您存档的用户发送请求),并让他们知道已发送的一次性报告请求邀请将在24小时后到期。

在数据库的表格中,写一条存储随机id值的记录,并使该记录中的字段显示为“NOTVIEWED”

然后,一旦用户检查他们的电子邮件,他们会看到以下链接: example.com/reportsample.php?access=123456 (其中123456是随机ID)

用户点击后,他们可以查看报告,并将该ID的数据库记录更新为“VIEWED”。

如果有人再次尝试查看该链接,则无法再次查看该链接 - 用户必须再次请求访问权限。