• Какой способ подключения к БД на C# правильный?

    @kttotto
    пофиг на чем писать
    Все, что выполняет поставленную задачу - правильно. Все, что позволяет потом поддерживать и масштабировать код - еще правильней.

    В бизнес проектах через конструктор никто, конечно, код для бд не пишет. Чаще всего для мапинга с бд используют какую-нибудь ORM (EF, Dapper), руками пишут модели, которые потом будут мапиться на таблицы бд, прописывают их связи.
    Ответ написан
    3 комментария
  • Как реализовать асинхронный сервер TCP C#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    dotnet core rsignal смотрели? если нет, рекомендую
    Ответ написан
    1 комментарий
  • Атака из "режима разработчика". Как защититься?

    Нет такой защиты, ее не существует.
    csrf тут не причем, никакой скрипт не пытается выполнится.

    F12 доступна всем, пользователь получил копию документа (HTML, CSS, JS), и может с ней сделать что угодно.
    Точно также он может посмотреть HTTP запрос, и отправлять туда что угодно не используя браузер.

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

    Клиентский код выполняется и хранится на клиенте, клиент может с ним делать все что пожелает.
    Сервер должен проверять каждый запрос на валидность, не зависимо ни от чего. Любой запрос считается не правильным, если не доказано обратное.

    Посмотрите на Postman, Fiddler2, Burp. Это ПО специально для того что бы смотреть и изменять ответ-запрос.

    Посмотрел комменты к другим ответам.
    - Сервер не должен принимать стоимость товара полученные от клиента как действительную. Клиент получил копию цены, ее значение на момент запроса. Это просто информация для клиента, не для сервера. Только сервер знает текущую стоимость, клиент может запросить ее значение в определенный момент времени, и все.
    А вот что делать если клиент успел выполнить заказ по старой цене, а на сервере уже новая, это задача анализа (для аналитиков).

    Вам достаточно изучить код любого интернет магазина, как реализовано там. Книгу поискать где подобное приложение разбирается.
    Ответ написан
    Комментировать
  • C# vs Php. Что выбрать?

    @tiqq
    По личному опыту скажу, что C# и Visual Studio - это самый эстетически приятный тандем из всех, с которыми приходилось работать. C# прост, понятен и элегантен настолько, насколько это возможно.

    Касательно перспектив:

    Если в Ваших планах карьера программиста, то я бы однозначно посоветовал C# и .NET. Так как .NET-программистов значительно меньше, чем php-разработчиков, как следствие зарплаты значительно выше(но и вакансий меньше). Так же безусловным плюсом является то, что в случае с C# Вы не ограничены лишь веб-приложениями: на C#, помимо веб приложений, пишутся десктопные приложения, мобильные кроссплатформенные приложения(Xamarin), игры, о которых Вы упомянули, а это значит, что если, к примеру, какое-то направление Вам пришлось не по душе, Вы за гораздо меньшее время сможете переквалифицироваться. В случае же с php Вы имеете дело только с веб-приложениями.

    Если же Вы видите себя в будущем исключительно веб-ориентированным программистом, то, возможно, следует рассмотреть php. Бэкенд большинства веб-сайтов(особенно относительно простых) пишется именно на php, и, скажем, без работы Вы точно не останетесь, хоть и за в среднем меньшие деньги, чем если будете C#-программистом.

    Итог: я бы посоветовал C#. Погружайтесь в платформу .NET и становитесь экспертом. Удачи)
    Ответ написан
    3 комментария