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

Php 如何使网页只能从某些链接访问,php,html,database,paypal,Php,Html,Database,Paypal,我正在制作一个网站,你必须支付(通过贝宝),然后才能访问该网站的某些安全部分。我已经设置好了,所以“注册”按钮会直接将您带到PayPal,然后一旦您在那里完成支付,就会被引导到注册(root/signup/index.php)页面,在该页面中输入您的姓名、电子邮件、密码等,这些信息存储在数据库中。一旦某人的信息在数据库中,他们就可以登录到站点的安全部分 我的问题是,用户可以通过访问www.mysite.com/signup/并输入他们的姓名/电子邮件/pw/等绕过PayPal支付,这些姓名仍将输

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

我的问题是,用户可以通过访问www.mysite.com/signup/并输入他们的姓名/电子邮件/pw/等绕过PayPal支付,这些姓名仍将输入数据库,允许他们无需支付即可访问该网站


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

最好是将标志作为一个
$\u会话
变量传递,显示用户已付款,然后将其阻止


如果您确实还想检查REFERER,那么应该让脚本检查
$\u服务器['HTTP\u REFERER']
变量,然后从那里开始。不过,我不完全确定这是否安全。

最好是将一个标志作为
$\u会话变量传递,以显示用户已付款,然后阻止其他操作


如果您确实还想检查REFERER,那么应该让脚本检查
$\u服务器['HTTP\u REFERER']
变量,然后从那里开始。但我不完全确定这有多安全。

通常,当用户从PayPal返回时,您会将他们定向到您网站上的特定页面,然后您可以在该页面上评估PayPal发布给您的数据。您可以简单地验证用户购买成功,如果成功,则设置会话变量并将用户引导到您的注册页面。只有当他们有一个有效的会话变量表明他们是付费客户时,您才会向他们提供注册表单


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

通常,当用户从PayPal返回时,您会将他们定向到您站点上的特定页面,然后您可以评估PayPal发布给您的数据。您可以简单地验证用户购买成功,如果成功,则设置会话变量并将用户引导到您的注册页面。只有当他们有一个有效的会话变量表明他们是付费客户时,您才会向他们提供注册表单


如果用户未经正确验证就到达您的页面,您可以将其重定向到其他地方,或者给他们一些错误消息。

如果您知道paypal只使用一组IP地址来联系您的站点,那么将Web服务器配置为只允许从这些地址访问是相当容易的。然而,IP可能被欺骗。如果你真的需要额外的安全,你就必须使用证书。

如果你知道paypal只使用一组IP地址来联系你的站点,那么将Web服务器配置为只允许从这些地址访问是相当容易的。然而,IP可能被欺骗。如果你真的需要额外的安全,你就必须使用证书。

这是技术细节上的不足,但这是唯一对OP的情况和问题有帮助的答案。考虑添加贝宝的返回变量的信息,如果你可以。@苏丹拥有的,将根据他使用的贝宝集成方法而变化。由于他没有询问这一部分,我认为这一功能已经开始发挥作用。这在技术细节方面还不多,但这是唯一对OP的情况和问题有帮助的答案。考虑添加贝宝的返回变量的信息,如果你可以。@苏丹拥有的,将根据他使用的贝宝集成方法而变化。我想,既然他没有问起那个部分,那个功能已经开始工作了。如果我过去付费的话,安全部分是否可以访问?还是严格意义上的一次性付款、一次性参观交易?如果我想明天回来,我需要再次付款?@andrewsi您只需支付一次,即可在每次登录时访问安全部件。你可以想去多少次就去多少次,再也不用付钱了。我有一个登录系统工作,如果我过去付费,安全部分是否可以访问?还是严格意义上的一次性付款、一次性参观交易?如果我想明天回来,我需要再次付款?@andrewsi您只需支付一次,即可在每次登录时访问安全部件。你可以想去多少次就去多少次,再也不用付钱了。不过我有一个登录系统