B
B
Bobur Bakhritdinov2016-04-11 16:11:16
linux
Bobur Bakhritdinov, 2016-04-11 16:11:16

Example nginx http secure link php?

Hello, I wanted to bind a direct link to ip using the nginx http_secure_link module.
nginx version:

1.4.6

link example:
mp4.sitename.com/location/filename.mp4

php script but I can't set up the nginx server for the script
/**
 * @param $baseUrl - non protected part of the URL including hostname, e.g. http://example.com
 * @param $path - protected path to the file, e.g. /downloads/myfile.zip
 * @param $secret - the shared secret with the nginx server. Keep this info secure!!!
 * @param $ttl - the number of seconds until this link expires
 * @param $userIp - ip of the user allowed to download
 * @return string
 */
function buildSecureLink($baseUrl, $path, $secret, $ttl, $userIp)
{
    $expires = time() + $ttl;
    $md5 = md5("$expires$path$userIp $secret", true);
    $md5 = base64_encode($md5);
    $md5 = strtr($md5, '+/', '-_');
    $md5 = str_replace('=', '', $md5);
    return $baseUrl . $path . '?md5=' . $md5 . '&expires=' . $expires;
}
// example usage
$secret = 'the_secret_key_configured_in_nginx';
$baseUrl = 'http://example.com';
$path = '/path/to/file.zip';
$ttl = 120; //no of seconds this link is active
$userIp = '195.99.99.99'; // normally you would read this from something like $_SERVER['REMOTE_ADDR'];
echo buildSecureLink($baseUrl, $path, $secret, $ttl, $userIp);

I can’t find the right nginx configuration
for storing files, I use a subdomain. thanks in advance for your replies

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question