PHP 怎樣防盜鏈代碼實(shí)現(xiàn)
<?php/*使用方法:將上述代碼保存為dao4.php,比如測(cè)試用的validatecode.rar在站點(diǎn)http://www.XXXX.com里面,則用以下代碼表示下載連接.文件名?site=1&file=文件例如以下URL:http://www.XXXX.cn/dao4.php?site=1&file=validatecode.rar*/$ADMIN[’defaulturl’] = 'http://www.XXXX.com/404.htm'; //盜鏈返回的地址$okaysites = array('http://www.XXXX.com/','http://XXXX.com'); //白名單$ADMIN[’url_1’] = 'http://www.XXXX.com/download/'; //下載地點(diǎn)1$ADMIN[’url_2’] = ''; //下載地點(diǎn)2,以此類推$reffer = $HTTP_REFERER;if ($reffer) { $yes = 0; while (list($domain, $subarray) = each($okaysites)) { if (ereg($subarray, '$reffer')) { $yes = 1; } } $theu = 'url' . '_' . '$site'; if ($ADMIN[$theu] AND $yes == 1) { header('Location: $ADMIN[$theu]/$file'); } else { header('Location: $ADMIN[defaulturl]'); }} else {header('Location: $ADMIN[defaulturl]');}?>
相關(guān)文章:
1. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法2. Python 的 __str__ 和 __repr__ 方法對(duì)比3. IntelliJ IDEA設(shè)置背景圖片的方法步驟4. Spring security 自定義過濾器實(shí)現(xiàn)Json參數(shù)傳遞并兼容表單參數(shù)(實(shí)例代碼)5. JAMon(Java Application Monitor)備忘記6. 學(xué)python最電腦配置有要求么7. 解決redis與Python交互取出來的是bytes類型的問題8. Python TestSuite生成測(cè)試報(bào)告過程解析9. Python Scrapy多頁數(shù)據(jù)爬取實(shí)現(xiàn)過程解析10. Python OpenCV去除字母后面的雜線操作
