0

我有一个 .flv 文件。此文件需要托管在我们的 FTP 服务器上,我需要制作一个显示此视频的 php 页面。该视频应该仅对一个页面加载可见。例如:

http://somepage.com/?id=akudps2

使用此 URL,它将加载视频,一次,下次加载此页面时,由于链接过期,视频不再可见。

可以同时有多个有效链接处于活动状态。因此,例如,我可以将具有不同 URL 的相同视频发送给多个用户。

必须:

  • 应该不可能从页面的源代码中获取 flv 文件的真实文件名。查看器应该无法下载该文件。
  • 这一切都应该在不使用数据库的情况下完成,因为我们在这个数据库上没有数据库。它可以使用强硬的文本文件。
4

1 回答 1

1

对于问题中的第一个部分,您可以通过文件创建自己的管理。

每次为此创建“密钥”时,都会在文件中写入一个新行,例如...

<?php
file_put_contents("sessions.txt", "sjhGtwtha 0", FILE_APPEND);

本例中的“0”表示“未使用”。

然后你可以做这样的事情:

<?php
function isUsed($key) {
    $keys = file_get_contents("sessions.txt");
    foreach (explode("\n", str_ireplace("\r", "", $keys)) as $line) {
        if (substr($line, 0, strlen($key)) == $key) {
            return substr($line, strlen($key) + 1, 1) == '1';
        }
    }
    return true; // ID is invalid, never been assigned at all
}

function updateFile($key) {
    $keys = file_get_contents("sessions.txt");
    foreach (explode("\n", str_ireplace("\r", "", $keys)) as &$line) {
        if (substr($line, 0, strlen($key)) == $key)
            $line = $key . ' 1';
    }
    file_put_contents("sessions.txt", implode("\n", $keys));
}

决定是否使用。

至于第二部分,我不确定这是否可行。您可以尝试混淆,但最终浏览器需要知道要播放的文件,因此它总是会在某个时候通过挖掘源代码来访问。

于 2014-02-10T16:11:23.643 回答