假设我有一个页面,无论出于何种原因,都需要定向到两个不同的处理页面。
因此,用户在页面 A 上提交表单,该表单会将他们带到页面 A.post,然后将他们带到页面 A.complete,最后将他们重定向到页面 A 并提交信息。
A.post 和 A.complete 是纯 php,数据库魔法正在发生,用户通常永远不会去那里,如果他们直接转到 A.post 或 A.complete,他们将看到一个空白页。
假设 A.post 通过 $_GET 中的查询字符串发送 A.complete 数据。用户是否可以在重定向发生时以某种方式转到 A.post 来查看这些 GET var,或者通过查看其页面历史记录?
希望我已经说清楚了,干杯!
最佳答案
请问为什么这不是“在幕后”完成的,并且 A.post 不只是 include('A.complete');
?
每次重定向时,您都有可能出现失误、用户干预或 header 被黑客攻击(意外输入)。
将您需要的任何逻辑保留在服务器上并且远离客户端。除非有充分的理由切换页面(也许这是域名转移),否则我会将所有处理保留在一个页面上。如果您确实需要切换,请确保您有某种形式的检查步骤,这样用户干预就不再是问题。
附注您立即的回答是"is"。 (Firefox 有 control+shift+K 因为我确信很多浏览器现在直接提供(或通过某种形式的插件) .)
关于PHP 重定向安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8510156/