0

.flv ファイルがあります。このファイルは FTP サーバーでホストする必要があり、このビデオを表示する php ページを作成する必要があります。この動画は、1 ページ読み込みでのみ表示されます。例えば:

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

使用されたかどうかを判断します。

2番目の部分については、それが実行可能かどうかわかりません。難読化を試みることはできますが、最終的にブラウザはどのファイルが再生されるかを知る必要があるため、ソースを掘り下げることでいつでもアクセスできるようになります。

于 2014-02-10T16:11:23.643 に答える