这样可以更快地发送隐藏表单数据或从数据库中获取数据

时间:2012-10-25 08:55:25

标签: php database forms security hidden

我正在使用隐藏表单来发送价值。使用提交按钮。

就像:

<form action="users.php?action=edit" method="POST">
<input type="hidden" name="first_name" value="Josh" size="20" maxlength="19"/>
<input type="submit" name="done" value="Done"/>
</form>

我正在创建下一个表单中使用这些值。我不知道哪个会更好,这样做或者从数据库中获取数据。还有,哪个会更安全?

4 个答案:

答案 0 :(得分:2)

速度是可变的。

更重要的问题是什么更安全:如果您将信息存储在表单上,​​可能会被恶意用户更改。

永远不要相信来自网络表单的任何数据 - 始终检查并验证它。

我记得一个关于早期网络商店如何将价格存储在表格隐藏字段上并且对销售水平感到满意的故事,可能是伪造的故事,但却发现这些销售额已经大大降低了由于狡猾的消费者干预现场价格。

请参阅http://www.ethicalhacker.net/content/view/43/2/

答案 1 :(得分:0)

从数据库获取数据更安全,因为数据无法被篡改。 如果你将它放在一个隐藏的字段中,它将显示可以修改的php变量的值。

答案 2 :(得分:0)

我猜&#34; Josh&#34;是要编辑的用户,只有登录的用户&#34; Josh&#34;用户可以做到这一点。如果您愿意在隐藏字段中向用户显示数据,则可以使用隐藏字段。

请注意,用户可以篡改表单字段中的值。用户可以在HTTP请求中添加/更改的所有内容都需要在您的服务器上进行验证(如果它是合理的值,如果用户实际上有权编辑&#34; Josh&#34;等等)< / p>

在你的例子中,没有理由使用隐藏字段:

<form action="users.php?action=edit&first_name=Josh" method="POST">
<input type="submit" name="done" value="Done"/>
</form>

关于速度:对于少量数据,隐藏字段版本可能会更快,因为您避免了到数据库的整个往返(连接,事务,断开连接)。 PHP不保留连接池并且连接到数据库是昂贵的。

答案 3 :(得分:0)

我猜它是从数据库中获取数据 第一个人可以操纵数据并且我认为你的数据库是localhost或者在同一个网络中 - 这比通过互联网发送和安全更快!