Apache下载:确保在下载之前查看了该页面
课程设计
1
手头的工作:
我想确保我网站的用户在开始下载之前查看页面。如果他们没有查看页面但尝试直接热链接到文件,他们应该在允许下载之前转到网页。
有什么建议比我发送 cookie 的想法更好 - 在下载开始之前 - 检查 cookie 是否存在(通过 .htaccess)?
网页和下载文件将位于不同的服务器上。
环境:
- 所有机器上的 Apache 2
- 所有机器上的 PHP 5
- MySQL 5 在“网页”服务器上可用(不能从下载服务器访问)
内森问我试图解决什么问题,事实上我想防止来自论坛的热链接。如果人们使用我们的带宽从我们的服务器下载,我想在下载开始之前向他们展示一个带有广告的页面。它不需要完全安全,但我们需要赚一些钱来资助服务器,对吧?:)
-
Apache mod_rewrite RewriteRule 可以做到这一点。
RewriteEngine on RewriteCond %{HTTP_REFERER} !^http://www.example.com/page.html$ RewriteRule file.exe http://www.example.com/page.html [R=301,L]
file.exe
基本上,如果没有作为推荐人的请求page.html
,它将 301 将用户重定向到page.html
. -
我将使用 mod auth token 来确保用户拥有“最近的链接”。
使用 mod auth token 您可以创建过期链接,即如果有人决定使用现有链接并将其发布到另一个网站上,该链接将在指定时间后过期。这将导致 403 FORBIDDEN,我可以捕获并将用户重定向到我希望他访问的 HTML 页面。
发表回复