【发布时间】:2017-09-21 19:03:13
【问题描述】:
每次提交表单时,我都会尝试创建一个新页面。这将是一个订单状态页面——一个会定期更新的页面。基本上,我希望用户看到一个表单确认页面,并且我希望它是永久链接(他们可以稍后访问)。
我的第一个想法是在 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 格式安全吗?
【问题讨论】:
-
嗯...登录,使用您建议的模板?如果用户已登录,并且 URL 中的 ID 是与该用户关联的订单,则显示该订单。如果没有,只需重定向或显示错误消息。在没有登录的情况下这样做是不好的做法,是的。
标签: javascript php html forms