请教一个后端图片api问题
发布于 5 年前 作者 zytjs 3857 次浏览 来自 问答

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

7 回复

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

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

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

@afacode 好的🙏

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

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

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

回到顶部