#asp.net #iis-7 #file-upload #directory
#asp.net #iis-7 #загрузка файла #каталог
Вопрос:
У меня есть ASP.net веб-сайт, который позволит пользователям загружать изображения с помощью стороннего webHTMLEditor. У меня создана общая папка, и редактор находит ее, но когда я пытаюсь динамически создать пользовательскую папку, она выдает «WinIOError. Доступ к пути ‘../common/upload/1’ запрещен «.
Я не очень хорошо знаком с настройкой разрешений и IIS на стороне сервера, поэтому я надеялся, что кто-нибудь расскажет мне, как предоставить ASP.net код, лежащий в основе возможности создания части нумерованной папки пути «../common/upload / 1».
Я использую Windows Server 2008 и IIS 7.
Комментарии:
1. Я смог понять это из artical dmarietta, связанного с методом проб и ошибок. Оказывается, мне нужно было сделать две вещи: во-первых, настроить учетную запись IUSR для получения разрешений на запись, во-вторых, отделить строку, которая использовалась в качестве указателя каталога, и ту, которая была передана редактору для его пути назначения загрузки. редактор изменял строку, которая была передана в качестве местоположения загрузки, без предоставления какой-либо обратной связи. должен любить сторонние инструменты…
Ответ №1:
Вам просто нужно установить соответствующие разрешения на уровне файловой системы для пользовательского контекста, в котором работает сайт. Итак, если это сайт, открытый для случайных посетителей, вы должны посмотреть настройки своей учетной записи анонимного пользователя (IUSR). Если вам требуется проверка подлинности пользователя, вам нужно будет установить разрешения на основе пользователя или группы (групп), к которым они принадлежат. Обратите внимание, что права доступа к файловой системе относятся к тем же разрешениям, что и при настройке доступа к файлам на сервере для пользователя в вашей сети / компьютере. Таким образом, это не то же самое, что права доступа к серверу IIS, поэтому, чтобы убедиться, что вы не просматриваете неправильные разрешения, не используйте IIS manager.
Следующая статья может помочь с некоторыми более конкретными деталями: http://learn.iis.net/page.aspx/583/secure-content-in-iis-through-file-system-acls /
Комментарии:
1. Не позволяйте анонимному пользователю делать что-то подобное.
2. @IrishChieftain — Если КОД, который выполняется на веб-сайте, должен создавать / удалять папки, это необходимо для работы приложения, и в этом нет ничего плохого — при условии, что это хорошо написанное приложение. Возможно, следовало бы уточнить этот пункт выше, но опять же, если вы не доверяете приложению, которое вы пишете / устанавливаете на своем сервере, чтобы использовать надлежащие разрешения, тогда его вообще не следует использовать на сервере.
3. Просто говорю, что если он был плохо написан, это может привести к сбою сервера 😉
4. для того, чтобы они могли зайти так далеко в приложении, они будут нашими платными клиентами, и идентификатор клиента устанавливается нами, поэтому дубликатов или чего-то подобного не будет. это также полностью контролируется программой, и очевидно, что папка создается только один раз. Не похоже, что они могут вводить все, что захотят, и веб-сайт пытается создать соответствующий файл. Я прочитал эту ссылку и добавил IUSR в список пользователей, у которых были разрешения на чтение / запись в связанную папку, но все равно выдает мне ту же ошибку.