乐于分享
好东西不私藏

新浪图床已限制图片外链使用(附解决方法)

本文最后更新于2022-12-29,某些文章具有时效性,若有错误或已失效,请在下方留言或联系老夜

上个星期左右网站一些外链图片就已经不显示了,刚开始老夜还以为是站点又出了问题,稍加排查后发现全是托管于新浪图床图片的问题,而老夜自己图床的图片一切正常。相信有不少站长朋友为了节省服务器资源都会选第三方的图床,托管后能减轻服务器压力加快网页访问速度,但是问题随之而来,东西存在别人家终究不是长久之际免费的产品就更不用说了,之前的贴图库就是很好的例子。得知开启防盗链过后网上立马炸开了锅,网站图片突然全打不开放谁身上都难受,附上事故现场图:

所谓新浪图床并非是用于图床之用,而是注册用户管理已上传图片的云相册。官方虽未说可当外链图床使用但也一直默许着诸多小站长们的外链需求,得益于新浪的服务器优势用于托管网站图片便成为了最佳选择,访问速度也是杠杠的并且支持https。老夜在刚开始建站时由于使用的是虚拟主机,空间限制容量于是就直接使用上了新浪相册的图片服务,将图片链接放在自己网站上效果非常好,后来慢慢的发现图片都被会压缩清晰度有所降低,还经常对图片进行和谐。在更换服务器后果断自建了图床从此就弃之了,毕竟东西放在别人手中终究不踏实。就拿这次新浪对外链图片开启防盗链来说吧,几乎波及了不计其数的中小站点,老夜由于早早的开始自建图床并未造成多大的影响,但还是有百来篇文章受到波及,这不强迫症又犯了不解决问题晚上睡觉都不踏实。

这里或许有小伙伴会问了,WordPress不是自带媒体管理器么,WP确实自带的媒体库方便管理图片,但每张图片都是记录在数据库且上传后会产生不同尺寸的文件,相比而言还是纯静态图片更好。

扯了这么多老夜就附上自己结合网上找的资料做些整理。

plan A

网站头部添加下面代码,记得添加至</head>之前

<meta name="referrer" content="no-referrer">

加这个的意思是新浪图片就无法追踪到请求图片的域名,可解决一些防盗链的限制! 但是加这个对于一些AFF,友链都会导致无法追踪请求的域名,目前已知百度统计无法与这玩意共存,CNZZ、51la正常。

plan B

2022.12.29更新:

可以通过批量修改前缀来暂时恢复正常访问,通捣鼓老夜发现新浪图片都是多台服务器寄存的,分别是wx1.sinaimg.cn、wx2.sinaimg.cn、wx3.sinaimg.cn、wx4.sinaimg.cn,这里我们需要将其替换成tvax1.sinaimg.com、tvax2.sinaimg.com、tvax3.sinaimg.com、tvax4.sinaimg.com,数字对不上也没关系,老夜发现将wx后面的数字1~4打乱图片都能打开,但为了保险起见以及后期管理还是按照数字进行修改网址吧!

一个个在文章中修改太麻烦,这里直接使用SQL命令批量处理,在此之前登录至网站的数据库导出备份一下,就算操作不当也能及时数据回滚。

附上SQL执行命令:

UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://tva1.sinaimg.com/', 'https://image.baidu.com/search/down?url=https://tvax1.sinaimg.com/' )

UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://tva2.sinaimg.com/', 'https://image.baidu.com/search/down?url=https://tvax2.sinaimg.com/' )

UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://tva3.sinaimg.com/', 'https://image.baidu.com/search/down?url=https://tvax3.sinaimg.com/' )

UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://tva4.sinaimg.com/', 'https://image.baidu.com/search/down?url=https://tvax4.sinaimg.com/' )

依次运行上述SQL语句就能将全部的新浪图床外链进行修改了,新的地址不知道能坚持多久,实在不行只能批量将图片下载至自己服务器了,操作起来也是麻烦,老夜站点寄存在新浪相册的图片不怎么多实在是不想太过折腾。

另外如果使用DUX主题的用户,网站文章缩略图功能启用后,缩略图所在的数据表与文章图片的数据表不一致,因此我们还得多执行几次SQL语句:

UPDATE wp_postmeta SET meta_value = REPLACE( meta_value, 'https://tva3.sinaimg.com/', 'https://image.baidu.com/search/down?url=https://tvax3.sinaimg.com/' )

大家举一反三,剩下那三个自己补上吧,这里就偷点懒。测试对DUX主题有效,至于其他主题老夜也不清楚,毕竟建站至今还未换过其他主题,不想折腾专注于内容填充就行了。

补充:

此次老夜附上的方法都是比较简单,难的老夜也懒得折腾为了百来张图片不至于,如果网站不是使用百度统计第一种方案上手最简单,但容易出现一些问题。第二者涉及到数据库操作,稍加不慎输错一个字符就是事故了,因此必须要事先备份。两种方案都不是长久之计,反正也都是凑合用着,待哪天彻底挂了老夜再折腾新方法,毕竟只要思想不滑坡路子总比困难多嘛!

网上那些修改http,修改.in的方法都已经失效,数据库折腾了一次又一次不过操作得当并未出错,再次提醒操作前一定要备份数据库。

此次事件也让我们懂得了天下没有免费的午餐,数据放在自己手中才是最靠谱的,老夜早早的开始自建图床就是为了避免这种事情的发生,没想到还是倒霉遇到了。对于还打着其他免费图床主意的站长来说还是酌情考虑吧,毕竟人家来点突发状况啥的倒霉永远是站长,到时候数据都要不回来有的难受的!

 

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 新浪图床已限制图片外链使用(附解决方法)

评论 2

5 + 9 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #0

    现在的站长都这么可怜吗?引用几张图片都显示不了,真是无语。新浪真是够小气的。

    东莞家教网5年前 (2019-09-05)Windows 7 | Chrome 55.0.2883.87回复
    • 老夜

      毕竟官方都没说是公众图床,利益至上肯定不会长久

      老夜5年前 (2019-09-07)Android 8.1.0 | Chrome 66.0.3359.126回复
×
订阅图标按钮