往自身页面提交和别处页面提交到本页的设计小技巧

举个简单的例子:如用户注册模块。页面有login.jsp、register.jsp、registerSuccess.jsp、registerFail.jsp

当用户填写晚注册信息时需要需要把填写的信息提交到register.jsp页面,然后把信息写入数据库。问题出现了:如果我不通过用户注册链接进入register.jsp而是直接访问register.jsp 那register.jsp中的一部分代码就会不在自己的允许下访问数据库。如何防止此种情况的发生?

<%
request.setCharacterEncoding("GBK");
String action = request.getParameter("action");
if(action != null && action.trim().equals("register")) {
String username = request.getParameter("username");
String password = request.getParameter("password");
//String password2 = request.getParameter("password2");
String phone = request.getParameter("phone");
String addr = request.getParameter("addr");
User u = new User();
u.setUsername(username);
u.setPassword(password);
u.setPhone(phone);
u.setAddr(addr);
u.setRdate(new Date());
u.save();
out.println("注册成功!恭喜!");
return;
}
 %>

<input type="hidden" name="action" value="register"/>

在form表单中添加一个隐藏域,只有从该表单提交才可以执行与数据库相关的代码,可以防止SQL注入





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值