自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 redis防止横向越权

一、之前有通过guava的cache实现token生成,现在我们用redis实现,过程其实是一样的。之前文章:https://blog.csdn.net/weixin_40459875/article/details/80034267二、(1)先创建一个jedis连接池,连接redispublic class RedisShardedPool { private static Sharde...

2018-04-22 16:51:48 486

原创 guava cache实现防止横向越权

一、问题:忘记密码,在非登录状态下重设密码,回答成功密保问题后,跳转到重置密码页面,如果攻击者看到重设密码接口,就可以输入任意用户名和密码提交,如果用户名存在,就导致这个用户名下密码被修改。为了防止这种横向越权,我们会在答对密保问题后服务端生成一个token返回。然后重设密码后,浏览器端把相应密码信息连token一起交给服务端。服务端借此验证是否为同一个token。二、代码实现我们用guava来实...

2018-04-22 16:51:19 525

原创 java实现ftp上传文件

一、java代码(1)创建一个ftp工具类FTPUtil,连接ftp服务端,并上传文件。import lombok.extern.slf4j.Slf4j;import org.apache.commons.net.ftp.FTPClient;import java.io.File;import java.io.FileInputStream;import java.io.IOExcept...

2018-04-21 21:49:12 376

原创 maven控制不同环境读取不同的配置

一、项目中常用的环境是,本地环境、开发环境、测试环境、线上环境。而不同环境对应不同的配置,之前一直是当开发提交给测试一个版本的时候,需要测试把配置文件的改成相应的配置。问题显而易见,容易改乱。而maven非常好的解决了这个问题。效果如下:当我们选择profiles中的三个环境框,就会选择不同的配置文件resource.*。二、做法:(1)在pom文件中添加配置(下面是设置了配置了三个环境为例子)在...

2018-04-21 19:28:14 565

原创 mysql命令行导入sql文件

通常因为有可视化界面,我们导入sql的时候,会直接“运行sql文件”就可以了。今天遇到一个问题,在服务端导入sql文件,因为服务端的mysql是不对外开放的,所以只能在终端用命令行导入,突然忘了导入命令了。。其实导入文件的命令是source。(1)进入要导入文件的数据库(2)#source sql地址就可以导入了。...

2018-04-21 18:44:09 9108 1

原创 阿里云服务器安全组设置规则

阿里云服务器需要在安全组设置入网规则。不然即使防火墙允许的端口依然远程无法连接上服务器。打开安全组配置:常用的tomcat,mysql我们都知道,比较不常用的ftp需要这两个(官方文档中都没有写。。。)...

2018-04-21 18:22:57 6150 1

原创 BigDecimal解决浮点精度丢失

一、问题:(1)在电商网站计算中,价钱计算是重要一环,那么价钱是如何计算的,先来看:可以看到如果用Long类型计算,会导致问题。比如我买一件0.01元和0.05元的商品,我手里一共0.06元,是可以购买的,但是付款的时候却会发现钱不够,因为Long类型,0.01+0.05等于0.060000000000000005,我们少了0.000000000000000005元。同样的下面,也会减乘除都会遇到...

2018-04-21 17:34:45 5297 1

原创 get方式传值中文乱码

一、问题:当用get显式传值的时候,结果传入到数据库中为乱码。二、可能存在的问题以及解决方法:(1)在后端进行拦截,编码置成UTF8。(2)mysql配置文件5.1版本,my.ini内[mysql][mysqld]中添加:default-character-set=utf8;5.5版本,my.ini内[mysql]中添加:default-character-set=utf8;[mysqld]中添加...

2018-04-21 17:11:47 645

原创 StringUtils类的isNotBlank 和isNotEmpty

isNotBlank 和isNotEmpty要清楚方法才能不混用,避免在代码中的坑。看isBlank 和isEmpty源码:可以看到isBlank()判断如果是空格的话为true,而对于isEmpty(),空格即不是null,length()也不不等于0,所以为false。那么对于isNotBlank 和isNotEmpty也就清楚了:isNotBlank()传入是空格,认为false;isNot...

2018-04-21 16:54:31 633

原创 web应用连接mysql报错:You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true

一、问题:当用mybatis连接mysql时,出现报错:Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be es...

2018-04-21 14:54:28 5693

原创 Mybatis plugin笔记

一、问题:当使用mybatis框架的时候,从dao层往mapper找对应的方法的时候,往往需要copy方法名,然后查找,很费时。而Mybatis提供的Mybatis plugin却很好的解决了这个问题。二、效果:dao:mapper:通过箭头直接就找到了对应的方法。三、做法:打开Settings。install之后,重启idea,就大功告成了。dao已经和mapper一一对应上了。...

2018-04-21 14:34:47 940

原创 windows+Oracle VM VirtualBox安装macOS10.12系统

一、准备工作1.安装vm VirtualBox打开链接,密码:p7fc虚拟机安装比较简单,选项默认即可。2.下载macOS10虚拟硬盘打开链接, 密码:q5ei全部下载,解压缩6,得到vmdk文件。二、安装1.打开vm VirtualBox---新建内存我们设置为4096。使用已又的虚拟硬盘文件,选择刚下载的vmdk,点击创建。设置,系统---处理器设置为2主板---去掉勾选软驱显示---屏幕设置...

2018-04-21 11:23:15 13016 7

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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