WAF - 是时候跟正则表达式说再见现有WAF的解决方案 如何构建未来的WAF Part 1 Part 2 Part 3 议题内容 Part 1 正则表达式不适合用于构建WAF 感性认识—误报和漏报难以平衡 尝试寻找有理证明 WAF自身安全 正则表达式 计算复杂度 正则表达式DDOS攻击 非Regex DOS WAF防御能力 正则表达式DDOS攻击 提出一种正则表达式的DDOS攻击: 维护几十条到几百条正则表达式规则,保证拦截率,误报率前提下,所有规则最坏 时间复杂度小于?(??),是一件很难事情。 正则表达式不适合用于构建WAF Part 2 现有WAF的解决方案 基于语义检测的WAF 正则:select.*from Improved 正则只关注‘Select id,name from’, 忽略了上下文的信息 。在做注入判断时,对输入进 行片面的理解,导致误报。 整个输入作为一个整体,尝试 用户输入 词法分析 语法分析 攻击语义检测 攻击语义抽象 基于语义检测的WAF—优缺点 运营成本低 高准确率 优点|缺点 应急 响应慢 语义抽象 依赖人 低漏报 开发成本很高 算法优化 基于统计的机器学习WAF—异常模型 正常请求 建立模型 (HMM) 模型 思路 • 正常的请求总是相似 • 异常却各有各的不同 线上请求0 码力 | 24 页 | 1.66 MB | 1 年前3
Java 基础之IO 和NIO 补完链滴 Java 基础之 IO 和 NIO 补完 作者:james 原文链接:https://ld246.com/article/1512039236654 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) Java Stream,File,IO ● 关于NIO和IO的比较,参考: Java NIO系列教程(十二) Java NIO与IO java包之java NIO系列教程 15 Java NIO Path ● 翻译自: 15Java NIO Path ● Java的java.nio.file.Path接口是JavaNIO 2 update的一部分,在Java6和Java7中得到更新。Java pa h接口在java7中被加入到Java NIO中。Path接口位于java.nio.file包中,所以Java Path接口的全名是 java.nio.file.Path。 路径可能比较费解,不用担心,我会 该文中详细介绍。 ● 对于操作系统中的系统路径这样的环境变量不要疑惑,java Path接口跟它们没有关系。 ● 在很多方面java.nio.file.Path和java.io.File类是类似的,在一些地方你可以使用Path接口来代替File ,但是也有一些不同。 1. 创建Path实例 ● 你可以使用java.nio.file.Paths类的静态方法Paths0 码力 | 9 页 | 218.38 KB | 1 年前3
Java 源码剖析——彻底搞懂Reference 和ReferenceQueue链滴 Java 源码剖析——彻底搞懂 Reference 和 ReferenceQueue 作者:jesministrator 原文链接:https://ld246.com/article/1513083921948 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) 之前博主的一篇读书笔记——《深入理解Java虚拟机》系列之回收对象算法与四种引用类型博客中为 四种引用类型博客中为 家介绍了Java中的四种引用类型,很多同学都希望能够对引用,还有不同类型引用的原理进行更深入 了解。因此博主查看了抽象父类Reference和负责注册引用对象的引用队列ReferenceQueue的源码 在此和大家一起分享,并做了一些分析,感兴趣的同学可以一起学习。 Reference源码分析 首先我们先看一下Reference类的注释: /** * Abstract this * Enqueued: next reference in queue (or this if last) 原文链接:Java 源码剖析——彻底搞懂 Reference 和 ReferenceQueue * Inactive: this */ @SuppressWarnings("rawtypes") Reference next; next用来表示当0 码力 | 6 页 | 283.24 KB | 1 年前3
Java 应用与开发 - 类加载和反射类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 Java 应用与开发 类加载和反射 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 December 24, 2018 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 学习目标 1. 理解什么是反射机制,通过常见场景认识反射的作用。 2. 掌握类的加载、连接和初始化概念。 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 接下来⋯ 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 反射机制 ▶ 反射机制是 Java 语言在运行时所拥有的一项自观能力。通 过这种能力可以彻底的了解自身的情况为下一步的动作做准 备。 ▶ 反射机制是在运行状态(而不是编译状态)时: ▶ 判断任意一个对象所属的类; ▶ 构造任意一个类的对象; ▶ 判断任意一个类所具有的成员变量和方法(通过反射甚至可 以调用0 码力 | 46 页 | 714.40 KB | 1 年前3
Java 应用与开发 - MVC 和框架初步大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 Java 应用与开发 MVC 和框架初步 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 December 17, 2018 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 学习目标 1. 理解 MVC 设计模式的概念与特点,初步认识框架产生的基 设计模式的概念与特点,初步认识框架产生的基 础。 2. 了解经典的 MVC 框架——Struts 2,学会使用 Eclipse 入 手编写一个 Struts 2 Web 应用。 3. 通过 Struts 2 的经典 MVC 框架设计和业务代码开发过程, 进一步思考、理解框架。 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 大纲 Java Web 应用的开发演化 经典 MVC 框架 forward(req, resp); 20 } 21 } 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 框架方式 ▶ 时代进一步发展,人们发现简单的 JSP 和 Servlet 已经很难 满足人们懒惰的要求。于是,人们开始试图总结一些公用的 Java 类,来解决 Web 开发过程中碰到的问题。这时,横空 出世了一个框架,叫做Struts。它非常先进地实现了MVC0 码力 | 51 页 | 837.26 KB | 1 年前3
08 Pipenv和Python包管理 明希0 码力 | 24 页 | 1.24 MB | 1 年前3
3 Thautwarm 解放python的表达力 性能和安全性 语法和语义扩展 JIT 静态检查解放Python的 表达力,性能和安全性 Thautwarm 目录 CONTENTS 语法和语义扩展 JIT 静态类型 语法和语义扩展 表达力的扩展, 可用性的保留,白来的午餐? 演示一小部分: 模式匹配, Quick Lambda, Pipe运算 语言决定思维模型 GNU-APL C++ Haskell 说 到 质 数 � 人 们 想 到 什 么 � 语言决定思维模型 虽然模式匹配似乎还不甚流行,但它仅是编 程语言走向未来必然经过的一个极其不起眼 的、实现简单的基础设施。 语言决定思维模型 在 实 际 业 务 中 处 理 数 据 � Python 语言决定思维模型 语言中的语法和语义, 决定了 它真实的表达力。 大多数语言都不是“万金油” 的,这是客观事实。 但它们不够“万金油”的问题 来源,不一定是不能解决的。 扩展语言,开阔思维 我预期的语法(及语义) 扩展系统: 1 发布,C扩展等等),在使用该系统后得以保持,拥有 工业级的可靠性和稳定性 6 如何工作? Python Import 忽略Cache Loader, 只对源代码Loader 重写get_data方法 调用父get_data方法, 拿到源代码 moshmosh.extension. perform_extension 源码变换 扩展的语法和语义 并非naïve的,不卫生的 源码变换; 其作用是对0 码力 | 43 页 | 10.71 MB | 1 年前3
Java 应用系统开发 - ServletContext 和 Web 配置EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 Java 应用系统开发 ServletContext 和 Web 配置 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 November 26, 2018 大纲 Web 应用环境对象 Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 学习目标 Java EE Web Servlet 配置对象 转发和重定向 本节习题 大纲 Web 应用环境对象 Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 大纲 Web 应用环境对象 Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 接下来⋯ Web 应用环境对象 Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 大纲 Web 应用环境对象 Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 Web 应用环境对象 将 Web 应用部署到服务器上,启动 Web 服务器后,Web 容器 为每个 Web 应用创建一个表达 Web 应用环境的对象(即 ServletContext 对象),并将 Web 应用的基本信息存储在这个 ServletContext 对象中。 O Web0 码力 | 33 页 | 668.91 KB | 1 年前3
Django、Vue 和Element UI 前后端原理论述一篇是你在开始动手搭建环境前需要了解各工具原理的文章。 这是一篇你真正开始前需要查阅的文章。 本文介绍了前后端工作原理,前后端搭建的流程、搭建过程中需要用到的技术以及 开发环境版本。 一、前后端如何工作 Django、Vue 和 Element UI 前后 端原理论述 作者:M&T. 2 《51 测试天地》七十四 www.51testing.com 后端开发(Django+Rest Framework+MySQL): 接口。通过 Rest Framework,可以定义 API 视图和序列化器,实现数据的序列化和反序列化,从而方便地 与前端进行数据交互。 MySQL 是一个关系型数据库,用于存储后端的数据。 前端开发(Vue+Element UI): Vue 是一种现代的 JavaScript 框架,用于构建用户界面。Vue 提供了丰富的组件和模 块,可以帮助开发者构建交互式的单页面应用(SPA)。 Element 前端接收到后端返回的数据,并根据数据更新页面展示,实现与用户的交互。 总体而言,这种前后端分离的开发模式有助于实现前后端开发的解耦,使得各自的 开发工作更加专注和高效。前端负责用户界面的呈现和交互,后端负责数据处理和业务 逻辑,通过 API 接口进行数据传输和交互,从而实现一个完整的 Web 应用。 3 《51 测试天地》七十四 www.51testing.com 二、搭建流程 2.1 后端搭建流程0 码力 | 61 页 | 6.84 MB | 1 年前3
Java 应用与开发 - Java 数组和字符串大纲 数组的概念 一维数组 二维数组 字符串 Java 应用与开发 Java 数组和字符串 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 October 16, 2020 大纲 数组的概念 一维数组 二维数组 字符串 参考书目 1. 陈国君等编著, Java 程序设计基础(第 5 版), 清华大学出 版社 2. Bruce Eckel, Thinking in in Java (3rd) 大纲 数组的概念 一维数组 二维数组 字符串 学习目标 1. 掌握 Java 数组的概念 2. 学会一维数组和二维数组的使用;认识 Arrays 类,掌握操 作数组相关方法 3. 掌握 Java 字符串的概念,字符串与数组的关系;学会 String 类常用字符串操作方法 大纲 数组的概念 一维数组 二维数组 字符串 大纲 数组的概念 一维数组 二维数组 数组的基本概念 数组是相同数据类型的元素按一定顺序排列的集合。Java 中, 数组元素既可以为基本数据类型,也可以为对象。 O Java 的内存分配(基础) 栈内存 存放定义的基本类型的变量和对象的引用变量,超 出作用域将自动释放。 堆内存 存放由 new 运算符创建的对象和数组,由 Java 虚 拟机的自动垃圾回收器来管理。 大纲 数组的概念 一维数组 二维数组 字符串 数组的主要特点0 码力 | 33 页 | 620.46 KB | 1 年前3
共 646 条
- 1
- 2
- 3
- 4
- 5
- 6
- 65













