防盗链之基于Springboot过滤器实现
防盗链之基于springboot过滤器实现什么是盗链内容不在自己的服务器上,通过技术手段将其他网站的内容(图片,音乐,软件等) 放置在自己的网站中,通过这种方式盗取其他网站的空间和流量,减轻自己服务器的负担。举个例子我们服务器上有一个播放视频的地址,其他的网站用户就可以将我们的视频地址引用到他们的网站上,他们服务器实际没有任何开销,却能以此吸引用户!
防盗链的原理根本原理是基于HTTP协议中的Referer请求头,当浏览器向web服务器发送请求时, 一般会带上Referer请求头,告诉服务器请求时从哪个页面链接过来的,服务器以此可以获得一部分信息用于处理。比如在我们的博客上放一个友情链接,他便能通过Referer来统计出每天有多少用户是通过我们的友链来访问他的网站。所以我们也能通过referer请求头来判断我们的链接是否被盗用。
注: 有时候一个http请求中是没有referer请求头的,例如直接在浏览器地址栏输入一个url;根据Referer的定义,他的作用是指示一个请求是从哪里链接过来,那么当请求并不是链接触发产生的,那么自然也就不需要指定referer请求头信息。
防盗链 ...
联想个人云存储A1使用体验
联想个人云存储A1使用体验
咸鱼的我发现写技术类的博客实在是太难了,所以偶尔也想写写生活类的博客!
购买原因起初并不觉得自己需要一个nas存储设备,觉得百度云这类工具已经符合我的需求,但是后面随着各种手机、平板等数码设备的加入,外加我喜欢胡乱拍照、拍视频,导致手机平板等设备的存储空间捉襟见肘,尤其是苹果手设备内存消耗巨大。所以就有了购买一个nas的想法,起初是想买群辉这类设备的,功能多而且用户群体庞大,遇到问题可以快速解决,但是其价格让我望而却步。有幸在朋友的介绍下得知联想的云储存设备,恰逢双十一降价,经过多方面对比最终还是决定购入联想个人云存储A1(3Tb版本),经过各种优惠下最终到手价为830,我表示很满意,毕竟一块3T的红盘都要五百左右。
硬件配置
描述
配置
主芯片
Realtek RTD1296(64位Cortex-A53四核,1.4GHz)
内存
1GB DDR4(我买的3T版本是2G内存的)
闪存
8GB eMMC
系统
LSM
硬盘
3.5英寸NAS红盘,5400RPM,SATA3.0
硬盘容量
1TB/2TB/3TB/4TB/6TB ...
Springboot-aop简单实现类似@Validated参数校验
开发过程中我们经常会用到@Validated这个来校验参数信息,同理也能实现一些其他的一些校验信息,所以这里就利用切面的方式来实现类似@Validated的功能,@Validated有自己的实现方式,具体的我也没有深究过。
实现原理其实原理很简单,就是通过两个注解或者多个注解和springboot的AOP功能,两个注解分别作用为:一个注解作为切点来确认需要判断的方法,另外一个则是标记需要验证的参数信息;当方法进入的切面中,利用反射来处理切面中的参数和对象信息。
代码所列代码仅供参考,大概看看就好,里面用到的一些方法可能也不是最优的,我没有深入的去看api介绍。
添加AOPmaven配置12345<!-- aop --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>
EnableVerify 注解该注解可 ...
如何通过WOL(Wake on Lan)唤醒电脑
如何通过WOL(Wake On Lan)唤醒电脑demo话不多说,先看效果视频
痛点作为一名开发者我们经常需要远程访问自己的笔记本,这样就会遇到一个很大的问题,那就是我们的笔记本必须要一直处于开机状态。那有没有一种情况就是我们需要远程笔记本的时候,先远程笔记本开机,然后再远程笔记本呢?经过我的上网查询发现还真的是有办法远程让笔记本开机,那就是(WakeOn Lan)局域网唤醒。
其实很多BIOS支持通电自动开机,所以就没必要弄这么麻烦,直接买个智能插座就能搞定一切,我这里提供的也只是一种很小众的解决思路,更多的可能是面对笔记本,因为多数笔记本是没有通电自动开机这个功能的吧
什么是(Wake On Lan)局域网唤醒网络唤醒(Wake-on-LAN,WOL)是一种计算机局域网唤醒技术,使局域网内处于关机或休眠状态的计算机,将状态转换成引导(Boot Loader)或运行状态。无线唤醒(Wake-on-Wireless-LAN,WoWLAN)作为 WOL的补充技术,使用无线网卡去唤醒计算机。网络唤醒在一般的局域网环境里使用有限广播地址(255.255.255.25 ...
uniapp阿里云STS上传文件
uniapp阿里云STS上传文件需求使用uniapp开发的时候就会遇到有上传图片视频之类的需求,但是我们实际的服务器带宽是有限的,而且如果是先上传到服务器在从服务器上传到OSS也是没有太大意义,所以我们就可以直接从APP里面将文件上传到OSS服务器,然后保存上传后的文件地址即可。
1用户上传文件 ---> OSS服务器 ---> [得到文件的URL] ---> 后台服务器记录文件信息
问题所在1. 我们使用uniapp作为APP开发工具,阿里云OSS提供的一些SDK不兼一开始直接用官方提供node.js的SDK (ali-oss)处理文件的时候是没有任何问题的,可以直接上传文件,且配置比较简单,只需要后台返回一些配置信息即可,但是后面我打包APP的时候发现出现错误,页面打不开;看日志也只能看到一些粗略的东西,大概意思就是里面使用了dom对象所以没办法初始化。如果是不需要打包app的话是可以直接使用的,可以参考这个文档 上传本地文件
2. 后端需要单独开发一个给前端调用OSS接口获取token的接口意思就是我们不能直接把我们的accessKeyId 和 accessK ...
处理谷歌浏览器导出书签为Json格式
处理谷歌浏览器导出书签为json格式前言最近在发现一个开源的网址导航的开源项目 Webstack网址导航 还不错, 其实就是一个类似hao123导航类似,里面的内容是可以自己自定义的, 这不禁让我想到可以吧浏览器的书签导出来,然后放到项目里面去就可以把自己收藏的书签变成一个自己的导航网址,说干就干。
网址导航开源作者支持部署方式有很多, 所以我这里就采用VUE开发构建的方式,因为这种相对来说比较简单,而且不需要部署后台服务, 有一个简单的NGINX即可
vue项目地址为 WebStack-vue, 也可以直接看我的成品(弄得比较随意,能看就行)–>网址导航demo 其中vue有一个D:\project\WebStack-vue\src\assets\data.json文件,这里面存的就是导航列表所需要的数据,所以我们本次的目的也就是将谷歌浏览器导出的书签,生成一个data.json文件即可,
data.json文件格式如下:
123456789101112131415161718192021222324252627[ { "name": & ...
SpringAop实现公共字段数据填充
SpringAop实现公共字段数据填充背景由于我们系统的很多表都用到了一些公共的字段,所以就考虑将这些公共字段抽离出来做一个基础的公共类,便于维护和减少代码量
实现原理原理其实很简单,就是讲抽离的字段集成到一个实体类,然后再contoller层写一个自定义注解,再使用springboot的切面功能,再进入方法之前为我们的实体set基类里面的值
1. 基础实体类将抽离的字段写一个公共基础类,目前处于业务需求考虑,暂时就只有 firsttime,lasttime,operator,operatorId这四个字段
123456789101112131415161718192021222324252627282930313233/** * 实体类基类 * * * @version 1.0 * @date 2021-04-02 14:45 */@Datapublic class BaseEntity { /** * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone ...
分享一段飞天R502读卡器的JAVA读卡代码
飞天R502收到客户一个NFC读写卡器,是飞天R502,具体介绍请看官网资料
飞天R502产品官网
SDK,文档下载
代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821 ...
树莓派-测试内存读写速度
测硬盘的读写速度可以用以下命令:
1dd if=/dev/zero of=file bs=1M count=1024
测内存读写速度可以使用以下命令:
1dd if=/dev/zero of=/dev/null bs=1M count=1024
树莓派教程(7)- 树莓派安装Frp服务
树莓派安装frp服务说明这里我们只以frpc作为示例,frps和frpc同理
什么是frp开源地址: https://github.com/fatedier/frp官方文档: https://gofrp.org/
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
说直白一点就是内网穿透,让外网可以访问树莓派,而且这种方式极为简单且稳定,但需要有一个提供服务端的服务器支持
快速开始1. 下载目前可以在 Github 的 Release 页面中下载到最新版本的客户端和服务端二进制文件,所有文件被打包在一个压缩包中
选择 frp_版本号_linux_arm.tar.gz , 然后复制下载链接
使用wget命令下载
1wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_arm.tar.gz
2. 解压1sudo tar -zxvf frp_版本号 ...