如何解决新浪微博图床限制图片外链的问题

长期以来,免费、稳定、访问速度又快的新浪微博图床一直是个人博客做网站图片外链的首选。不成想,去年四月新浪停止了微博图片的外链服务,着实在互联网上引发了一个小地震。几乎一夜之间,外链微博图片的网站上多了无数的红叉叉,所有图片均无法显示了。想要解决此问题,大致有如下三种方法:

一、批量修改新浪图片链接前缀暂时恢复外链访问

1、原先微博图床上的图片链接地址前缀是 wx1-4 形式:

wx1.sinaimg.cn、wx2.sinaimg.cn、wx3.sinaimg.cn、wx4.sinaimg.cn

将其替换为 tva1-4 或 tvax1-4 的形式后,图片外链恢复可用。

tva1.sinaimg.com、 tva2.sinaimg.com、 tva3.sinaimg.com、 tva4.sinaimg.com

tvax1.sinaimg.com、tvax2.sinaimg.com、tvax3.sinaimg.com、tvax4.sinaimg.com

注:只需将地址前缀中 wx 替换为 tva 或 tvax 即可,至于其中的数字无需对应,图片也能打开,当然保险起见,对应修改是最好的。

2、如果每张图片都在文章中修改工作量实在太大,可以在数据库中使用 SQL 命令批量处理。操作之前一定要记得先备份一下数据库,以防出错。

在数据库中执行以下SQL命令替换图片外链地址:

  1. UPDATE wp_posts SET post_content = REPLACE( post_content, 'http://tva1.sinaimg.com/', 'http://tva1.sinaimg.com/' )
  2. UPDATE wp_posts SET post_content = REPLACE( post_content, 'http://tva2.sinaimg.com/', 'http://tva2.sinaimg.com/' )
  3. UPDATE wp_posts SET post_content = REPLACE( post_content, 'http://tva3.sinaimg.com/', 'http://tva3.sinaimg.com/' )
  4. UPDATE wp_posts SET post_content = REPLACE( post_content, 'http://tva4.sinaimg.com/', 'http://tva4.sinaimg.com/' )

二、在网站头部的 之前添加如下代码:

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

此代码的作用是:在页面引入图片、JS 等资源,或者从一个页面跳到另一个页面,都会产生新的 HTTP 请求,浏览器一般都会给这些请求头加上表示来源的 Referrer 字段。Referrer 在分析用户来源时很有用,有着广泛的使用。但 URL 可能包含用户敏感信息,如果被第三方网站拿到很不安全(例如之前不少 Wap 站把用户 SESSION ID 放在 URL 中传递,第三方拿到 URL 就可以看到别人登录后的页面)。之前浏览器会按自己的默认规则来决定是否加上 Referrer。

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

下载有问题?请在相关联文章的下面留言,最快24h小时内处理。
没有账号? 注册  忘记密码?