PHP - 允许根据$ _SESSION变量

时间:2016-06-20 17:06:42

标签: php apache session-variables data-protection

我正在运行一个Apache / PHP服务器,我有一个视频文件。

只有当某些$_SESSION变量具有特定值时,我是否可以允许访问此文件?

2 个答案:

答案 0 :(得分:1)

当然。

首先,您必须避免直接访问视频文件。这可以将它放在一个包含.htaccess文件的文件夹中,其中包含" Deny from all"。

其次,你编写一个包含代码的php脚本来检查$ _SESSION,如果可以的话,间接访问该文件。此脚本可用作src而不是文件的自然链接。

要间接访问文件,可以使用header()发送mime类型,然后使用readfile()输出文件内容。

另一种方法是使用哈希名称创建文件的临时副本,仅供用户访问。

答案 1 :(得分:1)

首先将视频放在seprate文件夹中 使用以下代码

将.htaccess文件添加到该文件夹
Order deny,allow
Deny from all

这将阻止从服务器外部直接访问文件,但因为您的php服务器享有本地文件权限可以链接到它

现在您可以使用if if语句来检查会话是否已设置,并相应地提供

等访问权限
if(isset($_SESSION) && $_SESSION['some_var'] == 'some_particular_value'){
    // show video
}