当前位置: 首页 > news >正文

盐城市城乡建设局网站wordpress安装主题链接路径

盐城市城乡建设局网站,wordpress安装主题链接路径,渠道网络建设策略,网站外链建设可以提升网站权重对吗课程名称 网络安全 大作业名称 防sql注入的网站登录系统设计与实现 姓名 学号 班级 大 作 业 要 求 结合mysql数据库设计一个web登录页面密码需密文存放#xff08;可以采用hash方式#xff0c;建议用sha1或md5加盐#xff09;采用服务器端的验证码#… 课程名称 网络安全 大作业名称 防sql注入的网站登录系统设计与实现 姓名 学号 班级 大 作 业 要 求 结合mysql数据库设计一个web登录页面密码需密文存放可以采用hash方式建议用sha1或md5加盐采用服务器端的验证码防止bp爆破或token方式对同一ip地址登录错误超过3次暂停5分钟防止bp爆破sqlmap爆破能够防住简单注入和宽字节注入需有测试的案例能够基本防住手动注入和sqlmap攻击需有测试的案例能够防止sql注入原因分析课程心得体会、建议。   大 作 业 内 容 SQL注入详解全网最全万字长文-CSDN博客 结合mysql数据库设计一个web登录页面 密码需密文存放可以采用hash方式建议用sha1或md5加盐String newPwdMD5 DigestUtils.md5DigestAsHex(newPwd.getBytes(StandardCharsets.UTF_8)); 采用服务器端的验证码防止bp爆破或token方式public class GenerateCaptchaServlet extends HttpServlet {     Override     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, IOException {        int width 150;       int height 50;        BufferedImage image new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);        Graphics2D g2d image.createGraphics();        g2d.setColor(Color.WHITE);        g2d.fillRect(0, 0, width, height);        g2d.setFont(new Font(Arial, Font.BOLD, 30));        Random random new Random();       int captchaValue random.nextInt(9000) 1000;        String captcha String.valueOf(captchaValue);        g2d.setColor(Color.BLACK);        g2d.drawString(captcha, 20, 35);        request.getSession().setAttribute(captcha, captcha);        response.setContentType(image/png);        ImageIO.write(image, png, response.getOutputStream());     }} if (!enteredCaptcha.equals(storedCaptcha)) {    session.setAttribute(msg, 验证码错误);     incrementErrorCount(ipAddress, request, response);    return;} 对同一ip地址登录错误超过3次暂停5分钟防止bp爆破sqlmap爆破在登录的时候先检查IP有没有被停用然后接着就是检测验证码账户密码只要错误就调用incrementErrorCount。 IpErrorCounts是一个HashMap用于记录相应ip的错误次数。 pausedIps用于记录停用时间 private void incrementErrorCount(String ipAddress, HttpServletRequest request, HttpServletResponse response) throws IOException {    Integer errorCount ipErrorCounts.getOrDefault(ipAddress, 0);     errorCount;     ipErrorCounts.put(ipAddress, errorCount);     // 如果错误次数超过 3 次暂停 IP     if (errorCount 3) {        pausedIps.put(ipAddress, new Date());     }    response.sendRedirect(request.getContextPath() /goat.jsp);} // 获取 IP 地址String ipAddress request.getRemoteAddr();// 检查 IP 是否被暂停(这里的pausedlps是一个HashMap)if (pausedIps.containsKey(ipAddress)) {    Date pauseStartTime pausedIps.get(ipAddress);     Date currentTime new Date();    long timeDiff currentTime.getTime() - pauseStartTime.getTime();    long fiveMinutesInMillis 5 * 60 * 1000;    if (timeDiff fiveMinutesInMillis) {       HttpSession session request.getSession();        session.setAttribute(msg, 你的 IP 因多次登录失败被暂停请 5 分钟后再试。);        response.sendRedirect(request.getContextPath() /goat.jsp);       return;     } else {        pausedIps.remove(ipAddress);     }} 能够防住简单注入和宽字节注入需有测试的案例其实sql注入说白了就是需要到达数据库那个层面才能发挥作用我直接正则限制输入再加上输入不符合就直接阻止事件的发生干掉。 const emailRegex /^[a-zA-Z0-9_.-][a-zA-Z0-9-]\.[a-zA-Z0-9-.]$/;const numberRegex /^\d$/; loginBtn.click(function (event) {     let username userName.val();    let pwd passWord.val();    let captcha captchaInput.val();    if (username || pwd || captcha ) {         error.text(存在未填写的信息请输入);         event.preventDefault();        return false;     }     else if(!emailRegex.test(username)){         error.text(邮箱格式错误);         event.preventDefault();     }     else if(!numberRegex.test(pwd)){         error.text(密码格式错误);         event.preventDefault();     }}); 宽字节注入 攻击者输入用户名 admin%df or 11-- 和任意密码,当应用程序将这个用户名拼接到 SQL 查询中时由于数据库连接使用了宽字节字符编码如 GBK%df会被解释为一个汉字从而绕过了单引号的过滤。 能够基本防住手动注入和sqlmap攻击需有测试的案例手工注入 在知道邮箱账户的情况下可以使用 第一张图片解析个人理解 我这里先假设我前端没有用正则会是什么情况 点击登录后的数据库语句 select * from reader where email ‘taotaoqq.com’#’ select * from reader where email ‘taotaoqq.com’#’ and pwd’...’ 第一张图片 在数据库中#代表的是注释#后面的就不用管了 这里可以讨论一下以上两种登录方式 第一种是先根据用户名来找到一个对象然后在判断密码是否正确的这种就能防止现在这种情况的注入。 但是第二种是直接查这种密码是多少都可以只要邮箱正确就行明显防止不了。当然如果在后面又加了判断密码也可以防止但是这样的话相较于第一种代码量增加还浪费了资源查了两个字段为了防止注入还要复制第一种写法后面的代码多了判断 第二种图片 有同学自己可能写了一下感觉不行觉得密码不对过不了觉得是从左到右先or然后在and那就错了 select * from reader where email ‘taotaoqq.com’or’1’’1’ and pwd’...’ 在数据库中and的优先级比or高所以语句可以这样表示 select * from reader where (email ‘taotaoqq.com’)or(’1’’1’ and pwd’...’) 是先and然后在or一目了然 当然如果直接正则限制输入那这种注入都到不了数据库那一层面直接限制到了前端请求都发不过去。 Sqlmap攻击 sqlmap基础知识_sqlmap简介-CSDN博客 最直接的方法直接不使用关系型数据库用Nosql。开玩笑 在查询了相关资料后了解到这种注入方式居然可以直接绕过前端的检测牛的那这直接打破我的认知又要思考了。。。。。那就加后端检测吧。查资料应该在后端服务器端进行严格的输入验证和 SQL 注入防范措施如使用参数化查询、输入过滤和转义等技术以确保数据库的安全。。 那就直接在后端也搞正则检测。 这个没有进行实操过当然也不太清楚怎么去实操没了解过。 能够防止sql注入原因分析Sql注入无非就是写一段sql代码来插入到一些sql语句当中利用#、’等符号来实现一些不可思议的作用所以对于输入的检测、过滤是必要的。 前端我是用的正则表达式来判断输入的东西并且不符合就阻止事件的发生请求而且我后端是先根据输入的东西找到一个对象再去判断其他的。当然post请求也发挥着作用毕竟如果是get请求url就直接显示相关信息了。
http://www.lakalapos1.cn/news/28431/

相关文章:

  • 动画网站建设8小8x人成免费观看网页
  • 第三方做的网站不给源代码做网站导航怎么调整大小
  • 始兴生态建设网站做qq链接的网站
  • 个人网站不备案做经营性质网站上海企业网站建设补贴
  • 青岛专业网站制作设计网站做过备案后能改别的公司吗
  • 编辑公众号seo外包公司费用
  • 如何做热词网站云匠网的3600能赚回来吗
  • 东莞易进网络专业网站建设 网站给公司在百度上做网站
  • 网站中文域名要到期网站建设销售话术
  • 安徽省建设工程协会网站建设银行官方网站登
  • 自助建站上建的网站免费吗海口网站建设优化案例
  • 网站优化的内容湖南网站设计外包费用
  • 一起做网店潮汕站高质量外链网站
  • 做一家网站需要多少钱wordpress 前台500
  • 网站建设工程新乡公司做网站
  • 如何做网站维护大岭山镇仿做网站
  • 用php建设一个简单的网站旅游网络网站建设方案
  • html语言做的网站和asp的区别购物网站常用的多组图左右轮播的js图片特效代码
  • wordpress网站排行榜内蒙旅游
  • 网站建设跟网站结构怎么建设自己导购网站
  • 如何建一个外贸网站造价员证在哪个网站上查询
  • 网站推广广告词大全集哪个网站做推广效果好
  • 重庆市园林建设有限公司网站宁波网站优化技术
  • 西安驾校网站建设征二级网站建设意见 通知
  • 网站建设2017排名做原创音乐的网站
  • 罗田县住房和城乡建设局网站高端 网站
  • 做网站用什么源码好汽车报价网站
  • 高校网站建设前景dw软件网站建设教程视频
  • 郑州 科技有限公司 网站建设wordpress数据库清理
  • php网站后台上传图片有没有推荐到首页的功能权威的合肥网站推广