带有视频的PHP页面仅在没有数据库的情况下可见一次



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

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

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

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

必须:

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

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

每次为此创建"键"时,都会向文件写入一个新行,例如......

<?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));
}

决定是否使用它。

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

相关内容

最新更新