在我们网站的一个页面上,我们有一个表单,其中有四个输入字段,用于输入信用卡号的四个四位数字部分。 在表单提交时,这些字段用于通过 jQuery 创建对我们服务器的 GET 请求,对于我们 99.999% 的客户来说,这非常有效。
但是有一位客户在提交此表单时遇到了问题。在 nginx 日志中,我们只有最后三个请求参数 - 从 CardNumber2 到 CardNumber4,缺少 CardNumber1。 (正常请求类似于 ...&CardNumber1=4111&CardNumber2=1111&etc,而此请求类似于 ...&CardNumber2=1111&CardNumber3=...)
什么可能导致此字段在提交时被跳过?该字段与其他三个信用卡字段没有绝对的区别。 客户端浏览器具有以下用户代理:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1
(这只是 Win x64 上最新的 15.01 FF)。
我们在客户的计算机上有此页面的屏幕截图,所有四个信用卡字段中都输入了绝对正常的数字。
某些安全软件或浏览器插件可以从请求中删除 CardNumber1 吗?
最佳答案
用于获取表单值的前端代码是什么样的?另外,您使用什么后端语言来接收表单值以及它是什么样子的。如果您已经看到 3 个表单输入填充到您的数据库或发送信息的任何位置,那么我猜您可能遇到了后端问题。
关于jquery - 为什么我们会在 jQuery HTTP GET 请求中缺少一个请求参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12478243/