zoukankan      html  css  js  c++  java
  • 用JDBC做账号注册登陆

    一。先用JDBC做账号登陆

    方法一:用createStatement方法做账号登陆

    测试结果:当输入正确账号密码时:当输入错误账号密码时:

    当用注入攻击输入账号密码时:

    注入攻击的原理是 输入任意值' or 1=1 #    用'来将

    中原有的字符串拼接代替,变成username='"+任意值' or 1=1 # +"' and password='"+mm+"' ;其中username的值变成"+任意值  由原来的账号密码同时满足,变成现在的账号满足"+任意值 或者 1=1 ,由于1=1是恒等式 所以会正确,而#是mysql中的注释,所以#之后所有的内容会全部被忽略。

    防止注入攻击的方法有两种;一种是将输入账号中的' 替换成"  如下:

    然后试验输入注入攻击验证是否能够成功:

    二。用prepareStatement方法做账号登陆 -- 这种方法就是防注入攻击的第二种方法

    验证如下:输入正确账号密码时:

    输入错误账号密码时:

    输入注入攻击时:

    二。用prepareStatement方法来注册一个账号

    输入要注册的信息:

    在输入一条注入攻击的信息:

    注册的结果:

    结果表明用prepareStatement方法来做注册和登陆时比较安全的方法。

  • 相关阅读:
    Flutter 详解 Key
    Flutter 状态管理之BLoC
    将博客搬至CSDN
    swift 创建tableView并实现协议
    oc swift 混编 特技
    ios字符串计算高度总结
    想了解浏览器内核,看这一篇就够了
    字符编码GBK、GB2312和UTF-8的区别与联系
    开发中常用npm包随用随记
    Nodejs随学随记(杂)
  • 原文地址:https://www.cnblogs.com/dnf1612/p/6249280.html
Copyright © 2011-2022 走看看