请教一个后端图片api问题
 发布于 6 年前  作者 zytjs  4255 次预览  最后一次回复是 6 年前  来自 问答 

服务器存了很多图片,现在设计是API返回图片名字的数组,前端取到之后分别放在img标签里。
现在的问题是api返回的数据可以被别人轻易获取,然后就可以随便请求图片,请教一下怎么避免这个问题?
有的图片网站是直接服务器渲染,除了这个还有其他办法吗?

7 回复
afacode

一般是加防盗链,控制请求来源,再加一些混合参数,不能直接使用你的图片, 但是不能防止人家爬虫,反爬虫的话,这个就比较。。。

zytjs

@afacode 混合参数指啥,反爬虫就是另外一套东西了

afacode

https://blog.csdn.net/luyaran/article/details/52572971, 混合参数我想主要是访问有图片的页面加,图片URL静止直接URL访问

pzzcn

有一个办法,一般的爬虫都没有办法,但不是绝对的。 图片保存为base64并经过指定算法加密。客户端请求返回base64,客户端解密(解密代码混淆过)。然后使用canvas画出来。 这样除非爬虫程序使用无头浏览器,使用js来调用canvas的toDataURL方法来获取了。

zytjs

@pzzcn 这个很犀利啊,加大了爬的难度,这样估计也差不多了

barnetime

返回字符串呗,前端解码,不过也没啥大用……要不设置个token字段请求后端判断 token对不对