→ danny8376:個人Server端是自己的 然後用的是nginx 09/14 23:52
→ danny8376:都直接寫conf去判斷referer 不和直接return 403 XDD 09/14 23:53
→ danny8376:要用PHP判定也可以 沒記錯你是用apache的server 09/14 23:53
→ danny8376:可以先把這些要防外連的網址全部用rewrite導到一個 09/14 23:55
→ danny8376:檢查的PHP頁面 在裡面檢查referer 不通過就丟403之類的 09/14 23:56
→ danny8376:檢查通過就發出sendfile的header 讓apache輸出檔案 09/14 23:57
→ danny8376:不過這得要apache有裝sendfile 沒有的話只能在PHP裡 09/14 23:59
→ danny8376:把檔案讀出來echo了 (也可以直接用readfile函式輸出) 09/15 00:01
→ danny8376:但能的話還是建議用sendfile 效率絕對遠比PHP直接輸出 09/15 00:02
→ danny8376:還要來得好的多 09/15 00:02
抱歉,我沒把問題說明清楚....
舉個例子
http://f23ko.org/test.html
請檢視網頁原始碼,還有點那兩個連結看看
上面那個頁面裡面的兩張圖,看起來都是自己的網站下的沒錯
但那兩張圖其實都放在 imgur
然後這是 .htaccess
RewriteEngine on
RewriteRule ^img1\.jpg$ redirecti.html
RewriteRule ^img2\.jpg$ http://i.imgur.com/ryfT3c5.jpg
這是 redirecti.html
(頭尾略)
<script>
/*做一些有的沒的事情*/
window.location.replace("http://i.imgur.com/vRhaRdA.jpg")
</script>
一般轉址是都用下面的
RewriteRule ^img2\.jpg$ http://i.imgur.com/ryfT3c5.jpg
這樣的形式
這樣不論是超連結或圖片,都能顯示的很正常
但如果是img1.jpg那樣,用javascript重新定向
可以在別人點超連結的時候
讓client端去執行一些有的沒的javascript
不過,這種狀況下用<img src='...'> 去讀圖片
圖片會讀不出來
所以,我在想能不能判斷這兩種不同的連結方式
如果是超連結,就用javascript去轉址
如果是圖片,就用PHP的header轉址過去
至於目的.....
其實我沒什麼特別的目的
只是覺得,趁著別人點網址的時候不知不覺的讓對方執行一些javascript
好像可以做一些有趣的事情,這樣
※ 編輯: LaPass 來自: 111.252.123.105 (09/15 01:28)
→ danny8376:頂多對連結下手 而外加點參數 因為瀏覽器的 09/15 01:47
→ danny8376:request都是一樣的OwO 09/15 01:48
→ LaPass:orz.... 09/15 11:58
推 gpmm:是我沒看懂嗎? @@ 怎麼覺得針對檔案類型去做處理就好了? 09/15 20:30
→ kerash:他的意思是如果點連結進去就用script轉向,但是用html tag讀 09/15 21:27
→ kerash:如果出現其他非圖片header的輸出就會造成死圖,因此只能直 09/15 21:28
→ kerash:接讀取圖片資源後輸出 09/15 21:28
→ danny8376:不過說request都一樣這點... 其實實際上會有個小差異 09/16 01:25
→ danny8376:有時間先來確認一下不同瀏覽器的狀況 09/16 01:25
→ hit1205:我也以為都一樣耶 XD 原來其實有小差嗎 09/16 02:33
→ danny8376:是啊 不過這差異頗因瀏覽器而異啦 09/16 04:05
推 wotupset:要的話就直接埋原始碼到jpg裡頭 img貼圖不會處理js 09/16 07:07