Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.26;
Скачать: CL | DM;

Вниз

Вопрос по вебу   Найти похожие ветки 

 
Tornado   (2009-05-24 00:12) [0]

Спрошу здесь, может кто сталкивался. Есть веб сервер (апач второй), на нем крутится некий сайт. На этом сайте периодически выкладываются ссылки на некие архивы. Архивы достаточно объемные. Встала задача запретить пользователям скачивать с сайта эти архивы допустим с 9 утра и до 18 часов, в остальное время - разрешить. Есть одно НО, ссылка должна присутствовать всегда чтобы пользователь мог добавить ее например в DMaster"a и назначить начало скачивания к примеру на 18.30. Вот что можно сделать?


 
DVM ©   (2009-05-24 00:15) [1]


> Вот что можно сделать?

файлы на фтп сервере, фтп включается и выключается по расписанию CRON - ом.


 
Tornado   (2009-05-24 00:16) [2]


> DVM ©   (24.05.09 00:15) [1]

Мысль, обмозгую...а крон - это что за прога? Слышал что-то вроде выполнения задач по расписанию? (не пользовал)


 
DVM ©   (2009-05-24 00:20) [3]


> а крон - это что за прога?

Да, это демон (типа службы плпнировщика в WIN). Необязательно кстати фтп останавливать, можно просто менять его конфигурацию и перезапускать.
В этом случае не понадобится никакого программирования.
Манипулировать можно не только фтп, можно файерволлами, правами файлов, много вариантов вообще есть.


 
Tornado   (2009-05-24 00:22) [4]


> DVM ©   (24.05.09 00:20) [3]

Ясно, попробую...Крон - он платный?


 
DVM ©   (2009-05-24 00:23) [5]


> Крон - он платный?

Упаси бог. Он входит в состав практически всех дистрибутивов Linux, Unix, FreeBSD и т.д. с исходниками. Другое дело, что доступ к нему на платном хостинге может быть небесплатным.


 
Tornado   (2009-05-24 00:25) [6]

Тут дело такое, апач стоит на ВинХР, это наш внутренний сайт (да даже не сайт, просто страничка с сылками)


 
DVM ©   (2009-05-24 00:25) [7]


> Tornado   (24.05.09 00:22) [4]

У тебя сервер то под *NIX ? Если под Win, то планировщик стандартный с успехом заменит CRON.


 
Tornado   (2009-05-24 00:25) [8]

Знаю что не правильно, но пока ничего сделать не могу :)


 
Tornado   (2009-05-24 00:26) [9]


> DVM ©   (24.05.09 00:25) [7]

Все понял спасибо


 
antonn ©   (2009-05-24 00:31) [10]

если скачка по http то как варинт костыльный - планировщиком добавлять в папку с файлами htaccess с "deny from all" и удалять когда надо :)


 
antonn ©   (2009-05-24 00:31) [11]

а может и сам апач умеет время смотреть, в htaccess...


 
Anatoly Podgoretsky ©   (2009-05-24 08:58) [12]

Написать небольшой обработчик и включить перехватчик, Апаче имеет эту хакерскую штучку. Подробности в справке по Апаче. Название опции не помню, искать самостоятельно по документации.

http://www.domain.com/fles/несуществующая папка/ссылка и никаких фтп, планировщиков, htaccess не надо.


 
antonn ©   (2009-05-24 13:28) [13]


> Anatoly Podgoretsky ©   (24.05.09 08:58) [12]

эта штучка называется mod_rewrite, но фигня в том, что нужно не скрыть реальный урл, а запретить скачку по времени. потому и написал [11]


 
Anatoly Podgoretsky ©   (2009-05-24 13:38) [14]

> antonn  (24.05.2009 13:28:13)  [13]

Не я про подобную фигню не говорил. При той фигне не будет "скрытия" URL будет немного иначе выглядеть, но так он будет выглядеть всегда. Я не помню как фигня называется, я уже давно Апач не использую. Результат будет такой - в определеный момент времени будут отдаваться страницы, а в другое время, что угодно.

Другой путь это динамические страницы, в зависимости от времени, но вроде это по условию не проходит.


 
easy ©   (2009-05-24 13:56) [15]


> Вот что можно сделать?

скриптом отдавать, например
<?php
$fullpath = "/path/to/files/";

function GiveFile($path, $size){
   if ($fd = fopen ($path, "r")) {
           
       $path_parts = pathinfo($path);
       $ext = strtolower($path_parts["extension"]);
       switch ($ext) {
           case "pdf":
               $content_type = "application/pdf";
           break;
           case "txt":
               $content_type = "text/plain";
           break;
           case "gz":
               $content_type = "application/x-gzip";
           break;
           case "zip":
               $content_type = "application/zip";
           break;
           case "jpg":
               $content_type = "image/jpeg";
           break;
           case "gif":
               $content_type = "image/gif";
           break;
           case "png":
               $content_type = "image/png";
           break;
           default:
               $content_type = "application/octet-stream";
           break;
       }
       header("Content-type: $content_type");
       header("Content-Disposition: attachment; filename=\"".$path_parts["basename"]."\"");
       header("Content-length: $size");

       while(!feof($fd)) {
           $buffer = fread($fd, 2048);
           echo $buffer;
       }
   }
   fclose ($fd);
}

function check_time(){
   $hour = date("G");
   return !($hour>=9 and $hour<=18);
}

if (isset($_GET["download"]) and check_time()){
   $fullpath = $fullpath+$_GET["download"];
   $fsize = filesize($fullpath);
   GiveFile($fullpath,$fsize);
}

?>
#http://site.ru/index.php?download=filename.zip


 
antonn ©   (2009-05-24 14:03) [16]


> easy ©   (24.05.09 13:56) [15]

придется реализовывать 206 код и опять же лишняя нагрузка на вебсервер.


> Anatoly Podgoretsky ©   (24.05.09 13:38) [14]

в [12] описаны mod_rewrite :)



Страницы: 1 вся ветка

Текущий архив: 2009.07.26;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.018 c
15-1242852156
Германн
2009-05-21 00:42
2009.07.26
Копирование таблицы из pdf в doc


2-1244024577
Maxim
2009-06-03 14:22
2009.07.26
Отключение клавиши tab в программе


2-1243843842
девушка
2009-06-01 12:10
2009.07.26
cxGrid как SelectedRecordCount на нижнем уровне


2-1243871211
Максим
2009-06-01 19:46
2009.07.26
TPopUpMenu + WM_COMMAND


11-1197097138
zNk
2007-12-08 09:58
2009.07.26
LZMA в MCK