DedeCms 防盜鏈無法下載遠程圖片的解決方法
來源:本站原創(chuàng)|時間:2021-08-05|欄目:dedecms|點擊: 次
在使用DEDECMS時,很多時候從一些網(wǎng)站復(fù)制的內(nèi)容時,其中的圖片,保存時不能把遠程圖片下載到本地,像新浪博客,網(wǎng)易等一些大型網(wǎng)站圖片有做防盜鏈處理,圖片地址并沒有后輟名!因此在使用dedecms默認的下載遠程功能沒辦法實現(xiàn)!
在發(fā)現(xiàn)了此問題,分析了下,發(fā)現(xiàn)其實要解決很簡單,發(fā)現(xiàn)DEDECMS在檢索遠程圖片時的正則加了圖片格式匹配;
DEDECMS匹配的正則:preg_match_all("/(src)=[\"|'| ]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);
而向新浪博客圖片:http://static2.photo.sina.com.cn/orignal/54a625bft848ec4ffa561&690&690 是沒有圖片后輟的,所在不能匹配下載了!
找到了問題,就知道怎么改了!
找到DEDECMS文件 /dede/inc/inc_archives_functions.php,找到函數(shù)
/獲得文章body里的外部資源
function GetCurContent($body,&$litpic,$autolitpic)
//獲得文章body里的外部資源
function GetCurContent($body)
大概在11行和89行把匹配遠程圖片的規(guī)則
preg_match_all("/(src)=[\"|'| ]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);
改成
preg_match_all("/src=[\"|'|\s]{0,}(http:\/\/([^>]*))(\"|'|\s)/isU",$body,$img_array);
就OK了
當然DEDECMS這樣做是有它道理的,這樣只能匹配圖片,不會匹配到像JS,FLASH文件,但這樣也有很多不方便,因為我們在編輯內(nèi)容時,就能識別這是一個什么文件了!
欄 目:dedecms
本文地址:http://mengdiqiu.com.cn/a1/dedecms/16552.html
您可能感興趣的文章
- 08-05Dedecms文件目錄結(jié)構(gòu)解說(能知道織夢每個文件有什么用)
- 08-05Dedecms5.7版ckeditor網(wǎng)頁編輯器添加中文字體
- 08-05織夢DedeCMS獲取當前欄目文章數(shù)量
- 08-05DedeCMS后臺模塊列表顯示空白的解決辦法
- 08-05DedeCMS自定義字段圖片調(diào)用的問題{dede:img ...}解決方法
- 08-05織夢DedeCMS調(diào)用顯示discuz里面主題的方法
- 08-05常用的織夢dedecms安全設(shè)置集合整理
- 08-05dedecms教程:上傳圖片相對路徑改成絕對路徑方法
- 08-05DedeCMS會員投稿自動加積分改為投稿審核后加積分
- 08-05織夢教程:手把手教你讓dedecms禁止發(fā)布重復(fù)文章