【发布时间】:2017-05-16 09:13:38
【问题描述】:
我遇到以下代码的问题,因为我的 htaccess 代码是
RewriteEngine On
# you can add whatever extensions you want routed to your php script
RewriteCond %{REQUEST_URI} \.(zip)$ [NC]
RewriteRule ^(.*)$ "pathoffile"/download_file.php [L]
and php code is
<?php
session_start();
if(!isset($_SESSION))
{
echo "Access Denied";
}
?>
当我点击以下链接时, 如果会话存在,应该下载文件但它不存在。
【问题讨论】:
-
您可以在 download_file.php 文件本身中添加限制。在顶部写下您的会话条件。
-
您已将请求重写为脚本文件 - 因此该脚本文件现在完全对之后发生的事情负责。您的脚本不仅需要处理负面情况(用户未授权 - 没有下载,而是出现错误消息),还需要处理正面情况:您的脚本需要读取文件的内容并将其输出到浏览器。跨度>
-
在我看来,使用
session_start();,您的$_SESSION数组将始终设置(即使为空)并且您的测试始终为真。如果你在某处创建会话并想在这里检查它,你应该在创建它时设置一个 var,并在会话数组中检查这个键 -
谁能给我提示,假设我知道任何下载链接的 url,如果用户输入直接 URL 进行下载,我可以停止从 URL 直接访问,然后不能访问,但可以从项目中做下载。我尝试过使用会话系统但没有成功。