2022年12月29日 09:40:28
对于不少搭建有自己博客的用户来说,昨天可能发生了一些事情让他们有些烦恼。
那就是新浪微博图床在近期已经逐渐开启了防盗链,
导致不少曾经依赖新浪微博图床的博客图片均无法显示。
此前,对于大多数个人博客维护者而言,免费的图床即使节省成本,
也能够提升页面访问速度的最佳手段,而新浪微博图床则成了首选。
新浪微博由于本身体量大,其图床免费无限容量,只需要有一个微博账号就可使用。
同时具备全网 CDN 加速,支持 HTTPS,无论是国内还是国外网络访问,速度都很不错,
而且新浪如此企业,不会像其他个人或者团队经营的免费图床一样随时可能会关掉。
基于这些优势,不少人会优先选择新浪微博图床作为网站提供图片服务。毕竟直接挂CDN或者自建图床的话,
也是一个持久的付费维护。甚至一旦被CC攻击,更是造成费用暴增。
昨天发现自己网站内的新浪微博图片链接已经全部失效了,了解之后,才发现并非个例。友站图片也全部挂了…
解决办法是把 https://tva1.sinaimg.com/ 改为https://tvax1.sinaimg.com/
在tva后面加个x 之后就能够正常访问微博图床的图片了。 可以数据库图片批量替换 方法在下面
但肯定不是长久之计,建议尽快迁移图片。
微博图床开启防盗链,个人博客对于新浪图床的依赖时代基本要告别了,虽然有其他免费图床可以使用,
但稳定性和可持续性上显然无法与大企业维护的图床相比。
为了网站内容稳定考虑,还是建议大家逐渐把图片迁移到其他云存储空间,或者直接在本地开启CDN静态加速。
免费图床时代基本宣告结束。
不过你觉得博客搭建只是玩玩而已,并不必要持续建设下去,处于成本考虑依然可以尝试其他免费图床。
—————————————-
2018年5月22日 13:53:51
plan A
网站头部添加下面代码,记得添加至</head>之前
<meta name="referrer" content="no-referrer">
加这个的意思是新浪图片就无法追踪到请求图片的域名,可解决一些防盗链的限制! 但是加这个对于一些AFF,友链都会导致无法追踪请求的域名,目前已知百度统计无法与这玩意共存,CNZZ、51la正常。
plan B
可以通过批量修改前缀来暂时恢复正常访问,通捣鼓老夜发现新浪图片都是多台服务器寄存的,分别是wx1.sinaimg.cn、wx2.sinaimg.cn、wx3.sinaimg.cn、wx4.sinaimg.cn,这里我们需要将其替换成tva1.sinaimg.com、tva2.sinaimg.com、tva3.sinaimg.com、tva4.sinaimg.com,数字对不上也没关系,老夜发现将wx后面的数字1~4打乱图片都能打开,但为了保险起见以及后期管理还是按照数字进行修改网址吧!
一个个在文章中修改太麻烦,这里直接使用SQL命令批量处理,在此之前登录至网站的数据库导出备份一下,就算操作不当也能及时数据回滚。
附上SQL执行命令:
UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://wx1.sinaimg.com/', 'https://image.baidu.com/search/down?url=https://tvax1.sinaimg.cn/' ) UPDATE wp_posts SET post_content = REPLACE( post_content, 'http://ww2.sinaimg.com/', 'https://image.baidu.com/search/down?url=https://tvax1.sinaimg.cn/' ) UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://ws3.sinaimg.com/', 'https://image.baidu.com/search/down?url=https://tvax1.sinaimg.cn/' ) UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://image.baidu.com/search/down?url=https://tvax1.sinaimg.cn/', 'https://image.baidu.com/search/down?url=https://tvax1.sinaimg.cn/' )
依次运行上述SQL语句就能将全部的新浪图床外链进行修改了,新的地址不知道能坚持多久,实在不行只能批量将图片下载至自己服务器了,操作起来也是麻烦,老夜站点寄存在新浪相册的图片不怎么多实在是不想太过折腾。
另外如果使用DUX主题的用户,网站文章缩略图功能启用后,缩略图所在的数据表与文章图片的数据表不一致,因此我们还得多执行几次SQL语句:
UPDATE wp_postmeta SET meta_value = REPLACE( meta_value, 'https://image.baidu.com/search/down?url=https://tvax1.sinaimg.cn/', 'https://image.baidu.com/search/down?url=https://tvax1.sinaimg.cn/' )
大家举一反三,剩下那三个自己补上吧,这里就偷点懒。测试对DUX主题有效,至于其他主题也不清楚,不想折腾专注于内容填充就行了。
补充:
此次藏藏附上的方法都是比较简单,难的藏藏也懒得折腾为了百来张图片不至于,如果网站不是使用百度统计第一种方案上手最简单,但容易出现一些问题。第二者涉及到数据库操作,稍加不慎输错一个字符就是事故了,因此必须要事先备份。两种方案都不是长久之计,反正也都是凑合用着,待哪天彻底挂了藏藏再折腾新方法,毕竟只要思想不滑坡路子总比困难多嘛!
网上那些修改http,修改.in的方法都已经失效,数据库折腾了一次又一次不过操作得当并未出错,再次提醒操作前一定要备份数据库。
此次事件也让我们懂得了天下没有免费的午餐,数据放在自己手中才是最靠谱的,没想到还是倒霉遇到了。对于还打着其他免费图床主意的站长来说还是酌情考虑吧,毕竟人家来点突发状况啥的倒霉永远是站长,到时候数据都要不回来有的难受的!