codeigniter контролировал доступ к URL / папке - PullRequest
0 голосов
/ 16 января 2012

Я застрял в ситуации, когда я хочу, чтобы URL-адрес, содержащий папку, содержащую некоторые файлы (html, swf и т. Д.), Был доступен после проверки пользователя.

Например.

URL-адрес для доступа:

A - http://mysite.com/files/version/1/file.swf

И этот вышеуказанный URL-адрес доступен по ссылке,

B - http://mysite.com/view/1

Я реализовал способ скрытия URL-адреса A от обычного пользователя, но если пользователь каким-то образом является полутехником, он может узнать местоположение файла SWF изподжигатель или другие инструменты.Итак, чтобы сделать доступ к файлу безопасным, что мне делать?

Если пользователь каким-то образом знает первый URL (A) и затем вводит его в браузер, я должен проверить, вошел ли пользователь в систему.и если проверка завершена, она позволяет загрузить URL-адрес A.

Поскольку в CI имена контроллеров не могут называться так же, как папки в корневом каталоге, в этом случае у меня не может быть контроллера с именем«файлы».Таким образом, единственная возможность сделать этот безопасный доступ к URL-адресу - это использовать htaccess rule / cond.Если это единственная опция, то как это может быть достигнуто с помощью htaccess, а если нет, то какие еще опции у меня есть.

Будут ли работать URI-маршруты codeigniter, потому что, когда я пытался так:

$ route ['files / version / 1 / (: any)'] = «view / $ 1»;

, и это не работает, возможно, из-за отсутствия контроллера / функции/ param как файлы / версии / 1 ...

в поисках быстрой помощи.Спасибо

1 Ответ

2 голосов
/ 16 января 2012

Не существует надежного способа сделать это без, например, использования .htpasswd.

Одна вещь, которую вы могли бы реализовать, это своего рода «Безопасность от неизвестности». В этом случае вы можете перенаправить все запросы к файлу на URL http://mysite.com/view/file-id, а затем вместо загрузки запрашиваемого файла напрямую, вы загрузите шаблон .php с соответствующими заголовками - будь то изображение, флэш-файл или что-то еще .

Но это действительно зависит от того, как будут управляться файлы, так как каждый файл будет нуждаться в записи в базе данных, и вам придется выводить разные заголовки для файлов разных типов. И если кому-то все-таки удастся угадать путь к файлу, он будет напрямую доступен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...