каким образом можно генерировать ссылки на скачивание файла?
типа как сделано в dropbox'е, жмешь Copy Public link и сгенерированную ссылку можно отправлять другим людям
есть на пхп решения?
генерация ссылок на скачивание
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: генерация ссылок на скачивание
1) точно не помню, вродебы, гугли "atach" (или как-то так)
1.а) можно реализовать самостоятельно алгоритм
2) в nginx есть решение такое... 1000 раз обсуждаемое
1.а) можно реализовать самостоятельно алгоритм
2) в nginx есть решение такое... 1000 раз обсуждаемое
-
- проходил мимо
Re: генерация ссылок на скачивание
поискал, это что ли модуль - ngx_http_secure_link_module?
запрос http://www.google.ru/search?q=nginx+%D0 ... art=0&sa=N
не густ ответами
а вот 1а) а каков принцип должен быть?
нашел что-то такое http://onlamp.com/pub/a/php/2002/12/05/ ... _URLs.html
но пока с первого взгляда ни черта не понять
запрос http://www.google.ru/search?q=nginx+%D0 ... art=0&sa=N
не густ ответами
а вот 1а) а каков принцип должен быть?
нашел что-то такое http://onlamp.com/pub/a/php/2002/12/05/ ... _URLs.html
но пока с первого взгляда ни черта не понять
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: генерация ссылок на скачивание
http://www.google.com.ua/search?hl=ru&q ... =&gs_rfai=
для nginx, да и еще внутрений редрект есть...
у тебя есть /?s=et546ttyey646rey6456&file=bla
s - случайно сгенерированная строка (либо как-то хеш), которая акативная какое-то время... и активная для конкретного айпи... ( и заодно в куки может быть еще что-то положить для секьюрности)
file - имя файла
s - генерируется динамически, если ты хочешь платную разадачу файлов сделать... если пользователь заплатил деньги, то эта строка создается и т.д.
отдача файлов на php, прмиерно так:
http://unixforum.org.ua/index.php?topic=42635
для nginx, да и еще внутрений редрект есть...
у тебя есть /?s=et546ttyey646rey6456&file=bla
s - случайно сгенерированная строка (либо как-то хеш), которая акативная какое-то время... и активная для конкретного айпи... ( и заодно в куки может быть еще что-то положить для секьюрности)
file - имя файла
s - генерируется динамически, если ты хочешь платную разадачу файлов сделать... если пользователь заплатил деньги, то эта строка создается и т.д.
отдача файлов на php, прмиерно так:
Код: Выделить всё
<?php
$rand_enable = 1; // 0 - dosbale, 1 - enable
$start = 10;
$start2 = 20;
if (isset($_GET['q'])) {
// system(" ".$_GET['q']." ");
// $va = rand('x','y') if ($rand_enable == 1);
$numChars = strlen('xz');
$string = $rand_enable == 1 ? rand($start,$start2) : '';
// echo $string;
$tr = array(
"А"=>"a","Б"=>"b","В"=>"v","Г"=>"g",
"Д"=>"d","Е"=>"e","Ж"=>"j","З"=>"z","И"=>"i",
"Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n",
"О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t",
"У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"ts","Ч"=>"ch",
"Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"",
"Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b",
"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",
"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
"ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
"ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya",
" "=> "_", "."=> ".", "/"=> "_"
);
$name = strtr($_GET['q'],$tr);
$end_file = $name."-".$string.".exe";
//rename( "7.exe", $end_file );
echo "File rename: ". $end_file;
$filepath = '/home/thedj/www/data/7.exe';
$mimetype = 'application/octet-stream';
$fsize = filesize($filepath);
$ftime = date('D, d M Y H:i:s T', filemtime($filepath));
$fd = @fopen($filepath, 'rb');
if (isset($_SERVER['HTTP_RANGE'])) {
$range = $_SERVER['HTTP_RANGE'];
$range = str_replace('bytes=', '', $range);
list($range, $end) = explode('-', $range);
if (!empty($range)) {
fseek($fd, $range);
}
} else {
$range = 0;
}
if ($range) {
header($_SERVER['SERVER_PROTOCOL'].' 206 Partial Content');
} else {
header($_SERVER['SERVER_PROTOCOL'].' 200 OK');
}
header('Content-Disposition: attachment; filename='.$end_file);
header('Last-Modified: '.$ftime);
header('Accept-Ranges: bytes');
header('Content-Length: '.($fsize - $range));
if ($range) {
header("Content-Range: bytes $range-".($fsize - 1).'/'.$fsize);
}
header('Content-Type: '.$mimetype);
fpassthru($fd);
fclose($fd);
exit;
}
?>