Форум → Программирование → PHP для идиотов → Доступ к файлам. Apache + cookie
Доступ к файлам. Apache + cookie
Страницы: ← Предыдущая страница • Следующая страница →
-
Дек. 7, 2008, 2:17 п.п., спустя 44 минуты 2 секунды
RewriteMap доступен только на уровне httpd.conf, то есть на уровне сервера, то есть на шареде не канает :) а то бы я написал про него, чессловоιιlllιlllι унц-унц -
Дек. 7, 2008, 2:24 п.п., спустя 6 минут 58 секунд
насчет простого вписывания rewriterule в хтаккес подумай :) мб проще вариант :) туда же можно вписать и rewritecond всякие на проверку ипов и тп :) плюс очевиден - не надо копировать файлы. минус - большой хтаккес(хз как апач отнесется к тысяче-двум rewriterule, но думаю что не создаст большой нагрузки :)Сапожник без сапог -
Дек. 7, 2008, 2:37 п.п., спустя 12 минут 29 секунд
динамически генерируемый .htaccess ??? че только не придумают в воскресный вечер!
уж лучше создавать контрольные файлы для моего примера.
вот наконец php-код
для массива файлов вида
$files = array(
'0fda' => 'sometext.txt',
'fc93' => 'secret.rar',
…
);
генерация всех контрольных файлов выбранного пользователя, которому соответствует $access_code:
foreach ($files as $file_code => $file_name)
{
if ( проверка условий доступа )
fopen('access/'.$file_code.'-'.$access_code, 'w+');
else
@unlink('access/'.$file_code.'-'.$access_code);
}
до 1000 файлов это будет работать очень быстро. а скорость обработки запросов apach-ем не зависит от количества расшариваемых файлов (и пользователей)ιιlllιlllι унц-унц -
Дек. 7, 2008, 2:45 п.п., спустя 8 минут 31 секунду
насчете вечера воскресного хорошо подмечено :)
динамически генерируемый .htaccess ??? че только не придумают в воскресный вечер!
уж лучше создавать контрольные файлы для моего примера.
вот наконец php-код
для массива файлов вида
$files = array(
'0fda' => 'sometext.txt',
'fc93' => 'secret.rar',
…
);
генерация всех контрольных файлов выбранного пользователя, которому соответствует $access_code:
foreach ($files as $file_code => $file_name)
{
if ( проверка условий доступа )
fopen('access/'.$file_code.'-'.$access_code, 'w+');
else
@unlink('access/'.$file_code.'-'.$access_code);
}
до 1000 файлов это будет работать очень быстро. а скорость обработки запросов apach-ем не зависит от количества расшариваемых файлов (и пользователей)
вы не сказали размер проекта :)) чтобы оценить глупость/правильность методов)Сапожник без сапог -
Дек. 7, 2008, 3:26 п.п., спустя 40 минут 55 секунд
я исхожу из того, что проект не очень большой. ни в коем случае не рапидшаре. что-то вроде форума до 2000 участников из которых условно-одновременно 200 может быть онлайн. на эту толпу до 1000 файлов. то есть условия приемлимые для шаред-хостинга :)
реально права на подобных проектах-форумах раздаются на уровне групп, а не индивидуумов. поэтому теоретический максимум контрольных файлов равен не
пользователей*файлов, а групп*файлов, т.е. до 3000.
сами контрольные файлы места практически не занимают. сборщик мусора должен их регулярно подчищать.ιιlllιlllι унц-унц -
Дек. 7, 2008, 3:28 п.п., спустя 2 минуты 14 секунд
ну лад, это наромальный метод в любм случае :)Сапожник без сапог -
Дек. 7, 2008, 3:36 п.п., спустя 8 минут 6 секунд
спасибо! а что случилось с глазом?ιιlllιlllι унц-унц -
Дек. 7, 2008, 3:38 п.п., спустя 1 минуту 48 секунд
типа пират!
спасибо! а что случилось с глазом?Сапожник без сапог -
Дек. 13, 2009, 5:58 п.п., спустя 371 день 2 часа 19 минут
а как сделать, что б файл не открывался в браузере а предлагал сохранить себя?
делаю
RewriteRule (.+?)/(.+?)/(.+) /path/to/folder/$1 [L,T="application/octet-stream"]
Header set Content-Type "application/octet-stream"
Header set Content-Disposition "attachment; filename='aa.pdf'"
не помогаетСпустя 38 сек.зы, filename нужно будет брать из URL'а, $3 -
Дек. 14, 2009, 7:02 д.п., спустя 13 часов 3 минуты 35 секунд
Абырвалг, проверь какие заголовки реально приходят с сервераιιlllιlllι унц-унц -
Дек. 14, 2009, 8:37 д.п., спустя 1 час 35 минут 40 секунд
с сервера приходят заголовки text/html. То есть эти реально не ставятся. Если в конревой .htaccess поместить установку заголовков - то они поставятся на весь серв и будет работать как нужно. Но тогда получится, что я не смогу просматривать страничги. Установить по маске(по расширению) не удалось. Что-то тут не так. Буду на поддомен выносить скачку файлов. -
Дек. 14, 2009, 8:53 д.п., спустя 15 минут 31 секунду
а тем времене ожил 1dfile.ru!! :DСапожник без сапог -
-
Дек. 14, 2009, 12:01 п.п., спустя 1 час 48 секунд
Абырвалг,
- а если поместить условие "если файл существует — закончить разбор"? ты же правишь заголовки только у "виртуальных" файлов.
- на поддомены все-равно не помешает разбивать. это один из приемов оптимизации скорости загрузки страницы.ιιlllιlllι унц-унц -
Дек. 14, 2009, 2:25 п.п., спустя 2 часа 24 минуты 40 секунд
на поддомены разобью. Бок был в следующем: хедеры отправлять нужно не из той папки, в которой происходит распарсивание URL'а, а из той, в которой файл фактически находится (у меня /download - ссылка на скач, а сами файлы в /path/to/folder).
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!