Как упаковать приложение ASP.NET, чтобы пользователи не могли его изменять?

StackOverflow https://stackoverflow.com/questions/1216897

  •  06-07-2019
  •  | 
  •  

Вопрос

Существует ли инструмент или какой-то общий подход к упаковке всех файлов ASP.NET приложения в двоичную форму, чтобы предотвратить модификацию после его развертывания?Я думаю, что там будет набор подписанных двоичных файлов и конфигурационный файл для настроек, которые мы разрешаем клиенту изменять.Кто-нибудь пытался это сделать, возможно ли это вообще?

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

Обновить

Извините, из ответов я вижу, что выразился не совсем ясно.Я имел в виду буквально упаковку ВСЕХ файлов, а не только файлов кода.Это означает aspx, скрипты, изображения и т.д.Я не пытаюсь предотвратить реверс-инжиниринг...это проблема поддержки, т.е.чтобы избежать проблем, вызванных тем, что клиент возится с файлами.

Нет правильного решения

Другие советы

Если вы создали проект веб-приложения, вы можете скомпилировать свой код в один dll-файл.Вы можете найти его в папке bin.

Просто используйте aspnet_compiler.exe для предварительной компиляции всего, а затем используйте aspnet_merge.exe для объединения всех скомпилированных сборок в одну сборку.Вы можете использовать инструмент обфускации, такой как DotFuscator, если хотите усложнить реверс-инжиниринг.Visual Studio pro и выше включает "облегченную" версию Dotfuscator, которую вы можете использовать для этого.

Ваши файлы codebehind будут скомпилированы в единую библиотеку dll, как уже упоминал ZippyV.ASPX-файлы будут нормально развернуты на веб-сервере.

Но, тем не менее, ваши dll-файлы могут быть довольно легко разобраны.Поэтому, чтобы быть уверенным, вы должны использовать обфускатор.

Если вы имеете в виду ВСЕ файлы, включая aspx, вы также могли бы рассмотреть ngen.Он предварительно компилирует все в библиотеку dll, так что вы даже не можете получить доступ к aspx-страницам.

Хотя ngen был разработан, чтобы избавиться от функции JIT-компиляции фреймворка, и определенно не является общепринятым подходом, но в вашем случае он может хорошо сработать.

В VS2008 выберите пункт меню "Инструменты", а затем "Dotfuscator Community Edition".После его запуска у вас появится ссылка "Узнать больше".

Я также подписываю свой, используя SN.exe, чтобы у него было сильное название.Учитывая все это, я думаю, что разобраться с системой достаточно сложно, если вам предоставят исходный код и справку....так что я больше не беспокоюсь об этом.

может быть Точечный фускатор ваш клиент не сможет ни модифицировать его, ни реинжинирировать :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top