目前我正在使用隐藏输入在用户提交表单时使用Ajax发送一些额外的值。我使用隐藏值的原因是因为我可以有一个长列表,文本字段是每个文本字段的指定按钮。点击每个按钮,我必须在文本字段中发送值以及一些额外的值。
问题是任何人都可以检查Chrome中的代码(例如)并更改隐藏字段中的值。有没有更好的方法呢?
编辑:添加了一些代码以更好地说明我的问题
HTML
<div>
<input type="textfield" name="value1" value="Default value for textfield" />
<input type="hidden" class="hiddenValue" name="hiddenSuperSecretValue" value="superSecret" />
<button class="submitButton">Submit</button>
<input type="textfield" name="value2" value="Default value for textfield" />
<input type="hidden" class="hiddenValue" name="hiddenSuperSecretValue" value="superSecret" />
<button class="submitButton">Submit</button>
... more fields ...
</div>
JS
$('.submitButton').click(function(){
dataVar = "someValue" = $(this).closest('.hiddenValue').val();
$.ajax({
type: "POST",
url: "/submitAjaxStuff.php",
data: dataVar,
cache: false,
success: function(response){
doSomething(response);
}
});
});
答案 0 :(得分:1)
如果您使用像PHP这样的服务器端语言,那么更好的选择是将隐藏值存储在会话中,以便用户无法访问它们。