如何使网页只能从某些链接访问


How to make web page accessible only from certain links

我正在制作一个网站,您必须付费(通过PayPal)才能访问网站的某些安全部分。我已经设置好了,所以"注册"按钮将您直接带到PayPal,然后一旦您在那里完成付款,您将被引导到注册(根/注册/索引.php)页面,您可以在其中输入您的姓名、电子邮件、密码等,这些信息存储在数据库中。一旦某人的信息进入数据库,他们就可以登录到站点的安全部分。

我的问题是,用户可以通过 www.mysite.com/signup/并输入他们的姓名/电子邮件/pw/etc 来绕过PayPal付款,这些姓名/电子邮件/pw/etc 仍将输入到数据库中,让他们无需付费即可访问该网站。

有什么方法可以使 www.mysite.com/signup/页面只能从PayPal访问?我设置了一个PayPal按钮,用于在用户完成付款后将用户带到注册页面,我希望这是用户访问该页面的唯一方式。

通常

,当用户从PayPal返回时,您会将他们定向到您网站上的特定页面,然后您可以在其中评估PayPal发布给您的数据。 您只需验证用户是否成功购买,如果是,请设置会话变量并将用户定向到您的注册页面。只有当他们有一个有效的会话变量表明他们是付费客户时,您才会向他们出示注册表单。

如果用户在没有经过适当验证的情况下到达您的页面,您可以简单地将他们重定向到其他地方,或者给他们一些错误消息。

最好将

一个标志作为$_SESSION变量传递,显示用户已付款,然后阻止其他方式。

如果你真的仍然想检查引用器,你应该让你的脚本检查$_SERVER['HTTP_REFERER']变量并从那里开始。不过,我不完全确定这有多安全。

如果您

知道PayPal仅使用一组IP地址来联系您的站点,那么将Web服务器配置为仅允许从这些地址进行访问将相当容易。无论如何,IP可能会被欺骗。如果您确实需要额外的安全性,则必须使用证书。