多页表单和SESSIONS与HIDDEN表单数据

时间:2010-03-01 04:37:24

标签: php forms variables

我正在处理一个2页的表单,POST是对数据库的查询。只读,没有写作。这些信息都不是保密信息,也不是保密信息。

该网站必须是100%非JS兼容的,因此Ajax等不可用。我得到的只是PHP,宝贝!

FORM-2的内容取决于FORM-1中数据的一小部分,但FORM-1中的所有数据也必须与{{1}中包含的最终查询一起提交}}

我发现我可以通过两种不同的方式将数据从FORM-2切换到FORM-1

1)将FORM-2变量数据发布到SESSION
2)将FORM-1变量数据发布到FORM-1

上的隐藏字段

它们似乎同样困难/易于实施,因此我对安全性感到疑惑......

此外,在任何一种情况下,如果我FORM-2并且不喜欢我的结果,我可以FORM-1 -> FORM-2 -> Results两次到Back Button并且仍然检查,写入所有数据等吗?

1 个答案:

答案 0 :(得分:5)

从技术上讲,会话打破了网络的“无国籍”性质,另一种选择更可取。如果安全性或某人从自己的服务器提交form2并使用表单1自行创建的值的危险确实存在问题,则可以在提交表单1时加密数据并将加密数据存储在表单2的隐藏字段中。(使用mcrypt库 - 我有一些示例代码)。

此外,如果我们迂腐,后退按钮不适用于POST表单,因为这会产生两次创建或销毁资源的问题。但我认为大多数现代浏览器都支持它 - 这是浏览器的功能,而不是服务器,尽管你可以做一些事情,比如在每次提交时要求一个唯一的值来阻止它。

但实际上,几乎每个人几乎都在使用Session cookies。它更容易,有很多例子,而且相对安全。