【发布时间】:2014-01-06 18:36:15
【问题描述】:
到目前为止,我一直在使用以下方法将表单数据发送到 PHP 文件(通过 Ajax)。这样做的问题是,仍然可以在源代码中查看“隐藏”输入以显示我不希望用户看到的数据:
HTML:
<form>
<input name="user_field">
<input name="user_id_field" hidden>
<button type="submit">Submit</button>
</form>
JQuery/Ajax:
$(document).ready(function() {
$(document).on("submit", "form", function(event) {
event.preventDefault();
$.ajax({
url: 'php/verification.php',
type: 'POST',
dataType: 'json',
data: $(this).serialize(),
success: function(data) {
alert(data);
}
});
});
});
PHP:
<?php
$user = $_POST['user_field'];
$user_id = $_POST['user_id_field'];
// verification code and echo back to document
?>
我的问题是,大多数网站如何在不使用隐藏输入的情况下发送表单数据?我听说使用会话有效,但我不确定如何。
谢谢。
【问题讨论】:
-
如果数据以任何方式发送到服务器,则可以更改。了解会议:php.net/manual/en/book.session.php
-
客户端不应该提供敏感数据
-
我同意 AWOlff 的观点,你永远不应该向客户端发送敏感数据,因为它可以被查看和操作。如果您无法使用会话(例如,因为您需要一些 简单 负载平衡),那么您可以尝试(但如果可能的话我会避免)加密该数据。
-
@A.Wolff 这就是我问这个问题的原因......
-
@Bagwell 让我之前的评论更清楚,明智的数据永远不会发送到服务器,因为它永远不可用客户端
标签: javascript php jquery html session