阅后即焚小工具实现sesme.co

发布于 / 教程 / 5 条评论

sesme.co是一个极简的阅后即焚WEB版PHP实现小工具,消息完全由客户端进行加解密,服务端只存储加密的消息。

sesme.co加密消息可以设置消息的显示时间,一条消息对应一个唯一的url,一个url对应一个Token,Token只在用户端生成,后端无法获取,除非破解加密算法否则消息完全安全,只有用户自己知晓,消息一次访问有效,此工具灵感来自:
delete.im以及开源的vua.sh
前者的前端样式比较酷,但是消息是以明文方式发送到后端服务器,有被劫持的风险,所以数据库可能是存储的用户原始消息内容。
后者的消息加密流程更加私密和安全,本工具sesme.co也是参考了两者且后端使用PHP实现的。

预览

sesme.co

前往https://sesme.co

原理

参考开源的vua.sh,消息完全在客户端加解密,减少消息被劫持风险,提高消息的私密性。
一条消息对应一个唯的token,token只存在于访问url片段中,不在请求中,用户消息利用开源的AES加密库进行加密后再发送至后端服务器,即使在发送过程中被劫持也是加密消息,没有token也无法解密,其原理大致是这样:

发送方

  1. 浏览器对消息进行加密并生成密钥
  2. 浏览器通过URL片段(未包含在请求中)传递密钥
  3. 服务器将加密消息存储在数据库中
  4. 浏览器通过将加密消息的唯一URL与密钥连接来显示消息唯一链接

接收方

  1. 服务器发送加密消息
  2. 浏览器使用URL片段中的密钥解密消息
  3. 如果密钥有效,则显示消息内容
  4. 如果密钥无效,则显示失效提示
  5. 服务器删除已读取的加密消息

开源的vua似乎用的ruby语言写的,博主不了解此语言,所以写这个PHP版实际上只是借鉴了其原理,可能这个版本还有一些漏洞( ╯□╰ ),而delete的方式似乎更简单,总的来说vua的实现方式更好。

转载原创文章请注明,转载自: LYLARES'S BLOG » 阅后即焚小工具实现sesme.co
  1. avatar

    再一次更换域名,望更新。

  2. 蒲公英

    这个有意思。另外,老铁你首页的必应图片点击放大的效果是怎么实现的呀?

    1. lylares
      @蒲公英 我好像回答过这个问题。。就一个简单的弹层啊🤔。
      1. 蒲公英
        @lylares 我好像会了,但是我看到你的a href直接解析的必应图片地址,这中间是用了什么技术做中转吗?因为必应每日图片的地址是动态的吧,我的调用必应图片是.php文件动态获取的每日图片地址,然后弹窗就不会生效了,只有图片的绝对地址放进去才会生效🤔
        1. lylares
          @蒲公英 我用的自己的接口,前台ajax获取的,参考:https://www.lylares.com/api-bing-wallpaper.html