码农小程序之如何设置资源的防盗链? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
suSouth
V2EX    分享发现

码农小程序之如何设置资源的防盗链?

  •  
  •   suSouth 2018-12-06 08:22:22 +08:00 3281 次点击
    这是一个创建于 2510 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小程序项目如何设置资源的防盗链?

    做过前端,或对小程序有些了解的同学都知道,小程序是没有域名访问概念的,访问的路径都是以:“/pages/index ”、“/pages/my ”这种方式进行页面跳转的。域的概念从何而来?

    事情是这样的,前段时间突然冒出个想法,大家上下班,有些人离公司比较远,回家路上 /地铁上,可能都会比较无聊,看看新闻、听听音乐啥的。

    但是对于 IT 行业的程序员们来说,入了 IT 领域就意味着,永远有学不完的东西,经常就有看到一些人在地铁拿着一本书在看,于是我灵机一动,想着做了个小程序,收集一些电子书,方便大家随时随地的阅读,既不耽误学习,回家的路上也不无聊,而且小程序集成在微信里,不会给大家带来负担。

    说干就干,经过几个周末的开发和测试,慢慢的小程序成型了,也发布上线了,是基于 wepy 框架开发的,坑点之前的文章已经说过了,就不再提了。主要讲讲后面发生的一些事。

    作为技术交流,平时也加了一些群,都有一些不错的书,工作几年自己也弄了些存货,这次是全部家当都拿出来了、还找了几个测试java的后端大佬,都收集了些他们的珍藏品,因为没有自己的服务器,刚开始是把内容存放在阿里云上的,但没两天告诉我欠费了……,

    想哭,就这么工资,怎么经的起折腾啊,后来了解了一下腾讯云,每月有些免费的流量,果然放弃了阿里云,把东西转移到了腾讯云。嗯,就这样很开心的把小程序上线了,每天有事没有看看书,觉得还是蛮方便,身边同事也都觉得不错,还给提了些小建议。

    然而小程序放上去不到两周,就在昨天、就在昨天、就在昨天,突然收到腾讯云的邮件提示,cos 欠费,C\A\O,什么情况啊,我懵逼了……,想了半天,先充了几块钱进去……,毕竟不想自己努力构思的产品,就诞生这么几天就夭折了。

    今天在快下班了突然想起这个事,想着赶紧看一下,发现 cos 的数据把我吓哭了、真的、如果不到两周能有这么高的访问量,我会很开心的,然而小程序的后台数据是不一样的。

    小程序的访问次数

    欠费通知,cos 的访问量,

    坑爹的啊,请求次数 2.85w ,小程序的访问量不到 1000

    不用说,这是被人欺负了……,内心 1W 个草泥马,在心里奔腾,怎么办呢?第一时间是想到了防盗链,不允许指定域名以外的站点访问你的链接。

    但问题又来了,前面说过,小程序没有域名啊~

    微信小程序怎么获取当前页面的 url 啊

    于是在项目中,把 Network 面板的信息看了又看,查看Headers信息,看到Referer这里有一个没见过的域名把整个页面请求头(后面发现的,哈哈~),百度搜索无果,最后还是谷歌告诉我,小程序也是有个域名的,请看下图: 微信小程序无法加载其资源问题解决

    原谅我穷,赶紧在 cos 上配置了这个白名单,同时也赶紧测试了一下,去掉后,是否还能访问,以图为示例: 小程序的域名:servicewechat.com

    赶紧在 cos 上配置了这个白名单

    当然这个方法是不完全可靠的,比如其他小程序也是这个域名啊,还是能调用你的资源,有点纳闷~,求大佬们指点可靠的方法。感谢!!

    以上就是今天的随笔小记,希望能帮到其他遇到同样坑爹事情的同学,最后分享一下做的小程序:码农书籍,爱学习、阅读电子书的同学可以收藏一下!

    码农书籍,一起阅读,一起进步,用心分享 做有温度的攻城狮,苏南的专栏

    更多文章:

    作者:苏南 - 首席填坑官

    链接: http://susouth.com/

    交流:912594095、公众号:honeyBadger8

    本文原创,著作权归作者所有。商业转载请联系@IT平头哥联盟获得授权,非商业转载请注明原链接及出处。

    7 条回复    2018-12-07 14:40:58 +08:00
    inroading
        1
    inroading  
       2018-12-06 08:31:56 +08:00
    JWT
    zjwshisb
        2
    zjwshisb  
       2018-12-06 09:06:10 +08:00
    换个思路,用 wx.login, 即 1 楼说的 jwt
    NullException
        3
    NullException  
       2018-12-06 10:20:39 +08:00
    hoythan
        4
    hoythan  
       2018-12-06 11:00:30 +08:00
    我这前后端数据 rsa 加密成了一个 key 用于传递效验
    YuAtk
        5
    YuAtk  
       2018-12-06 11:17:12 +08:00
    建议把 pdf 按章节分开 加一个目录页 这样也能减少流量的使用
    ytmsdy
        6
    ytmsdy  
       2018-12-06 11:57:22 +08:00
    文件放到 oss 上,在 oss 上开启防盗链功能。所有的文件都需要带上 key 才能访问到。
    suSouth
        7
    suSouth  
    OP
       2018-12-07 14:40:58 +08:00
    @a15011059176 这是个不错的办法,但是分开,需要不少时间
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2949 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 13:37 PVG 21:37 LAX 06:37 JFK 09:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86