[修正] Discuz 6 「請不要從外部鏈接下載本論壇的附件」解決方法 [如果網址含有Port(端口)] 打印

由於我的備用論壇網址含有Port, 所以發現備用論壇不能下載附件
但主域網站卻一點問題都沒有, 於是我發現原來Discuz沒有除去Port就做比較, 結果出事了。

修正方法, 打開 ./attachment.php 找:
複製內容到剪貼板
代碼:
$refererhost = parse_url($_SERVER['HTTP_REFERER']);
於下面加入:
複製內容到剪貼板
代碼:
$portpos = strrpos($_SERVER['HTTP_HOST'], ":");
$serverhost = ($portpos === false) ? $_SERVER['HTTP_HOST'] : substr($_SERVER['HTTP_HOST'], 0, $portpos);
再找:
複製內容到剪貼板
代碼:
$refererhost['host'] == $_SERVER['HTTP_HOST']
替換為:
複製內容到剪貼板
代碼:
$refererhost['host'] == $serverhost
這樣就可以了。

方法2, 不建議, 其實就是關閉下載附件來路檢查, 不過明顯這是BUG, 應該選擇做修正而選擇不用:
複製內容到剪貼板
代碼:
後台 -> 附件設置 -> 下載附件來路檢查 -> 否

希望您會喜歡這裡, 也在此歡迎您加入一起討論.
FrKL-動漫時刻論壇 © All rights reserved.

TOP