樂于分享
好東西不私藏

新浪圖床已限制圖片外鏈使用(附解決方法)

上個星期左右網站一些外鏈圖片就已經不顯示了,剛開始老夜還以為是站點又出了問題,稍加排查后發現全是托管于新浪圖床圖片的問題,而老夜自己圖床的圖片一切正常。相信有不少站長朋友為了節省服務器資源都會選第三方的圖床,托管后能減輕服務器壓力加快網頁訪問速度,但是問題隨之而來,東西存在別人家終究不是長久之際免費的產品就更不用說了,之前的貼圖庫就是很好的例子。得知開啟防盜鏈過后網上立馬炸開了鍋,網站圖片突然全打不開放誰身上都難受,附上事故現場圖:

所謂新浪圖床并非是用于圖床之用,而是注冊用戶管理已上傳圖片的云相冊。官方雖未說可當外鏈圖床使用但也一直默許著諸多小站長們的外鏈需求,得益于新浪的服務器優勢用于托管網站圖片便成為了最佳選擇,訪問速度也是杠杠的并且支持https。老夜在剛開始建站時由于使用的是虛擬主機,空間限制容量于是就直接使用上了新浪相冊的圖片服務,將圖片鏈接放在自己網站上效果非常好,后來慢慢的發現圖片都被會壓縮清晰度有所降低,還經常對圖片進行和諧。在更換服務器后果斷自建了圖床從此就棄之了,畢竟東西放在別人手中終究不踏實。就拿這次新浪對外鏈圖片開啟防盜鏈來說吧,幾乎波及了不計其數的中小站點,老夜由于早早的開始自建圖床并未造成多大的影響,但還是有百來篇文章受到波及,這不強迫癥又犯了不解決問題晚上睡覺都不踏實。

這里或許有小伙伴會問了,WordPress不是自帶媒體管理器么,WP確實自帶的媒體庫方便管理圖片,但每張圖片都是記錄在數據庫且上傳后會產生不同尺寸的文件,相比而言還是純靜態圖片更好。

扯了這么多老夜就附上自己結合網上找的資料做些整理。

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, 'http://wx1.sinaimg.cn/', 'http://tva1.sinaimg.com/' )

UPDATE wp_posts SET post_content = REPLACE( post_content, 'http://wx2.sinaimg.cn/', 'http://tva2.sinaimg.com/' )

UPDATE wp_posts SET post_content = REPLACE( post_content, 'http://wx3.sinaimg.cn/', 'http://tva3.sinaimg.com/' )

UPDATE wp_posts SET post_content = REPLACE( post_content, 'http://wx4.sinaimg.cn/', 'http://tva4.sinaimg.com/' )

依次運行上述SQL語句就能將全部的新浪圖床外鏈進行修改了,新的地址不知道能堅持多久,實在不行只能批量將圖片下載至自己服務器了,操作起來也是麻煩,老夜站點寄存在新浪相冊的圖片不怎么多實在是不想太過折騰。

另外如果使用DUX主題的用戶,網站文章縮略圖功能啟用后,縮略圖所在的數據表與文章圖片的數據表不一致,因此我們還得多執行幾次SQL語句:

UPDATE wp_postmeta SET meta_value = REPLACE( meta_value, 'http://wx3.sinaimg.cn/', 'http://tva3.sinaimg.com/' )

大家舉一反三,剩下那三個自己補上吧,這里就偷點懶。測試對DUX主題有效,至于其他主題老夜也不清楚,畢竟建站至今還未換過其他主題,不想折騰專注于內容填充就行了。

補充:

此次老夜附上的方法都是比較簡單,難的老夜也懶得折騰為了百來張圖片不至于,如果網站不是使用百度統計第一種方案上手最簡單,但容易出現一些問題。第二者涉及到數據庫操作,稍加不慎輸錯一個字符就是事故了,因此必須要事先備份。兩種方案都不是長久之計,反正也都是湊合用著,待哪天徹底掛了老夜再折騰新方法,畢竟只要思想不滑坡路子總比困難多嘛!

網上那些修改http,修改.in的方法都已經失效,數據庫折騰了一次又一次不過操作得當并未出錯,再次提醒操作前一定要備份數據庫。

此次事件也讓我們懂得了天下沒有免費的午餐,數據放在自己手中才是最靠譜的,老夜早早的開始自建圖床就是為了避免這種事情的發生,沒想到還是倒霉遇到了。對于還打著其他免費圖床主意的站長來說還是酌情考慮吧,畢竟人家來點突發狀況啥的倒霉永遠是站長,到時候數據都要不回來有的難受的!

 

本站文章均為手工撰寫未經允許謝絕轉載:夜雨聆風 » 新浪圖床已限制圖片外鏈使用(附解決方法)
支付寶掃碼打賞 微信打賞

如果文章對您有幫助,歡迎移至上方按鈕打賞……

評論 2

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址

  1. #1

    現在的站長都這么可憐嗎?引用幾張圖片都顯示不了,真是無語。新浪真是夠小氣的。

    東莞家教網7個月前 (09-05)Windows 7 | Chrome 55.0.2883.87回復
    • 老夜

      畢竟官方都沒說是公眾圖床,利益至上肯定不會長久

      老夜7個月前 (09-07)Linux | Chrome 66.0.3359.126回復
×
訂閱圖標按鈕
云南快乐10分助手