![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| ruX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 8.9.2006 Где: г.Гатчина Репутация: 1 Всего: 3 |
Как осуществяется ограничение прав доступа а ресурсам на сервере?
Допустим, имеется какая-то картинка на сервере. Один юзер копирует адрес на неё другому, но у другого нет прав на просмотр её. Как это реализовать? Пропускать вывод изображения(а того хуже если это какой-нить архив на 50 метров) через скрипт - как то не серьёзно. Писать плагин для апача - тоже не интересный вариант. Больше ничего в голову не приходит. Если я правильно понял - то на сервере по любому логика должна проверять права, иначе никак. Для начала хотя бы как реализовать примитив: доступ к определённой картинке может иметь только авторизированный пользователь. Подскажите пожалуйста в какую сторону смотреть? --------------------
Случайность - внезапно наступившая неизбежность. |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
||||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
||||
|
||||
| ruX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 8.9.2006 Где: г.Гатчина Репутация: 1 Всего: 3 |
Поэтому и спрашиваю я посмотрел, на сколько я понял можно разве что логин-пароль использовать. Опять же авторизация должна быть на моих скриптах. Если я правильно понял можно написать модуль авторизации, но это уже не так интересно. Тогда стоит посмореть в сторону cgi, например на си? --------------------
Случайность - внезапно наступившая неизбежность. |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
||||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
присоединяюсь к предыдущему оратору, небольшому файл хостингу даже нету смысла напрягаться с чем то другим, заголовоки и readfile вполне достаточно. |
|||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
Решь шла о файлообменниках и соответственно я сразу подумал о больших файлах и огромном количестве пользователей.
Для мелких сервисов согласен с readfile. |
|||
|
||||
| ruX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 8.9.2006 Где: г.Гатчина Репутация: 1 Всего: 3 |
Значит вывод: можно пропускать через php readfile?
А как быть например с лимитом времени исполнения, устанавливать принудительно? Ведь канал у юзера может быть очень узкий. И по идее, этот лимит должен зависить от размера файла. Для картинки размером 300кб это одно, для, например, мп3 в 5метров это другое --------------------
Случайность - внезапно наступившая неизбежность. |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
||||
|
||||
| bazzjr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 27.12.2007 Где: Россия, Пермь Репутация: 4 Всего: 6 |
Ну мне так думается все это можно реализовать посредством: Куки + Сессии + некий идентификатор регистрации(профиля) пользователя Идея примерно такая... Каждый раз когда "зарегистрированный" ползователь хочет скачать какой либо файл, то в адресной строке прибавляем некий ID, который позволяет ему скачивание. Если эту ссылку дать другому пользователю, то когда пользователь коннектится, система проверяет адрес, и смотрит тот самый ID, далее проверяет КУКИ, и если все нужные данные совпадают, система дает добро на скачивание или просмотр. Это сообщение отредактировал(а) bazzjr - 26.5.2009, 10:22 |
|||
|
||||
| icewind |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 11.4.2009 Где: Ростов-на-Дону Репутация: 20 Всего: 20 |
Мне кажется можно обойтись без увеличения временного лимита... И без лишней нагрузки. Можно создать директорию для выдачи. При запросе к скрипту, тот создает в директории выдачи папку, название которой будет содержать айпишнек (можно ip2long) и timestamp для обеспечения временного лимита и копирует туда нужный файл. Юзера предупредить что ссылка будет активна n часов. Далее сделать маленький скрипт, который будет проверять по названиям в директорий время создания и чистить устаревшие и повесить на крон. Можно таким образом избежать потоковой отдачи файлов средствами php... Естественно это для больших файлов... Картинки (50 - 350kb) можно и потоком отдать...
-------------------- ![]() |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
Из личного опыта, 2к уникальных обращений к файлу в течение часа не вызывали у сервера ничего кроме смертной скуки. Это сообщение отредактировал(а) gta4kv - 26.5.2009, 22:19 |
|||
|
||||
| ruX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 8.9.2006 Где: г.Гатчина Репутация: 1 Всего: 3 |
ссылка должна быть постоянной, это обязательно Всё равно тут присутствует активная логика, т.е. пропускать изображение через скрипт.
Очень хочется надеятся. А если много одновременных соединений? Ведь пхп прилично памяти ест, где то видел что в среднем 8 метров на обработку 1 запроса. Или не стоит заморачиватсья с этим пока проблема не проявит себя? --------------------
Случайность - внезапно наступившая неизбежность. |
|||
|
||||
| ruX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 8.9.2006 Где: г.Гатчина Репутация: 1 Всего: 3 |
Ещё кое-что обнаружил
ВКонтакте не даёт просматривать фото если ввести адрес страницы на которой она лежит. Но если знать прямую ссылку на изображение(в том числе и на большую аватару), то можно даже не логинившись просматривать. Это нормально? Я подумал: если я буду пропускать через скрипт, то очень просто можно будет досить - достаточно открыть кучу соединений, они ведь не прервуться сами(учитывая что я поставлю большой лимит времени испольнения скрипта). А если при выдачи изображения я буду проверять на количество соединений от пользователя, время между запросами, то это к запросу о правах доступа к БД добавиться ещё и проверка интервалов времени запросов Или я через чур заморачиваюсь? --------------------
Случайность - внезапно наступившая неизбежность. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |