作者ahousi (Crunch)
看板Ajax
标题[问题] 如何防止网站浏览者使用javascript改表单数值
时间Sun Oct 2 10:41:37 2011
最近发现有可以使用javascript来实现autofill的功能
例如在浏览列输入
javascript:var values = ["xxx", "ooo"];
$("input").each(function(i){ $(this).val(values[i]); });
他就能帮你填上帐号密码~
遇到的最主要的问题是这个会改到我的表单按钮,
原本按钮可能是"登入",使用这个後,按钮的value值就被删掉了...
请问有方法可以防止吗?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.134.117.206
1F:→ kerash:你到底是要防止使用者改表单还是你不想去改到表单.. 10/02 11:07
2F:→ ahousi:是希望就算他输入js autofill 也不能改任何值 10/02 12:00
3F:→ mesak:只能写TIMEOUT 自己验证,不然就是绑 KEYPRESS跟 CHANGE 10/02 12:35
4F:→ mesak:用一个全域变数 纪录username的值 KEYPRESS把值丢到username 10/02 12:37
5F:→ mesak:change 把任何值 = username 10/02 12:38
6F:推 No:你防这个做什麽? 看起来没有必要耶 10/02 12:43
8F:推 B9: 把 input type="submit" 改成 button 可以治标不治本 10/02 13:49
9F:→ ahousi:谢谢大家的方法! 最後用了插入隐藏栏位+用<button>标签! 10/02 14:11
10F:→ ahousi:还有m大提供的KeyPress输入法! 10/02 14:13
11F:→ knives:这个根本没有必要吧,我直接用curl送post出去不就好了 10/02 17:20
12F:→ knives:最重要的还是後台资料检查,感觉上龟毛老板的无脑要求 10/02 17:22
13F:推 mesak:刚刚No 试了还是可以改 XD KEYPRESS那边要多层检查一点 10/02 19:44
14F:→ cowbaying:用後台检查就好,JS只要花点时间都可以破解 10/02 21:03
15F:推 carlcarl:後端检查比较重要 10/03 04:46
16F:推 linhomeyeu:到底防这个可以干嘛XD 直接送http过去就结束了 10/03 18:13
17F:→ knives:通常会有这种要求,多半是上面不懂原理在要求的 10/04 16:50