2011-02-23 62 views
1

我需要重新发送的另一种形式从以前的HTML表单中的值,以便它可以作为一个准备好的SQL语句的一部分。PHP - 替代HTML隐藏输入

不过,我真的不希望使用HTML隐藏输入,由于潜在的安全问题。

任何人都知道另一种方法?

谢谢。

回答

2

暂时保存在session值。

隐藏的HTML的输入不应该,只要你正确地将它们放在数据库之前(再次)验证它们造成任何安全问题,虽然,

+2

使用会话时,请考虑为值创建随机密钥,传递表单中的密钥并根据密钥访问会话数据。如果你不这样做并使用静态标识符,如果用户在多个选项卡中执行不同的操作,表单流将启动。 – 2011-02-23 01:17:15

+0

是的,这是我没有太热衷于使用会话来处理这个问题的原因之一。 – 2011-02-23 01:30:34

1

您可以将其保存在session,那么用户将不会看到值。

+0

肯定比隐藏输入 – 2011-02-23 01:30:55

1

我不认为你会发送比发送原始表单更多的安全风险。

你确实有一些其他的选择,但是,如果你不想使用隐藏的表单元素:在$_GET可变

  1. 存储的值(不推荐,这样做,它是在可见地址栏)

  2. 使用cookie存储变量(用户可能已停用cookie)

  3. 使用sessions存储变量服务器端

+0

一个更好的选择,我认为这可以用'是一个潜在的安全问题,例如',有什么能够阻止有人保存HTML页面并编辑它或使用某种JavaScript注入。 – 2011-02-23 01:29:19

+0

没有什么能够阻止用户将任何形式的值发送到服务器。他不需要HTML表单将其提交到您的服务器。只要确保你转义'$ value',因为它可能包含将被注入到你的HTML页面的流氓代码。 – 2011-02-23 01:31:19

+0

的确如此,这个值基本上是我数据库中表的主键,并且只会用于查询数据库,而且我已经涵盖了SQL注入。 – 2011-02-23 01:42:56