PHP 板


LINE

看板 PHP  RSS
※ [本文轉錄自 Web_Design 看板 #1ID7wJjc ] 作者: LaPass (LaPass) 看板: Web_Design 標題: [問題] 判斷HTTP_REFERER的來源形式 時間: Sat Sep 14 23:19:45 2013 就是.... 如果用戶端從別人連到我的網站 下面兩種形式 都會讓HTTP_REFERER中,出現對方的網站名稱 1.超連結 <a href='http://我的連結.jpg' >點我</a> <a href='http://我的連結.doc' >點我</a> 2.內鑲的播放軟體等 <img src='http://我的連結.jpg' > <embed src="http://我的連結.mp3" /> 我想只針對 <img>、<mp3>做處理 因為,如果是1那種狀況,我可以先吐個html檔 放些javascript進去做一些事 再把連結用location.replace()轉去該檔案的網址 使用者在使用上不會受到影響 但如果是2的狀況 如果我先吐html檔的話,圖片會當場掛掉,出現叉燒包 這不是我期望的結果 請問有沒有辦法區分這次點我的網站的連結是哪一種形式? --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.252.123.105



※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: LaPass (111.252.123.105), 時間: 09/14/2013 23:22:09 ※ 編輯: LaPass 來自: 111.252.123.105 (09/14 23:22)
1F:→ danny8376:個人Server端是自己的 然後用的是nginx 09/14 23:52
2F:→ danny8376:都直接寫conf去判斷referer 不和直接return 403 XDD 09/14 23:53
3F:→ danny8376:要用PHP判定也可以 沒記錯你是用apache的server 09/14 23:53
4F:→ danny8376:可以先把這些要防外連的網址全部用rewrite導到一個 09/14 23:55
5F:→ danny8376:檢查的PHP頁面 在裡面檢查referer 不通過就丟403之類的 09/14 23:56
6F:→ danny8376:檢查通過就發出sendfile的header 讓apache輸出檔案 09/14 23:57
7F:→ danny8376:不過這得要apache有裝sendfile 沒有的話只能在PHP裡 09/14 23:59
8F:→ danny8376:把檔案讀出來echo了 (也可以直接用readfile函式輸出) 09/15 00:01
9F:→ danny8376:但能的話還是建議用sendfile 效率絕對遠比PHP直接輸出 09/15 00:02
10F:→ 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)
11F:→ danny8376:頂多對連結下手 而外加點參數 因為瀏覽器的 09/15 01:47
12F:→ danny8376:request都是一樣的OwO 09/15 01:48
13F:→ LaPass:orz.... 09/15 11:58
14F:推 gpmm:是我沒看懂嗎? @@ 怎麼覺得針對檔案類型去做處理就好了? 09/15 20:30
15F:→ kerash:他的意思是如果點連結進去就用script轉向,但是用html tag讀 09/15 21:27
16F:→ kerash:如果出現其他非圖片header的輸出就會造成死圖,因此只能直 09/15 21:28
17F:→ kerash:接讀取圖片資源後輸出 09/15 21:28
18F:→ danny8376:不過說request都一樣這點... 其實實際上會有個小差異 09/16 01:25
19F:→ danny8376:有時間先來確認一下不同瀏覽器的狀況 09/16 01:25
20F:→ hit1205:我也以為都一樣耶 XD 原來其實有小差嗎 09/16 02:33
21F:→ danny8376:是啊 不過這差異頗因瀏覽器而異啦 09/16 04:05
22F:推 wotupset:要的話就直接埋原始碼到jpg裡頭 img貼圖不會處理js 09/16 07:07







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP