Php ve nginx ile ayarı

PHP Kodları
function tokens(){
    $secret = 'sifreniz';
    $expire = time() + 3600;

    $md5 = base64_encode(md5($secret . $expire, true));
    $md5 = strtr($md5, '+/', '-_');
    $md5 = str_replace('=', '', $md5);
    return 'tkn='.$md5.'&tms='.$expire;
}
//token üretir sifreniz yazan yere istediğiniz bir şifreyi verebilirsiniz.
<?echo "http://ipadresi/live/streamadi.m3u8?".tokens(); ?>
// yayın adresini yazdırır
Nginx.conf kodları
location ~ \.(ts|m3u8)$ {
        sub_filter .ts .ts$is_args$args;
        sub_filter_once off;
        sub_filter_types application/vnd.apple.mpegurl;
        secure_link $arg_tkn,$arg_tms;
        secure_link_md5 sifreniz$arg_tms;

        if ($secure_link = "") {
            return 404;
        }

        if ($secure_link = "0") {
            return 404;
        }
    }
nginx.conf ayarlarında da sifreniz yazan yer aynı olmalı.

Web üzerinde kullanacaksanız Cloudflare altında yayın verdiğiniz sayfayı bypass yapmanız gerekir, aksi halde cache aldığından dolayı düzgün çalışmaz.

Ek olarak; bu güvenlik önlemini herkes basit şekilde aşıyor. Kısacası zorlamanıza gerek yok o kadar. Web üzerinde yapacaksanız tek geçilemeyecek sistem Google Captcha arkasına almak. Onda da ziyaretçi kaybedersiniz. Ya da incapsula kullanabilirsiniz, CURL vs engelliyor.