Сессия Сбрасывается при загрузке файла с помощью плагина fla sh - PullRequest
0 голосов
/ 07 февраля 2020

Мой сеанс сбрасывается после загрузки файла с помощью плагина fla sh. Я включил некоторые функции входа в функцию Session_Start и вижу, что она вызывается каждый раз, когда я загружаю файл с помощью плагина fla sh. Я не уверен, что будет причиной этого. Это работает локально для меня в среде разработчика с тем же сервером и настройками.

Я использую IIS 7 с Windows Server 2008 R2.

Мое приложение: ASP. NET MVC. NET 4.0 (устаревшее приложение)

Я загружаю другие файлы на сайт без плагина fla sh, и они работают. Этот функционал работал раньше. Но по какой-то причине теперь он перестал работать.

Есть идеи о том, что может быть причиной этого?

1 Ответ

0 голосов
/ 10 февраля 2020

Первый Microsoft Окончание поддержки Windows Server 2008 и Windows Server 2008 R2.

Конфигурация сервера по умолчанию не позволяет загружать файлы с Fla sh Uploader.

Вы можете попробовать следующие настройки:

1) Отключение проверки запроса:

ASP. NET автоматически проверяет запрос или отклоняет его, если есть опасные поля. Однако HTML5 / Fla sh Uploader отправляет данные файлов в текстовые поля (а не в двоичные) из-за ограничений Adobe Fla sh Player. IIS может рассматривать это поведение как потенциально опасное, и, таким образом, вы можете получить следующую ошибку при загрузке:

Потенциально опасный запрос. Значение формы было обнаружено клиентом

. Используйте приведенный ниже код для отключения проверки запроса на странице, которая обрабатывает запрос на загрузку:

<%@ Page Language="C#" ValidateRequest="false" %>

2) Назначить разрешение:

Папка, в которую вы собираетесь сохранять файлы, должна иметь измененные разрешения. Присвойте iis_iusrs и iusr или удостоверению пула приложений полное разрешение для папки загрузки.

3) Настройка максимальной длины запроса POST:

Обычно ограничение для максимального запроса POST длина указана для уменьшения риска DoS-атак. Если размер запроса превышает указанное значение c, он считается вредоносным и загрузка будет прервана.

Если вы собираетесь загружать файлы, размер которых превышает ограничение по умолчанию, увеличьте его.

Go в C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config и измените

<section name="requestFiltering" overrideModeDefault="Deny" />

на

<section name="requestFiltering" overrideModeDefault="Allow" />

добавьте приведенный ниже код в веб-приложение Файл .config:

<system.webServer>
    <security>
        <requestFiltering>
            <requestLimits maxAllowedContentLength ="2147482624" /> <!-- in bytes -->
        </requestFiltering>
    </security>
</system.webServer>

<system.web>
     <httpRuntime maxRequestLength="2097151"/> <!-- in kilobytes -->
</system.web>

4) Настройка управления для поддержки среднего уровня доверия:

. NET Уровень доверия в IIS указывает уровень безопасности доступа к коду для ASP. NET приложений. По умолчанию HTML5 / Fla sh Uploader работает с полным уровнем доверия. Однако, если вы создаете веб-сайт со средним уровнем доверия на своем сервере, вам следует настроить HTML5 / Fla sh Uploader для поддержки этого уровня. Для этого просто установите для свойства MediumTrustCompatibility значение true, как показано в следующем фрагменте:

<aur:ImageUploaderFlash ID="ImageUploaderFlash1" runat="server" 
    MediumTrustCompatibility="true">
</aur:ImageUploaderFlash>

Если для свойства MediumTrustCompatibility задано значение true, пул приложения должен быть перенаправлен на один рабочий процесс. Для этого запустите диспетчер IIS, выберите пул приложений, в котором работает ваш веб-сайт, нажмите «Дополнительные параметры» на панели «Действия» и установите для параметра Максимальное количество рабочих процессов значение 1:

enter image description here

...