我不是 100% 确定这是否是一个大问题,我似乎认为它现在是,但我想我可能发现了一个问题,或者在 Chrome 中的 Inspect Element 查看器中发现了一个漏洞。
我正在使用(我现在更改了我的设置)隐藏 ID 来设置一些默认值,一个是用户级别,另一个是默认情况下使用户处于活动状态。
但是,当我在检查元素视图中查看这些 ID 然后更改值时,提交表单会将新值提交给服务器,而不是我给它的值。
例如:
我的代码中有以下内容,
<input type="hidden" name="data[user][level][id]" value="1" id="MyID">
然后我在 Inspect 视图中将其更改为,
<input type="hidden" name="data[user][level][id]" value="2" id="MyID">
然后我提交了表单,很惊讶新值被提交了,我总是认为隐藏的 ID 是不可更改的,浏览器应该只提交其中包含的默认值。
我现在已将其更改为让数据库默认为基本用户,然后我可以更改我想要的用户设置。但在某些情况下,这可能不是一个选择,所以我希望得到一个答案或一些关于如何使它更安全的反馈。
我只是有点慢,是否有更好的方法(不同的方法)将“隐藏”数据从表单传递到服务器?
一旦用户选择/提交了表单,我正在考虑使用 JQuery 将所需的隐藏字段添加到表单中,但我不确定这是否 100% 安全,或者即使它是一个好主意。
非常欢迎任何想法/反馈......
非常感谢,
格伦。