请问怎么让服务器上的所有文件带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 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

H5開発で習得する必要があるツールとフレームワークには、Vue.JS、React、Webpackが含まれます。 1.Vue.jsは、ユーザーインターフェイスの構築に適しており、コンポーネント開発をサポートします。 2.複雑なアプリケーションに適した仮想DOMを介したページレンダリングを最適化します。 3.Webpackは、モジュールのパッケージングに使用され、リソースの読み込みを最適化します。

Redisサーバーを起動する手順には、以下が含まれます。オペレーティングシステムに従ってRedisをインストールします。 Redis-Server(Linux/Macos)またはRedis-Server.exe(Windows)を介してRedisサービスを開始します。 Redis-Cli ping(Linux/macos)またはRedis-Cli.exePing(Windows)コマンドを使用して、サービスステータスを確認します。 Redis-Cli、Python、node.jsなどのRedisクライアントを使用して、サーバーにアクセスします。

PHPMyAdminセキュリティ防衛戦略の鍵は次のとおりです。1。PHPMyAdminの最新バージョンを使用し、PHPとMySQLを定期的に更新します。 2.アクセス権を厳密に制御し、.htaccessまたはWebサーバーアクセス制御を使用します。 3.強力なパスワードと2要素認証を有効にします。 4.データベースを定期的にバックアップします。 5.機密情報が公開されないように、構成ファイルを慎重に確認します。 6。Webアプリケーションファイアウォール(WAF)を使用します。 7.セキュリティ監査を実行します。 これらの測定は、不適切な構成、古いバージョン、または環境セキュリティのリスクにより、PHPMyAdminによって引き起こされるセキュリティリスクを効果的に削減し、データベースのセキュリティを確保することができます。

Linuxシステムの5つの柱は次のとおりです。1。Kernel、2。SystemLibrary、3。Shell、4。FileSystem、5。SystemTools。カーネルはハードウェアリソースを管理し、基本的なサービスを提供します。システムライブラリは、アプリケーション用の事前コンパイルされた機能を提供します。シェルは、ユーザーがシステムと対話するインターフェイスです。ファイルシステムはデータを整理して保存します。また、システムツールはシステム管理とメンテナンスに使用されます。

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。
