Сведения о вопросе

Junior

20:40, 21st August, 2020

Теги

asp.net   cassini   dep    

"Предотвращение Выполнения Данных" убивает (VS2008) локальный сервер разработки ASP.Net (aka Cassini) на Vista 64

Просмотров: 458   Ответов: 5

Иногда я обнаруживаю, что во время отладки приложения ASP.Net (написанного в visual studio 2008, работающего на 64-разрядной версии Vista) локальный сервер разработки ASP.Net (т. е. 'Cassini') перестает отвечать на запросы.

Мне часто приходит сообщение о том, что "Data Execution Prevention (DEP)" убил WebDev.WebServer.exe

Журналы событий просто говорят мне, что " WebDev.WebServer.exe перестал работать"

Я слышал, что этот 'problem' представляет себя чаще на Vista 64-bit, потому что DEP включен по умолчанию. Следовательно, отключение DEP может привести к 'solve' проблеме.

Но мне интересно:

Есть ли известная ошибка / ситуация с Cassini, которая заставляет DEP убить процесс?

Кроме того, какова практическая опасность отключения предотвращения выполнения данных?



  Сведения об ответе

fo_I_K

17:12, 15th August, 2020

Единственный способ узнать наверняка - это покопаться в источнике Cassini и посмотреть, есть ли какие-либо области, где он генерирует код в куче, а затем выполняет его, не снимая флаг NX.

Однако вместо этого почему бы не использовать IIS?

EDIT:

Опасность отключения DEP заключается в том, что вы открываете дыры в системе безопасности. DEP работает, не позволяя выполнять произвольный сгенерированный код в куче. Это помогает предотвратить вставку вредоносными программами кода в сегменты данных легальных программ.


  Сведения об ответе

ASSembler

21:06, 1st October, 2020

Вы находитесь на vista, iis стало лучше (7), cassini остался дерьмовым.

Так что просто запустите это приложение на iis с заголовком хоста и записью файла hosts.


  Сведения об ответе

dump

12:10, 1st August, 2020

Вы можете предоставить определенные программы исключения из DEP, если вам это нужно.

Как Джонатан

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


  Сведения об ответе

JUST___

02:40, 5th August, 2020

Использование IIS в Visual Studio-это не та боль в заднице, которая была раньше в 1.1/VS02/03 днях. Есть много веских причин предпочесть IIS серверу Cassini (статьи Доминика Байера ):

Cassini считается вредным
Еще одна причина, по которой я бы не рекомендовал Cassini

Доминик - это 'the man', когда речь заходит о IIS и безопасности.

При использовании IIS для веб-приложения я всегда сначала создаю приложение в IIS, указываю его на свою предпочтительную папку, а затем получаю VS для создания проекта. Это означает, что вы не будете в конечном итоге загромождать c:\inetpub\wwwroot своими веб-приложениями.

Конечно, теперь у нас есть IISExpress, который, если вы нацелены на IIS7.x, является очевидным выбором для разработки ASP.NET приложений в Visual Studio.


  Сведения об ответе

9090

23:27, 7th August, 2020

Спасибо за ответы. Я думаю, что у меня развилось такое отвращение к IIS в эпоху .net 1.x, что я отказался рассматривать возможность повторного использования его-до сих пор.

кроме того: выбирая между двумя одинаково приемлемыми ответами от ChanChan и Джонатана, я произвольно отметил Джонатана как 'accepted', потому что а) он вошел первым и б) его репутация в настоящее время ниже.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться