小屋創作

日誌2020-02-16 13:10

【O】沒想到我這麼懶圖片網址也可以改得差不多了

作者:♙♲⚙\~O_O~/⚙♲♙

耶!改完了!
明明就是一堆文章都隱藏不用改
點此看源由
要繞過"?"的用法,又不會讓壞掉的機會增加。
注意:只是機會少而已,代表還是可以壞掉。


我做了什麼:
1. 修改放在某雲端計算服務上的網頁伺服器設定(不能完整設定,僅部分可以設定,有點可惜)
2. 一段把現有文章換掉的javascript程式碼

構思流程:
*找找看有沒有其他不是用"?"帶參數的google drive直接下載連結,但是沒找到,那就只能自己來。
*想把"?"換成其他字元(或字串)或用其他更奇葩的方式表達,但我不想寫新的後端程式,感覺 header("Location: ..."); 容易被帶進奇怪的換行。
*不寫新的後端程式,那就從伺服器的重導向下手。
*考慮過直接把"?"消除,再在其他地方放上要插入"?"在第幾的位置的數字,但這樣還要翻伺服器(nginx)的說明書,看有沒有解碼整數的功能,太麻煩了。
*選擇懶人方法:將"?"換成其他字串。
*最後需要修改文章中的圖片網址。
*好懶喔,我要自動化。


所以我做了什麼:


1. 我在伺服器設定裡加了這個設定:

location ~ /imgurl/.*$ {
    # avoid "//" -> "/"
    if ($request_uri ~ "^/imgurl/(.*):::(.*)$") {
        return 302 $1?$2;
    }
    if ($request_uri ~ "^/imgurl/(.*)$"){
        return 302 $1;
    }
}


效果是,
這個東西:
和這個東西:
最後會是一樣的東西,只是起點不同。可以從封包看出來,下面那個會多一個http302。
(都顯示得出來是因為沒有"?")
"?"將可透過3個冒號":::"來代替,整段換掉"?"的網址放在 /imgurl/ 後面。

例如我的戰地8000外連圖(google drive)
https://drive.google.com/uc?export=download&id=1QPaA2rhBHOpufq9tea9YNQ7xcjhs1sWA#.png
就可以改用
https://agold404.herokuapp.com/imgurl/https://drive.google.com/uc:::export=download&id=1QPaA2rhBHOpufq9tea9YNQ7xcjhs1sWA#.png
的方式不帶"?"但效果一樣(只是看起來,實際上多一個http302封包),嵌在文章中。


2. javascript程式碼

目標是將[img=___?___]轉成[img=___:::___],使用帶有正規表達式功能的取代函數可以達成。瀏覽器開著,手邊最好取得的就是javascript。

接著不管你怎麼取得文章原始碼,反正

那個內容.replace(/\[img=([^\]?]*)\?([^\]]*)\]/g,"[img=https://agold404.herokuapp.com/imgurl/$1:::$2]")

就是要的東西,然後倒回文章修改,確定送出。


接著連寫全自動化都懶,直接手動點開每一篇文章拿原始碼,執行一下 replace 後蓋回去,然後就改完了。

現在戰地也比上圖高了呢 ... = =|||

所以怎麼樣會壞掉呢?原本的路徑裡有":::"就壞掉啦。


btw,後面放http的也是可以,然後開頭是https,符合嵌圖條件 ><
(可是我沒測試)


3

2

LINE 分享

相關創作

【日誌】可愛的愛夏 魯迪該上了!

日記0513

百鬼的余

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】