preparedstatement防sql注入

防注入:

就是用户在登陆的时候在语句后面加上 or 1=1

这样无论账号密码是否正确账号都可以登录成功;

这样是极为不安全的行为;

而要防止这样的行为;可以在进行数据库语句执行的时候把statement执行语句转换为preparedstatement语句;

preparedstatement:

1、执行效率更高;

因为在进行PreparedStatement ps = con.prepareStatement(sql);创建的时候已经进行预编译了

它只会执行一遍sql语句,可以重复进行调用,同一类型sql语句不需要重新进行预编译;这样可以大大的提高代码的效率;

2、防注入

它在最开始创建的时候就进行了预编译,如果输入了空格,单引号,or 1=1 的时候就会认为是非法输入;

 

posted @ 2018-08-21 10:26  谁在逆水行舟  阅读(250)  评论(0编辑  收藏  举报