## 一、全称
点击劫持,顾名思义,用户点击某个按钮,却触发了不是用户真正意愿的事件。
## 二、原理
用户在登陆 A 网站的系统后,被攻击者诱惑打开第三方网站,而第三方网站通过 iframe 引入了 A 网站的页面内容,用户在第三方网站中点击某个按钮(被装饰的按钮),实际上是点击了 A 网站的按钮。
## 三、演示攻击
演示图如下:

<!-- more -->
用户登录论坛系
阅读全文
## 一、背景
笔者用 Hexo 搭建此博客系统,搭建过程非常方便。但是,有个麻烦的操作就是每次发布文章都需要重新 clean 和 generate。由于笔者使用的是云服务器,使用 Tomcat 运行博客系统,因此每次还得需要挑选新博文相关的文件远程上传到服务器上。为此,笔者通过 ant 实现自动部署项目。
## 二、编码
### 2.1 搭建环境
1) 安装 jdk 和 ant,并配置环境变量。
2) 下载 [catalina-ant.jar](http://www.java2s.com
阅读全文
## 一、前言
传统的部署项目方式:关闭 web 容器,将项目放入到 web 容器,启动 web 容器这个三个步骤。步骤不多,但是需要手动完成,频繁的操作总会让人心累。为了“解放双手”,实现自动化部署,本篇介绍通过使用 Maven 实现 Tomcat 的热部署。
## 二、准备
> 本次测试使用一台ip为 192.168.2.25 的虚拟机,系统为 centos 7.2,tomcat 使用 8.5 版本。
### 2.1 配置 tomcat 账号密码
为了能安全地连接远程的 tomcat
阅读全文
## 一、基本介绍
``` html
transform # 变形
transition # 过渡
animation # 自定义动画
perspective # 指定透视距离,用于 3D 效果
```
<!-- more -->
## 二、transform
### 2.1 移动(translate)
功能:让元素进行位移
语法:
``` html
translateX(x) # X 轴(水平)方向位移
tran
阅读全文
## 一、全称
跨站请求伪造(Cross-site Request Forgery)
## 二、原理
在用户登陆目标网站后,后端会返回用户登陆的凭证到前端(浏览器的 cookie)。攻击者诱使用户点击某个超链接,该超链接会发送恶意请求(会携带用户的 cookie),从而冒充用户完成业务请求(发帖、盗取用户资金等)。
<!-- more -->
## 三、攻击方式
笔者以网站的发帖功能为案例对 CSRF 攻击进行简单的讲解。
### 3.1 提交 form 表单
下图为模拟攻击演示图
阅读全文
## 一、全称
跨站脚本攻击(Cross Site Scripting)
## 二、原理
通过在网站中的输入框写入 script 脚本或引入 script 文件,如果网站未过滤输入内容,将会解析该脚本。
如果脚本的功能是获取网站的 cookie,cookie 中又保留一些敏感信息,则后果有可能很严重。
## 三、类型
* 反射型攻击:脚本当作 url 的参数进行注入执行
* 存储型攻击:脚本被存储到 DB 后,读取时被解析执行
<!-- more -->
## 四、注入点
##
阅读全文
## 一、背景
在网上能查找到通过 Javascript 编写俄罗斯方块的资料,而且更牛的是只需要不到百行的代码就实现了,笔者非常佩服这些牛人。佩服之余,笔者也想尝试通过 Javascript 编写俄罗斯方块。在翻阅网上的资料和代码中,发现这些代码的可读性不高,因此不能让读者很好地去理解和学习代码。因此,笔者通过本文介绍自己如何通过面向对象的思想实现该游戏。
## 二、项目介绍
### 2.1 效果展示

阅读全文
## 一、背景
最近公司项目添加新功能,上线后发现有些功能的列表查询时间很久。原因是新功能用到旧功能的接口,而这些旧接口的 SQL 查询语句关联5,6张表且编写不够规范,导致 MySQL 在执行 SQL 语句时索引失效,进行全表扫描。原本负责优化的同事有事请假回家,因此优化查询数据的问题落在笔者手中。笔者在查阅网上 SQL 优化的资料后成功解决了问题,在此从**全局角度**记录和总结 MySQL 查询优化相关技巧。
## 二、优化思路
**数据查询慢,不代表 SQL 语句写法有问题。** 首
阅读全文

## 一、背景
闲暇之余在虚拟机安装了 Centos 7.2 系统,按照 [《简单安装MySQL(RPM方式)》](http://www.cnblogs.com/moonlightL/p/7265595.html) 这篇文章安装 MySQL ,发现由于包依赖的问题安装失败,于是索性在官网查询相关文档进行 MySQL 的安装。
## 二、安装
### 2.1 下载
本次安装选择 ***[Installi
阅读全文

## 一、什么是 ElasticSearch
ElasticSearch是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
阅读全文