Задать вопрос
  • Как сделать чтобы например каждые две недели значение переменной менялось?

    @rPman
    Например, проверяй, чтобы ссылка на видео содержала параметр, результат целочисленного деления текущего времени timestamp на количество секунд в требуемом сроке (24*3600*7).

    А что бы не было возможности это подделать, можно хранить не само значение а его хеш какой-нибудь не сильно слабой хешфункции (md5 считают слабой но для ее взлома требуется прилично ресурсов, если доступ к видео этого не стоит то хватит) плюс секретное значение (его называют 'соль')
    if(@$_GET['hash']==md5(SECRET_SALT.(time()/(24*3600*7))))
    {
      // разрешить доступ к видео
    }

    p.s. уже обсуждалось но лично я предлагаю очень простой механизм выдачи прав на загрузку файлов используя механизм статичных файлов веб сервера - на символических ссылках файла, когда ссылка содержит каталог, имя которого - твой сгенерированный хеш или выданный токен авторизации (по ситуации), но нужно будет следить сторонним скриптом, и создавать новые символические ссылки и удалять просроченные.

    Путь к видео в этом случае будет выглядеть как: https://example.com/hash/filename.ext
    для веб сервера hash это каталог, а скрипт должен просто создавать эту ссылку на диске на настоящее место размещения файла (в не публичном каталоге естественно).
    Ответ написан
    4 комментария
  • Как сделать чтобы например каждые две недели значение переменной менялось?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Не знаю в каком виде у вас хранится дата публикации, но нужна примерно такая конструкция. Набросал для RSS/XML:
    $post_time = DateTime::createFromFormat(DateTime::RSS, $item->pubDate);
    $expiry_deadline = time() - 1209600; // 2 weeks
    
    if ($post_time->format('U') < $expiry_deadline) {
        // Change or hide video URL
    }
    Также не забудьте установить time zone либо глобально, либо для $post_time, если время на сервере отличается от нужного.
    Ответ написан
    2 комментария