请问怎么让服务器上的所有文件带cookies才能访问下载?
请问各位大神,怎么才能让服务器上的文件必须要在URL包含cookies才能下载?
特别是是PHP重定向到真实文件后(PHP的方法我试过了,但是不能满足需求,需要的是哪怕PHP访问中携带了cookies,然后重定向到真实文件了,也需要带cookies才能下载真实文件)
比如像这个:
http://gdl.lixian.vip.xunlei.com/download?fid=0hR2BkWuxG+yu8/SSvHED9qPY3qIM6UBAAAAAPgVMM+tcuZfzsSdkpa5AVaDBXss&mid=666&threshold=150&tid=2D7127D9AC515342BBCF3C2534A28B6E&srcid=4&verno=1&g=F81530CFAD72E65FCEC49D9296B9015683057B2C&scn=t13&i=F81530CFAD72E65FCEC49D9296B9015683057B2C&t=1&ui=352085248&ti=749121079740928&s=27603848&m=0&n=01397CB40C657475702D58903A2D786C384F549C3A00000000&ff=0&co=7146348578E47321F9ADCDC2E65E5373&cm=1&pk=lixian&ak=1:1:6:4&e=2000000000&ms=10485760&ck=7D925ECC1C9C2CD1098D37BAE3D249E3&at=BFBB6AE6FDC257D3BC3A9FDBFAE45212
通过cookies验证后,重定向到:
http://vod39.t6.lixian.vip.xunlei.com:443/download?fid=vlMMl5rBhEpw40dAJIWIAzFss/IbL0I1AAAAAGp5LQx3uSW+VWah1LGOGJx68Tey&mid=666&threshold=150&tid=7A76D65FCFBEDD0710723B8E9472CF47&srcid=4&verno=1&g=6A792D0C77B925BE5566A1D4B18E189C7AF137B2&scn=t6&i=D4FDF4149CF91CA34FC1A528291BA4D4&t=4&ui=346853248&ti=767920006498817&s=893529883&m=0&n=01226220F8D6E42E482500D46D34B8DFC784E7348CA2CBABD7B71F892F34000000&ff=0&co=907FCD65B217061FF4D04BDEBFBD25D5&cm=1&pk=lixian&ak=1:0:2:3&e=2000000000&ms=10485760&ck=3C1C62B8C80D6C0C47C833D5A92DEF1D&at=D9AD4F55BC8C22C248A75E6E2459686E&k=1&ts=1410592408
还是需要带cookies才能下载这个文件。
(第二个url好像不是PHP的,因为下载的文件真实地址就是这个,没有再经过跳转和重定向了)
(url只是举例,访问不了的)
怎么实现这样的?
服务器是nginx/linux
回复内容:
请问各位大神,怎么才能让服务器上的文件必须要在URL包含cookies才能下载?
特别是是PHP重定向到真实文件后(PHP的方法我试过了,但是不能满足需求,需要的是哪怕PHP访问中携带了cookies,然后重定向到真实文件了,也需要带cookies才能下载真实文件)
比如像这个:
http://gdl.lixian.vip.xunlei.com/download?fid=0hR2BkWuxG+yu8/SSvHED9qPY3qIM6UBAAAAAPgVMM+tcuZfzsSdkpa5AVaDBXss&mid=666&threshold=150&tid=2D7127D9AC515342BBCF3C2534A28B6E&srcid=4&verno=1&g=F81530CFAD72E65FCEC49D9296B9015683057B2C&scn=t13&i=F81530CFAD72E65FCEC49D9296B9015683057B2C&t=1&ui=352085248&ti=749121079740928&s=27603848&m=0&n=01397CB40C657475702D58903A2D786C384F549C3A00000000&ff=0&co=7146348578E47321F9ADCDC2E65E5373&cm=1&pk=lixian&ak=1:1:6:4&e=2000000000&ms=10485760&ck=7D925ECC1C9C2CD1098D37BAE3D249E3&at=BFBB6AE6FDC257D3BC3A9FDBFAE45212
通过cookies验证后,重定向到:
http://vod39.t6.lixian.vip.xunlei.com:443/download?fid=vlMMl5rBhEpw40dAJIWIAzFss/IbL0I1AAAAAGp5LQx3uSW+VWah1LGOGJx68Tey&mid=666&threshold=150&tid=7A76D65FCFBEDD0710723B8E9472CF47&srcid=4&verno=1&g=6A792D0C77B925BE5566A1D4B18E189C7AF137B2&scn=t6&i=D4FDF4149CF91CA34FC1A528291BA4D4&t=4&ui=346853248&ti=767920006498817&s=893529883&m=0&n=01226220F8D6E42E482500D46D34B8DFC784E7348CA2CBABD7B71F892F34000000&ff=0&co=907FCD65B217061FF4D04BDEBFBD25D5&cm=1&pk=lixian&ak=1:0:2:3&e=2000000000&ms=10485760&ck=3C1C62B8C80D6C0C47C833D5A92DEF1D&at=D9AD4F55BC8C22C248A75E6E2459686E&k=1&ts=1410592408
还是需要带cookies才能下载这个文件。
(第二个url好像不是PHP的,因为下载的文件真实地址就是这个,没有再经过跳转和重定向了)
(url只是举例,访问不了的)
怎么实现这样的?
服务器是nginx/linux
第二个可能是PHP的,
实现方式是验证,
PHP验证,PHP验证完了之后就输出文件内容,验证不通过就输出错误信息或者不输出东西。
别再跳转了 验证完cookie合法之后直接返回文件
不大可能实现应用程序服务器规则来控制,一般是php验证后跳转到真实地址。
用拦截器验证先
以前我曾经找人用C写了一个Nginx 扩展来用。
现在可以用Lua简单实现了。
nginx可以实现x-sendfile,把下载目录设置为internal即可
http://wiki.nginx.org/XSendfile
http://kovyrin.net/2006/11/01/nginx-x-accel-redirect-php-rails/

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Docker在Linux上重要,因為Linux是其原生平台,提供了豐富的工具和社區支持。 1.安裝Docker:使用sudoapt-getupdate和sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io。 2.創建和管理容器:使用dockerrun命令,如dockerrun-d--namemynginx-p80:80nginx。 3.編寫Dockerfile:優化鏡像大小,使用多階段構建。 4.優化和調試:使用dockerlogs和dockerex

IIS和PHP可以兼容,通過FastCGI實現。 1.IIS通過配置文件將.php文件請求轉發給FastCGI模塊。 2.FastCGI模塊啟動PHP進程處理請求,提高性能和穩定性。 3.實際應用中需注意配置細節、錯誤調試和性能優化。

多次調用session_start()會導致警告信息和可能的數據覆蓋。 1)PHP會發出警告,提示session已啟動。 2)可能導致session數據意外覆蓋。 3)使用session_status()檢查session狀態,避免重複調用。

NGINX和Apache各有優劣,選擇應基於具體需求。 1.NGINX適合高並發場景,因其異步非阻塞架構。 2.Apache適用於需要復雜配置的低並發場景,因其模塊化設計。

DMA在C 中是指DirectMemoryAccess,直接內存訪問技術,允許硬件設備直接與內存進行數據傳輸,不需要CPU干預。 1)DMA操作高度依賴於硬件設備和驅動程序,實現方式因係統而異。 2)直接訪問內存可能帶來安全風險,需確保代碼的正確性和安全性。 3)DMA可提高性能,但使用不當可能導致系統性能下降。通過實踐和學習,可以掌握DMA的使用技巧,在高速數據傳輸和實時信號處理等場景中發揮其最大效能。

Macosandlinuxbothofferuniquerenths:Macosprovidesa-frignlylexperienceWithExcelenthardArdWareIntegration,而Lilinuxexcelsinflexibilitionallibility andCommunitysupport.macos,evartednebyBybyBybyBybyByapple,issone bybyapple,seknoybyapple

AI可以幫助優化Composer的使用,具體方法包括:1.依賴管理優化:AI分析依賴關係,建議最佳版本組合,減少衝突。 2.自動化代碼生成:AI生成符合最佳實踐的composer.json文件。 3.代碼質量提升:AI檢測潛在問題,提供優化建議,提高代碼質量。這些方法通過機器學習和自然語言處理技術實現,幫助開發者提高效率和代碼質量。

在C 中處理高DPI顯示可以通過以下步驟實現:1)理解DPI和縮放,使用操作系統API獲取DPI信息並調整圖形輸出;2)處理跨平台兼容性,使用如SDL或Qt的跨平台圖形庫;3)進行性能優化,通過緩存、硬件加速和動態調整細節級別來提升性能;4)解決常見問題,如模糊文本和界面元素過小,通過正確應用DPI縮放來解決。
