рдирдорд╕реНрддреЗ
рдЗрд╕ рдиреЛрдЯ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ
рдЕрд╡рд┐рдЪрд╛рд░рд┐рдд рд╕реБрд░рдХреНрд╖рд┐рдд_рд▓рд┐рдВрдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдмрди
рдЬрд╛рдКрдБредрдЬрд╣рд╛рдБ, рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░, рдПрдХ рд╕рд┐рджреНрдзрд╛рдВрдд рдерд╛ рд▓реЗрдХрд┐рди рдХреБрдЫ рд╣реА рд▓рд╛рдЧреВ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реНрдерд┐рддрд┐ рдХреЛ рдереЛрдбрд╝рд╛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рдЫреЛрдЯреЗ рдШрдЯрдирд╛рдХреНрд░рдореЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рддреЛ рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ред
- рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рдЬрд╣рд╛рдВ рд╡реАрдбрд┐рдпреЛ рд╕рдВрд╕рд╛рдзрди рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ
- Ucoz.ru рдкрд░ рд╡реЗрдмрд╕рд╛рдЗрдЯред
рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рддрд┐рдмрдВрдз: ucoz.ru - рдХреЗрд╡рд▓ HTML + рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯред рдХреЛрдИ php, рдкрд░реНрд▓, рдЕрдЬрдЧрд░, рдЖрджрд┐ред рдЖрджрд┐
рдлрд┐рд▓рд╣рд╛рд▓, ucoz рдкрд░ рдЕрдкрд░ рдкреНрд▓реЗрдпрд░ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рд╕реАрдзрд╛ рд▓рд┐рдВрдХ рд╣реИред рдФрд░ рддрджрдиреБрд╕рд╛рд░, рдХреЛрдИ рднреА рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рд╕рдордЭрджрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд┐рд╕реА рднреА рдлрд┐рд▓реНрдо рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИред
рд╕реНрдерд╛рдкрдирд╛:
- рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рдкрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░реЗрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдСрдирд▓рд╛рдЗрди рджреЗрдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓реЗред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░
рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдорддреЗ рд╣реБрдП, рдореИрдВрдиреЗ
Secure_link рдореЙрдбреНрдпреВрд▓ рдХреА рдЦреЛрдЬ рдХреА рдЬреЛ рдкрд░реАрдХреНрд╖рдг рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЧреНрд░рд╛рд╣рдХ рдХреА рдЗрдЪреНрдЫрд╛ рдХреЗ рдмрд╛рдж рдХрд┐ рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде HTTP рдЬреАрдИрдЯреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ
рд░рд┐рд╡рд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ Secure_link рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдерд╛рди рдХреЗ рдмрд╛рдж рдкреВрд░реЗ рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рд╣реИрд╢ рдорд╛рдирддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣ рд╕реЗ:
- /prefix/hash/video.flv рдФрд░
- /prefix/hash/video.flv?start=123321234
- рдПрдХ рдЕрд▓рдЧ рд╣реИрд╢ рд╣реИред
рдЧреБрдЧреНрд▓рд┐рдВрдЧ рдХреЗ рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рдХреЗ рдмрд╛рдж, рд╕реБрд░рдХреНрд╖рд┐рдд_рд▓рд┐рдВрдХ рдХреЛ рддреНрдпрд╛рдЧрдиреЗ рдФрд░ рд╣реИрд╢ рдХреЛ рдЕрдкрдиреЗ рджрдо рдкрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ (рдпрд╛рдиреА рдЕрдиреНрдп рдирдЧреАрдирдХреНрд╕ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)
рдЗрд╕рдХреЗ рд▓рд┐рдП, ngx_devel_kit [1] рдФрд░ ngx_http_set_hash [2] рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдЧрдП рдереЗред
рддрдм рдЗрд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрдерд╛рди рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
location ~ /secure/(.*)/(X-FACTOR-EYYRBBFHR64534)/(.*) {
flv;
set $secret_value "JOP3zneXLjM";
set $hash_value $1;
set_md5 $secret_hash $2$secret_value;
set $value $3;
if ($hash_value != $secret_hash) { rewrite ^ /error.html break; }
rewrite ^ /X-FACTOR-EYYRBBFHR64534/$value?$args break;
}
location /X-FACTOR-EYYRBBFHR64534 { flv; internal; }
рдЗрди рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдмрд╛рдж, URL рдкреНрд░рд╛рд░реВрдк рдереЛрдбрд╝рд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдлрд╝рд╛рдЗрд▓ рд╣реИрд╢реЗрдб рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд▓реЗрдХрд┐рди рдлрд╝рд╛рдЗрд▓ рддрд░реНрдХ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рдВ, рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдПрдХ рдЪреВрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╣реИрд╢ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЙрди рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕рдореЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди 2 рд╕рд╛рд▓ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреВрд░реНрд╡рд╡рд░реНрддреА рдирд╣реАрдВ рдереЗ + рд╣рдорд╛рд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ рдореБрдХреБрдЯ рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ $ N рдореЗрдВ рдЧреБрдкреНрдд рд░реВрдк рд╕реЗ рдмрджрд▓рддрд╛ рд╣реИред рд╡рд╣, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рдерд╛ред
рдкреНрд▓реЗрд▓рд┐рд╕реНрдЯ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ
рдЪреВрдВрдХрд┐ рдЙрдкреНрдкреЛрдж рдореЗрдВ рдПрдХ рдкреНрд▓реЗрд▓рд┐рд╕реНрдЯ рдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣реИрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕рдХреЗ рдЧрддрд┐рд╢реАрд▓ рдЧрдарди рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╛рдЗрдЯ рдкрд░ рдХреЗрд╡рд▓ HTML + рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд╕рд╛рде рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкрд░рд╛рдорд░реНрд╢ рдХреЗ рдмрд╛рдж, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рдХреЗ рдХрд┐рдирд╛рд░реЗ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдкреНрд▓реЗрдпрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ iframe-e рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рд╛рдЗрдЯ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде Javascipt рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреА рд╣реИ:
function loadPlayer(p) {var D = new Date(); var T = D.getTime();document.write("");}
рдФрд░ рд╕рд░рд▓
рд▓реЛрдбрдкреНрд▓реЗрдпрд░ рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛
("рдПрдХреНрд╕-рдлреИрдХреНрдЯрд░-рдИрд╡рд╛рдИрдЖрд░рдмреАрдмреАрдПрдлрдПрдЪрдЖрд░ 64534");Main.php рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ (рдЧреИрд░-рдЗрд╖реНрдЯрддрдо рд▓реЗрдХрд┐рди рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛):
<?php
header("Pragma: no-cache");
header("Cache-Control: no-cache,must-revalidate");
require "secret.php";
$value = "st=http://SITE/uppod/video7-1005.txt&pl=";
$value = $value . "http://HOST/secure/playlists/";
if(preg_match("/SITE/i",$_SERVER["HTTP_REFERER"]))
{ $value = $value . md5($_GET["playlist"].".txt".$secret); }
$value = $value . "/".$_GET["playlist"].".txt&poster=";
?>
<object id="videoplayer113031" type="application/x-shockwave-flash" data=http://SITE/uppod/uppod.swf width="500" height="650">
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="wmode" value="transparent" />
<param name="movie" value="http://SITE/uppod/uppod.swf" />
<param name="flashvars" value="<?php echo $value; ?>" />
</object>
рдирддреАрдЬрддрди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд░рд┐рд╡рд╛рдЗрдВрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрд░рдХреНрд╖рд┐рдд рд▓рд┐рдВрдХ рдкрд░ рд╡реАрдбрд┐рдпреЛ рд╕рд╛рдордЧреНрд░реА рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рд╡рд░реНрд╖ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдмрд┐рдирд╛ рд░реБрдХрд╛рд╡рдЯ рдХреЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдкреБрдирд╢реНрдЪ
1.ngx_devel_kit:
github.com/simpl/ngx_devel_kit2.ngx_http_set_hash:
github.com/simpl/ngx_http_set_hash