эрхан -
Ваша основная задача безопасности не в том, чтобы защитить ваш исходный код, , а в том, чтобы защитить данные ваших клиентов. Для этого вы должны убедиться, что A) ваше общение безопасно (SSL) б) ваш код обеспечивает соответствующую безопасность (не подвергается атакам с использованием SQL-инъекций) и в) ваша база данных защищена.
Для (A) - безопасности связи - вам необходимо получить SSL-сертификат от кого-то вроде Thawte (это тот, кого мы используем, и они мне нравятся). Когда вы устанавливаете Cert на свой сервер, вы хотите убедиться, что веб-сайт принимает только безопасные (SSL) соединения - по крайней мере для всех страниц с конфиденциальными данными. Например, все формы с данными кредитной карты должны быть отправлены через SSL.
Для (B) - безопасность кода - это достойно целой книги ! Вы должны , а не , например, создавать вызовы SQL, просто добавляя данные форм / запросов, собранные с веб-страницы (это оставляет вас открытым для SQL-инъекций атак). Все Аргументы SQL должны быть параметризованы. и т. д. и т. д. Никто не может объяснить безопасность в SO сообщении - у вас есть лот для изучения.
Для (C) - безопасность SQL Server - это тоже сложная тема, но есть несколько ключевых моментов. Исходя из вашего описания, я предполагаю, что SQL Server работает на том же сервере, что и ваше веб-приложение. Это означает, что вы НЕ хотите, чтобы он принимал ЛЮБЫХ подключений из сети. Не поддавайтесь искушению оставить это открытым, чтобы вы могли легко получить к нему доступ из SQL Management Studio на рабочем столе ... это просто ужасная, глупая практика безопасности. Вы можете получить к нему доступ через удаленный рабочий стол после входа на удаленный сервер. Кроме того, отключите учетную запись 'sa' - просто сделайте это прямо сейчас. Люди, которые находят вас через порт 1433 (если вы не отключаете весь доступ к сети), будут в течение многих лет отбрасывать предположения о паролях с использованием грубой силы против учетной записи sa каждую секунду и т. Д. Мы получаем около 17 000 в день за пределами веб-сайта базы данных, которую мы поддерживаем для нескольких клиентов. Здесь есть чему поучиться, но если вы сделаете эти два шага, вы достаточно хорошо охвачены. Однако, чтобы быть уверенным, я рекомендую также запустить инструмент анализа поверхности безопасности MS и, при необходимости, следовать его рекомендациям, чтобы уменьшить видимость вашего SQL Server.
Что касается хостинга виртуальных машин, то должно быть в порядке. Тем не менее, выделенный хостинг стоит всего около $ 199 в месяц по MaximumASP (который я использую, рекомендую и считаю одним из лучших в бизнесе!). Я бы порекомендовал вам рассмотреть возможность использования собственного выделенного сервера, чтобы вы могли легко масштабировать свой бизнес, если он окажется успешным.
Что касается вашей базы данных, SQL Server Express будет работать для этого, и, да, вы можете перейти на Workgroup Edition в будущем. Ограничения базы данных не станут узким местом для вашего веб-сайта, если вы не достигнете этих ограничений. Вам нужно выяснить, вероятно ли это. При этом, действительно, не рекомендую пытаться запустить профессиональный веб-сайт на бесплатной версии базы данных MS - особенно на той, которая содержит финансовые данные. При любом успехе вы, , вероятно, столкнетесь с этими пределами. Многие веб-хостинговые компании (и MaximumASP в частности) позволят вам добавить профессиональную версию SQL Server к цене вашего сервера за минимальную цену (например, 25 долларов в месяц или что-то подобное).
Наконец, вы, кажется, немного запутались в отношении веб-приложений и приложений Windows. В веб-приложении ваши пользователи не будут иметь доступа к вашему исходному коду / DLL (IIS блокирует доступ к различным файлам, включая файлы dll и .config). Они не загружают и не устанавливают приложение, поэтому вам не нужно подписывать свой код, и вам не нужно запутывать. «Защита отражателя» даже не имеет смысла для меня в этом контексте.
Если вы беспокоитесь, что ваша хостинговая компания увидит ваш код, вам следует найти другую хостинговую компанию. При этом я просто не могу себе представить, что любая уважаемая хостинговая компания действительно заботится о том, чтобы увидеть ваш исходный код.
Удачи!