自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

KHOST的博客

记录自己的学习历程,大部分来自转载,如有侵权联系删除.......

原创 MySQL,bin log、redo log

首先,我们先来看看一次查询/更新语句流程图 mysql查询/更新流程图 本文会将重点放在执行器<->存储引擎之间的交互。 mysql不是每次数据更改都立刻写到磁盘,而是会先将修改后的结果暂存在内存中,当一段时间后,再一次性将多个修改写到磁盘上,减少磁盘io成本,同时提...

2020-05-29 11:03:57 12 0

原创 Shiro框架:认证和授权原理

前言 Shiro作为解决权限问题的常用框架,常用于解决认证、授权、加密、会话管理等场景。本文将对Shiro的认证和授权原理进行介绍: Shiro可以做什么?、 Shiro是由什么组成的? 举个Shiro的例子呗? Shiro认证的原理是咋样的? Sh...

2020-05-29 11:02:59 14 0

原创 SQL查找是否存在,别再count了,很耗费时间的

根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT count(*) 呢? 无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的count 目前多数人的写法 多次REVIEW代码时,发现如现现象: 业务...

2020-05-29 11:02:10 12 0

原创 Dubbo 的心跳设计,值得学习!

前言 谈到RPC肯定绕不开TCP通信,而主流的RPC框架都依赖于Netty等通信框架,这时候我们还要考虑是使用长连接还是短连接: 短连接:每次通信结束后关闭连接,下次通信需要重新创建连接;优点就是无需管理连接,无需保活连接; 长连接:每次通信结束不关闭连接,连接可以复用,...

2020-05-29 11:01:04 16 0

原创 Java 中的 T,E,K,V, 别傻傻分不清楚

作者:Java的小本家 来源:http://suo.im/6uFZuc 前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个...

2020-05-29 11:00:32 17 0

原创 汇编基本语句总结

汇编基本语句总结 一、 基本框架 二、基本运算 1. 加 2. 减法 3. 乘法 通用寄存器表 4. 除法 三、逻辑运算 四、循环 五、栈操作 指针寄存器 六、数据移动指令 七、比较指令 一、 基本框架 .586.MODEL fla...

2020-05-11 16:38:04 42 0

原创 Shodan搜索引擎详解及Python命令行调用

一.Shodan介绍 1.信息收集 信息收集对于渗透测试可以说是重中之重,正所谓“知己知彼,百战不殆”。所以我们的信息收集也是一样,收集的信息越多越好。对于目标的信息收集,主要针对目标的服务器系统、数据库系统、中间件系统、应用程序系统、以及边界设备等信息。以及收集针对于系统管理员的信息...

2020-05-11 16:35:34 150 0

原创 常见端口对应服务及入侵方式

一、端口服务及利用简析 二、端口入侵详情 优秀文章推荐:来自 - zane-shttps://www.cnblogs.com/zane-s/p/12435873.html

2020-05-11 16:33:38 48 0

原创 Spring Boot 整合微信小程序实现登录与增删改查

项目描述:在微信小程序中通过与Springboot操作数据库实现简单的增删改查,其中我是用springboot整合mybatis-plus 和mysql使用的 1. 开发前准备 1.1 前置知识 java基础 SpringBoot简单基础知识 1.2 环境参数 开发工...

2020-05-11 16:32:55 110 0

原创 JAVA反序列化漏洞

Part 1 反序列化漏洞 JAVA反序列化漏洞到底是如何产生的? 1、由于很多站点或者RMI仓库等接口处存在java的反序列化功能,于是攻击者可以通过构造特定的恶意对象序列化后的流,让目标反序列化,从而达到自己的恶意预期行为,包括命令执行,甚至 getshell 等等。 2、...

2020-05-11 16:28:14 56 0

原创 MySQL千万级别大表优化

来源:kks.me/b3fJk 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太...

2020-04-23 19:45:59 163 0

原创 MySQL⼿注之联合查询注⼊详解

MySQL联合查询注入原理 union select联合查询,即合并(取交集,结果中没有重复⾏)前后两个查询;前提是前后查询视图必须拥有相同数量的列,列也必需拥有相同的数据类型。 Union联合查询注入基本流程 1、判断是否存在注入 方法一:单引号法 注入点' 方法二:逻...

2020-04-23 19:45:00 69 0

原创 sql注入系列之(bypass waf 2)

今天我们继续来讲一下bypass waf的另一部分 例1: http://www.site.com/php?id=2uNiOn-- - (waf) http://www.site.com/php?id=2/*!50000uNiOn*/-- - (waf) http://www.site.co...

2020-04-23 19:43:31 60 0

原创 Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享

作者:蕃薯耀 链接:www.cnblogs.com/fanshuyao 一、Session共享使用tomcat-cluster-redis-session-manager插件实现 插件地址见: https://github.com/ran-jit/tomcat-cluster-redis...

2020-04-23 19:41:32 57 0

原创 SQL注入access数据库

首先是sql注入产生的条件: 1.参数的传递 2.参数值可以带入到数据库 我这里是本地搭建的环境,接另外一种方法注入 手工注入值半猜解 第一步 判断是否可以注入 URL:http://localhost:58031/Production/PRODUCT_DETAIL.asp?i...

2020-04-23 19:40:56 68 0

原创 10 分钟实现 Spring Boot 发生邮件功能

来源:yizhiwazi jianshu.com/p/5eb000544dd7 基础知识 什么是SMTP? 什么是IMAP? 什么是POP3? IMAP和POP3协议有什么不同呢? 进阶知识 什么是J...

2020-04-23 19:39:04 48 0

原创 Docker+Jenkins+Nginx+Spring Boot 自动化部署项目

作者:Wilson1995 链接:toutiao.com/i6779098800825827852/ Docker通过linux的namespace实现资源隔离、cgroups实现资源控制,通过写时复制机制(copy-on-write)实现了高效的文件操作,在实际开发中可用于提供一次性的环境、...

2020-04-23 19:37:18 56 0

原创 IntelliJ IDEA 常用插件一览

一、官方工具 IntelliJ IDEA 默认安装并提供了非常多的工具,比如 Git Integration、Maven Integration、Markdown support、SSH Remote Run 等。其中有很多好用,但是不为人知的工具。 1.REST client 在日常开发过...

2020-04-15 20:17:18 64 0

原创 瞬间几千次的重复提交,我用 SpringBoot+Redis 扛住了

在实际的开发项目中,一个对外暴露的接口往往会面临,瞬间大量的重复的请求提交,如果想过滤掉重复请求造成对业务的伤害,那就需要实现幂等! 我们来解释一下幂等的概念: 任意多次执行所产生的影响均与一次执行的影响相同。按照这个含义,最终的含义就是 对数据库的影响只能是一次性的,不能重复处理。 ...

2020-04-12 18:30:54 120 0

原创 Spring Boot+JWT+Shiro+MyBatisPlus实现Restful快速开发后端脚手架

一、背景 前后端分离已经成为互联网项目开发标准,它会为以后的大型分布式架构打下基础。SpringBoot使编码配置部署都变得简单,越来越多的互联网公司已经选择SpringBoot作为微服务的入门级微框架。 Mybatis-Plus是一个 Mybatis 的增强工具,有代码生成器,并且提供了类似...

2020-04-12 18:28:35 59 0

原创 PotPlayer直播源推荐

最近开始使用PotPlayer这款软件,发现可以直接添加直播源 当做一个网络电视使用 所以去网上查找各种直播源但是发现很多都是过期的,但是发现了一个github上的 有8000多个全球的直播源所以分享给大家 github地址:https://github.com/iptv-org/iptv 说...

2020-04-10 12:02:00 2068 1

原创 BurpSuite中的奇滛技巧V1.0

前言 分享一些使用burp中自己常用的技巧,觉得实用的话记得分享一下哦~ 1.快速生成CSRF测试代码 测试csrf漏洞时候,快速生成scrf的html的代码。 2.自动挖xss 在请求头中自动加入xss代码,这样就可以每次自动的撸xss啦 3.只想看某一个...

2020-04-09 18:45:04 39 0

原创 服务端给客户端推送消息用Netty+WS实现

# 前言 曾几何时,不知道大家有没有在项目里遇到过需要服务端给客户端推送消息的需求,是否曾经苦恼过、纠结过,我们知道要想实现这样的需求肯定离不开websocket长连接方式,那么到底是该选原生的websocket还是更加高级的netty框架呢?在此我极力推荐netty,因为一款好的框架一般都...

2020-04-09 18:42:54 85 0

原创 Spring Task 定时任务没有定时执行

来源:侠梦的开发笔记 前言 定时任务的使用,在开发中可谓是家常便饭了,定时发送邮件、短信。避免数据库,数据表过大,定时将数据转储。通知、对账等等场景。 当然实现定时任务的方式也有很多,比如使用 linux下的crontab脚本,jdk 中自带的 Timer 类。Spring Ta...

2020-04-09 18:41:57 37 0

原创 33 个 IDEA 配置

来源:http://u6.gg/sS7XJ 1.设置maven 1.在File->settings->搜索maven 2.Mavan home directory--设置maven安装包的bin文件夹所在的位置 3.User settings file--设置setting...

2020-04-09 18:39:56 17 0

原创 高并发之API接口,分布式,防刷限流

在开发分布式高并发系统时有三把利器用来保护系统:缓存、降级、限流 缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题解决后再打开 限流 限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求...

2020-04-03 19:33:50 487 0

原创 MySQL 全文索引实现一个简单版搜索引擎

作者:Jia-Xin cnblogs.com/YangJiaXin/p/11153579.html 前言 只有Innodb和myisam存储引擎能用全文索引(innodb支持全文索引是从mysql5.6开始的) char、varchar、text类型字段能创建全文索引(ful...

2020-04-03 19:33:08 109 0

原创 用Java语言,写一个植物大战僵尸简易版!

前言 有谁没玩过植物大战僵尸吗? 小灰的一位读者,用Java语言开发了自己的植物大战僵尸游戏。虽然系统相对简单,但是麻雀虽小五脏俱全,对游戏开发感兴趣的小伙伴可以学习一下哦~~ 游戏设计 植物大战僵尸中有一个小游戏关卡,屏幕的正上方有一个滚轮机,会随机生成植物,玩家可以选中植物...

2020-04-03 19:32:11 153 0

原创 谷歌插件-爬虫

前言 已经好几天没写原创了,这些天主要是在学习一些新的知识,所以没时间去写文。前几天发现了一个比较有用的谷歌插件,大家看标题也许已经知道它有啥用了。 下面给大家介绍一下这款插件的用法,文末也提供了下载链接。 使用 首先简单介绍一下是个啥插件: 如图所示 确保安装成功插件后,...

2020-04-03 19:31:37 111 0

原创 SpringBoot 线程池的使用

前言 最近在做订单模块,用户购买服务类产品之后,需要进行预约,预约成功之后分别给商家和用户发送提醒短信。考虑发短信耗时的情况所以我想用异步的方法去执行,于是就在网上看见了Spring的@Async了。 但是遇到了许多问题,使得@Async无效,也一直没有找到很好的文章去详细的说明@As...

2020-03-27 20:10:04 127 0

原创 从 0 编写自己的第一款 IDEA 插件

写Java代码的时候,经常会涉及到重复性的操作,这个时候就会想要是有这样一个插件就好了,如果是大家都会遇到的场景,IDE或许已经提供了,再不然也有可能有人编写了相关的插件。 要是这个操作是你们的编码环境特有的,那就只能自己写工具了。所以这里来学学如何编写IDEA插件,让自己的编程环境更加强大,更...

2020-03-27 20:07:30 116 0

原创 Java 中的 SPI 机制是到底是什么

来自:sigangjun |责编:乐乐 链接:blog.csdn.net/sigangjun/article/details/79071850 SPI的全名为:Service Provider Interface,大多数开发人员可能不熟悉,因为这个是针对厂商或者插件的。在java.util...

2020-03-27 20:06:13 100 0

原创 Windows取证分析基础知识大全

想要做好取证分析工作,工具和技术只是辅助,思路才是核心和重点。本文将详细分享Microsoft Windows操作系统的基础数字取证知识,了解数据的存放位置和对应部件,便于快速确定关键证据,内容包括windows时间规则、文件下载、程序执行、文件删除/文件信息、浏览器资源、外部设备/USB使用、账...

2020-03-27 20:04:30 170 0

原创 Docker搭建BWAPP靶场

buggy web Application 这是一个集成了各种常见漏洞和最新漏洞的开源Web应用程序,目的是帮助网络安全爱好者、开发人员和学生发现并防止网络漏洞。包含了超过100种漏洞,涵盖了所有主要的已知Web漏洞,包括OWASP Top10安全风险,最重要的是已经包含了OpenSSL和Shel...

2020-03-23 21:52:03 158 0

原创 Java项目构建基础:统一结果,统一异常,统一日志

作者:永动的图灵机 juejin.im/post/5e073980f265da33f8653f2e 统一结果返回 目前的前后端开发大部分数据的传输格式都是json,因此定义一个统一规范的数据格式有利于前后端的交互与UI的展示。 统一结果的一般形式 是否响应成功; 响应状态...

2020-03-23 21:51:03 84 0

原创 如何获取QQ/微信好友的IP地址

通过监控网络通讯过程中的数据包,从而捕获QQ/微信好友的IP地址,这早已不是秘密,而这种方式依然有效。 在网络世界里,有了IP地址,就可以获取大概的地理位置。如果对方使用公司网络/家庭WiFi,定位IP基本是比较准确的,但是如果手机使用4G/代理,或是开启了虚拟定位,那么结果就会存在比较大的偏差...

2020-03-23 21:49:48 1620 2

原创 Docker 搭建 upload-labs 靶场

upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 靶场搭建 获取upload-labs镜像 docker search upload-labs ...

2020-03-23 21:48:45 214 0

原创 Springboot + Vue + shiro 实现前后端分离、权限控制

作者:_Yufan cnblogs.com/yfzhou/p/9813177.html 本文总结自实习中对项目的重构。原先项目采用Springboot+freemarker模版,开发过程中觉得前端逻辑写的实在恶心,后端Controller层还必须返回Freemarker模版的ModelAnd...

2020-03-23 21:33:03 48 0

原创 理解 23 种设计模式

创建型模式: 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式: 客户类和工厂类分开。消费者任何时候需要某种产品,...

2020-03-23 21:32:35 43 0

原创 一个简易上手的短信服务Spring Boot Starter

短信服务在用户注册、登录、找回密码等相关操作中,可以让用户使用更加便捷,越来越多的公司都采用短信验证的方式让用户进行操作,从而提高用户的实用性。 由于 Spring boot 的约定大于配置的理念,使得在使用Spring变得更加方便。Spring Boot 项目组提供了很多Starter ,让我...

2020-03-19 11:05:01 66 0

提示
确定要删除当前文章?
取消 删除