假设用户跳过JS验证后Struts2验证怎么写? 50
比如我的用户名是邮箱名,我在JS中用正则表达式验证了,假设用户跳过了JS验证(这个很简单),我需要在服务器端再做一次验证邮箱名是否符合规范,比如@符号。我是否还要再做一次...
比如我的用户名是邮箱名,我在JS中用正则表达式验证了,假设用户跳过了JS验证(这个很简单),我需要在服务器端再做一次验证邮箱名是否符合规范,比如@符号。我是否还要再做一次类似的验证呢?JS验证的有点就是服务器端压力小,速度快,现在要做双重验证的话,岂不是很复杂?能不能有一种方式,让服务器中的验证自己选择,默认是不出发服务器验证,当客户端JS被跳过时,再进入服务器端验证。如果没有这种方式,麻烦把Struts2中验证邮箱的详细代码写出来,谢啦。 高分悬赏。
展开
展开全部
弄格隐藏input ,js验证时给他附上值,然后到服务器端后判读一下不就行了,
<field name="user.email">
<field-validator type="regex">
<param name="expression">^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$</param>
<message>Email格式错误</message>
</field-validator>
</field>
<field name="user.email">
<field-validator type="regex">
<param name="expression">^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$</param>
<message>Email格式错误</message>
</field-validator>
</field>
追问
如果用户把网页另存为,然后删了JS,删了这段代码,不是照样可以提交一个不正确的表单到服务器吗?
追答
1、加一个验证吗防止重复提交
2、写一个js获取当前浏览器路径,然后你在服务上判读一下这个路径是否是你的合法路径
3、在action所处理的类方法里验证邮箱是否合法,(加上这个其他的加不加无所谓了,验证码除外)
首先你那个action路径是公开的,只要会编程的都会找到,还有网页html这个是无发隐藏的即使你用《frame 框架 虽然在网页源码找不到,但是用火狐的debug插件是可以看到具体页面的html代码,
所有说在客户端你就不用考虑怎么阻止,只有在服务器上做判断了(谁也看不了你的代码,被攻击除外),还有谁会没事把“网页另存为,然后删了JS,删了这段代码” ,反正我是不会干那的 除非你的竞争对手
这只是个思路 你自己看看,不过最有效的还是在服务器端判读,还有一般比较敏感的输入都是双重验证的呀,js和服务器端验证。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询