gpt4 book ai didi

javascript - 如何在表单提交时创建新页面?

转载 作者:行者123 更新时间:2023-12-03 05:37:00 25 4
gpt4 key购买 nike

每次提交表单时,我都尝试创建一个新页面。这将是一个订单状态页面,该页面会定期更新。基本上,我希望用户看到一个表单确认页面,并且我希望它是永久链接(他们稍后可以访问)。

我的第一个想法是在 URL 中使用变量,如下所示:

http://www.example.org/member.php?id=123

然后使用GET调用id

echo $_GET['id'];

http://www.example.org/member.php 将是一个模板,只是等待特定于用户的一些细节。完成此操作后,我可以使用简单的 if 语句来检查他们的订单状态。

例如,

if ($id === "user_id") {
echo "Your order is: Pending";
}

但是,就安全性而言,这似乎是一个坏主意。如果其他人猜出用户 ID,他们可以查看其订单状态。言归正传,这是我的第一个问题。

如果用户 ID 足够长,这种做法安全吗?

否则,还有哪些其他方法可以做到这一点?每次提交表单时创建一个新页面感觉是一种不好的做法 - 人们可能会向该页面发送垃圾邮件,并且有人可能会利用此在网站上创建恶意页面。

有什么建议吗?大多数主要零售网站都有订单确认页面(例如 eBay.com)——他们是如何做到的?另外,我建议的 URL 格式安全吗?

最佳答案

最理想的情况是,您强制用户在提交表单之前登录,然后向他们提供过去订单的列表,只要订单的 user_id 与登录的 session 中的 ID 匹配,他们就可以检查其中的状态。在用户中。为列表中的每个订单提供一个链接,例如 yoursite.com/orders/1,然后查询 id 为 1 且 user_id 与登录用户 ID 匹配的订单,以确保他们是唯一可以查看该订单的订单。

如果您不想执行任何操作,而只是提供指向状态页面的永久链接,我会根据订单保存一个随机生成的长字符串,并将其提供给用户以供将来检查,例如

yoursite.com/orders/wUk1DhfxMh(如果您使用的是带有某些路由的框架) 或 yoursite.com/orders.php?code=wUk1DhfxMh(如果您不是)。

查询数据库以选择具有匹配代码的订单,确保防止 MySQL 注入(inject)并清理 $_GET 输入。

关于javascript - 如何在表单提交时创建新页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40688098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com