如何防止直接通过url访问php文件但重定向

时间:2015-01-23 18:31:09

标签: php html url

我希望我的访问者可以直接阻止页面success.php,例如:www.site.com/paypal/success.php但是当PayPal付款完成后,重定向到此页面将显示信息。但在确认paypal付款之前不直接到此页面

3 个答案:

答案 0 :(得分:1)

这不是正确的方法。

您始终可以将人员发送到成功页面,也可以选择使用交易ID。

不能说的是,如果付款成功了。这取决于您的付款提供商。您可能不得不等待来自他们的消息。如果是PayPal,您可以使用IPN

因此,请不要依赖成功页面来确认交易,只需依赖

会话或Cookie也不应用于跟踪交易。如果我同时开始2个交易会怎么样?

答案 1 :(得分:-1)

而不是将您的目标网址设置为PayPal

http://...../success.php

将其设为

http://...../success.php?secret=something-random-here

然后您的success.php脚本将检查$_GET['secret']是否存在并且等于您的期望。

答案 2 :(得分:-1)

我不确定您的代码是什么样的,但我会在success.php确认页面上使用付款处理会话。

<?php // transcation.php page

    // Should the payment be successfully authorized
    session.start();
    $_SESSION['successful_transaction'] = true;

?>


<?php //success.php

    if (empty($_SESSION['successful_transaction'])) die("Sorry, access denied");
?>