Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт скачивания файлов с сайта, Скачивая файл посетитель не знает откуда 
:(
    Опции темы
NikSTamb
Дата 2.6.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 2.6.2007

Репутация: нет
Всего: нет



У меня такая проблема. 
Как сделать при помощи Perl что бы зарегистрированный посетитель моего сайта мог скачать 
предназначенные для него файлы от 1-го до 30-ти не зная откуда он их качает. 
Ссылки на его файлы должна быть типа <a 
href=каталог_посетителя_1/файл1.zip>Скачать файл1.zip</a>,<a 
href=каталог_посетителя_1/файл2.zip>Скачать файл2.zip</a> .... ...... ....<a 
href=каталог_посетителя_1/файл30.zip>Скачать файл30.zip</a> и т.д. То же для 
других посетителей <a href=каталог_посетителя_2/файл1.zip>Скачать 
файл1.zip</a>, 
<a href=каталог_посетителя_2/файл2.zip>Скачать файл2.zip</a> .... ...... 
.....<a href=каталог_посетителя_2/файл30.zip>Скачать файл30.zip</a> и т.д. 
Если в каталоге посетителя нет файлов, то и ссылок на его странице нет. 
Помогите! Очень срочно нужно! 
PM MAIL   Вверх
nitr
Дата 2.6.2007, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 12
Всего: 84



тут быстро не получится, тем более за реализацию мало кто возьмётся просто так...
да и идей предложат много, вот одна:
БД - таблица пользователей - сессии пользователей, прикрутить через mod_rewrite (модуль к апачу) сессию с папкой. Для другого пользователя будет практически невозможно скачать файлы этого пользователя.


--------------------
PM   Вверх
NikSTamb
Дата 2.6.2007, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 2.6.2007

Репутация: нет
Всего: нет



Цитата(nitr @ 2.6.2007,  19:52)
тут быстро не получится, тем более за реализацию мало кто возьмётся просто так...
да и идей предложат много, вот одна:
БД - таблица пользователей - сессии пользователей, прикрутить через mod_rewrite (модуль к апачу) сессию с папкой. Для другого пользователя будет практически невозможно скачать файлы этого пользователя.
.

На одном из форумов я нашел подобный моему вопрос"Как можно авторизированному юзеру выдавать линку на скачку файла, так что бы не светилось реальное раположение файла на сервере.
Задача в том что бы скачать файл можно было только авторизированным пользователям, но даже авторициронный пользователь не должен видеть реальное расположение файлов на сервере. Как это можно реализовать? как делать авторицазию рассказывать не надо " И ему предложены варианты:
binmode(STDOUT);
local $/ = undef;
open(file, 'file.zip');
binmode(file);
print <file>;
close(file);

my $file="doc.zip"; 
print "Content-type: application/octetstream\n"; 
print "Content-length: ",-s $file,"\n"; 
print "Content-disposition: inline; filename=\"",$file,"\"\n\n"; 
open(FILE, "$file"); 
binmode FILE; 
binmode(STDOUT); 
while(read(FILE, my $data, 1024)){print $data} 
close FILE;

binmode(STDOUT);
 local $/ = undef;
 open(F, $file);
 $size = (stat(F))[7];
 print "Content-Type: application/octetstream\n";
 print "Content-Transfer-Encoding: binary\n";
 $file =~ s/.*\///;
 print "Content-Disposition: attachment; filename=\"$file\"\n";
 print "Content-Length: $size\n\n";
 binmode (F);
 while (read(F, my $buffer, 10485760)) {
  print $buffer;
 }
 close F;
Как это можно использовать в моем случае? Авторизация пользователей на моем сайте есть. Данные авторизованных посетителей в текстовом файле построчно: имя; логин; пароль; имя каталога файлов пользователя; 
Сейчас скачка файлов происходит так:
Клиент вводит свой логин и пароль и попадает на страницу со ссылкой <a href=http://адрес сайта/каталог файлов пользователя>Скачать файлы</a>.  При следующем заходе ему уже не нужно авторизоваться. Он просто в адресной строке указывает  http://адрес сайта/каталог файлов пользователя и снова имеет доступ к своему каталогу.
Как это изменить? И что бы он не попадал в каталог, а мог скачивать файлы со своей страницы
PM MAIL   Вверх
NikSTamb
Дата 2.6.2007, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 2.6.2007

Репутация: нет
Всего: нет



Цитата(nitr @ 2.6.2007,  19:52)
 за реализацию мало кто возьмётся просто так...

Сколько будет стоить? Сроки?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0403 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.