我正在使用 stripe 构建一个网站,在 stripe 中我们有一个成功的 URL 页面,但是如果用户决定将 URL 更改为成功的 URL 页面,他们可以轻松访问成功页面而无需付费。我想知道我是否可以阻止这种情况发生?
我在这里研究过堆栈溢出,但我还是不明白
最后向用户展示的应该是一个愚蠢的感谢页面。用户重新访问此页面(例如刷新它)不应导致任何业务处理。
业务工作(例如减少库存、发送确认电子邮件)应该在看不见的地方用挂钩或任何明确确认 PaymentIntent 的方式(如果你这样做的话)来完成。
你可以,例如在感谢 URL 中添加校验和,以帮助防止用户看到彼此的感谢屏幕。
如果您强制用户创建帐户并让用户登录,您可以将一些php代码应用于“成功”页面
<?php
session_start();
if(!isset($_SESSION['username'])) {
header("Location: Homepage.php");
}
?>
所有这一切实际上是在检查用户是否登录。
如果他们没有登录,他们将被重定向到本例中的“Hompage.php”。
请记住,您会将用户的用户名和密码存储在数据库中,例如 SQL 数据库。
我知道这个想法可能已经过时并且有局限性。
如果你不能有一个 success.htm 页面以防人们直接导航到它,那么它必须像以下任何一种方法一样秘密创建:
var FileName = 'success'+RandomNumber(999999)+'.htm';
可以在字符串中创建成功页面内容来设置iframe的srcdoc属性。
您可以用隐藏在特殊脚本标签中的成功页面脚本替换当前页面的全部内容...
<script type="text/plain"> // Add whatever JS you like in here because the browser will never take a look in this tag. </script> <script type="text/html"> // Ditto like the above. </script>