漫画站采集的漫画图片今天突然不显示提示403错误,整站外链图片都不显示了,采集的图片不显示;
漫画站用的帝国cms7.5仿土豪漫画模板的源码,还有一款是微擎公众号里面的漫画程序,问题所在都是采集的漫画图片首页目录章节图片都不显示;
看了下图片都是调用资源采集站图片服务器的;猜想应该有漫画图片防盗链检测域名功能;
奇怪的是测试发现pc端的图片可以显示,手机端不能显示,查看了下代码分析结果如下:
单独访问图片链接是可以打开的,漫画图片都是在图床cdn里,PC端可以显示手机端无法显示,pc端模板采用的是css直接调用远程图片,手机wap端好像是用js调取图床图片的;
对比了下两端图片的headers页眉,发现手机端的多了request headers其中还有referer:http://www.********.com,猜想可能是这里暴露了本站域名到图床,然后图床屏蔽了本站手机端域名,所以导致漫画图片无法加载403错误,外链图片加载错误;
解决方法:
使用了最简单的方法屏蔽自己站点的Referrer,使图床站点无法得到本站域名,不让图床CDN发现盗链漫画图片;
在漫画源码程序的模板文件的<head>和</head>里加入一个mata标签;“referrer”
referrer 网站来路;访问者进入网站的任何途径。
HTTPReferrer是header的一部分,当浏览器向web服务器发出请求的时候,一般会带上Referer,告诉服务器用户从那个页面连接过来的,服务器藉此可以获得一些信息用于处理。
<meta name="referrer" content="no-referrer" />
referrer 属性返回载入当前文档的来源文档的URL。
如果当前文档不是通过超级链接访问的,则为 null。这个属性允许客户端 JavaScript 访问 HTTP 引用头部。
加上这个标签后,然后经过测试,图片显示了,不会出现漫画图片加载不出来403错误的问题了哦。
还有更简单的办法:采集原站点图片屏蔽了本站调用图片,那直接换域名解决哈哈简单吧这个,不过这个无法根本上解决问题,下次封了域名只能再换上面方法要好很多!
已有 2309 位网友参与,快来吐槽:
发表评论