无服务器 自建短链服务 Url-Shorten-Worker 支持阅后即焚snapchat mode 配合二维码生成工具 制作一次性二维码

需求

https://t.me/blacktechsharing/183161


思路

二维码实际上就是以一种图片的方式写的一串字符. 这串字符可以是一个网址.

既然这个二维码图片已经发给别人了, 你不可以跑到别人的电脑或者手机里面去删掉图片, 那么"一次性二维码"是怎么实现的呢?


二维码图片不变, 那么二维码对应的网址A不变.

你访问网址A就是访问一个服务器. 这个服务器可以让来访问网址A的人都跳转到一个新的网址B.

我们定义网址B才是真正有实际意义的网址. 让服务器只允许第一次访问网址A的人跳转到网址B, 以后再来访问网址A, 跳转都失效.

这样就实现了 "一次性二维码".


举例, 

实际有意义的网址, 是 https://google.com

我们搭建一个服务器, https://1way.eu.org

我们让 https://1way.eu.org/HcAx62 跳转到 https://google.com 而且只跳转一次.

我们以 https://1way.eu.org/HcAx62 生成一个二维码.

有人扫了这个二维码, 那么他会访问 https://1way.eu.org/HcAx62, 系统让他跳转到 https://google.com, 然后系统记录这个 https://1way.eu.org/HcAx62 失效.

再有人扫了这个二维码, 那么他同样会访问 https://1way.eu.org/HcAx62, 但是系统告诉他这个资源失效了.


实践

worker.js

增加一个配置项 snapchat_mode, 默认关闭.


在跳转原链之前, 将这条记录删除. 那么下次再来查, 就找不到记录了.



配合二维码编码解码工具, 转换一次性二维码的全流程


========

后记

Github: https://github.com/crazypeace/url-Shorten-Worker/

评论

The Hot3 in Last 30 Days