Comments 21
Если взять Symfony2, который идет с Doctrine2 ORM, то можно написать точно такую же статью. %) Интереснее как раз таки было бы прочитать про JSON Hijacking и менее известные атаки, от которых пользователи ASP.NET MVC3 защищены по дефолту.
наверное, была потеряна частица «не» где-то в конце предложения, последнее где читал о JSON Hijacking была книга: «Palermo J. — ASP.NET MVC 4 in Action», старый вариант можно глянуть тут: json-hijacking-in-asp-net-mvc-2, вставка кода допиленного ActionResult растянула бы статью почти на страницу.
Скрытие информации
…
Ну, Security through obscurity никогда не было надежным подходом к защите, так что переоценивать скрытие заголовков тоже не стоит.
Это скорее не защита, а сокрытие используемых технологий, в последующем можно легко по логам определить, что кто-то пытается собрать данные о сайте и с большой вероятностью для взлома. Запросы вроде: /administrator/index.php или phpmyadmin подсказывают желания посетителя.
А это не Security, это уменьшение поверхности для атаки. Особенно от всяких автосплоитеров, которые ищут конкретные версии и долбят по ним известными багами. Понятно, что при целенаправленном взломе атакующий попробует всё, но автобот даже пробовать не будет если не найдет характерные признаки уязвимой системы. Так что имхо отказываться от данного сокрытия — тоже не стоит. Особенно учитывая как дешево оно делается =). Ведь в большинстве случаев — цель стоит — сделать взлом как можно более дорогим, чтобы он перестал быть экономически интересным. А абсолютно невзламываемые системы — это миф ;)
Не по основной теме, но все же — включите в проекте восстановление пакетов NuGet и их можно будет не таскать в архиве. При build они сами загрузятся из инета.
Ещё касательно xss, на случай если всё-таки пролезет, нужно озоботиться тем, чтобы авторизационные куки имели включённым флаг HttpOnly.
Сложно представить человека, который не используется ORM при работе с БД, если он пишет проект с нуля и нет ограничений по технологиям
- я не использую ORM, так как СУБД, которую использую, и так уже объектная с наличием SQL и NoSQL возможностей;
- вопросы противодействия взлому страниц в этой СУБД тоже решены в рамках встроенного в неё веб-фреймворка: методы экранирования, приватные страницы, шифрование названий методов/строк/запросов, параметризованные запросы и т.д.
Собственно сколько я не пытался что-то сделать так и не получилось, всему виной использование ORM, никаких конкатенаций строк там нету, данные передаются параметрами и экранируются.
Вы так говорите, как будто DbParameter изобрели только в ORM.
Согласен, они уже существуют очень давно, если не ошибаюсь, то с версии 1.0, но подходы вроде этого SqlParameter уходят в прошлое, ведя речь про ORM я говорил о данном сайте.
подходы вроде этого SqlParameter уходят в прошлое
Да ну?
Даже не считая того, что ORM не везде подходит, вы как-то забываете, что внутри вашего EF все тот же ado.net с теми же объектами.
В том виде как я привел пример, я считаю, что да. Конечно ORM — это не магия и одним из плюсов её использования, является возможность работы с Linq, а не писать запросы руками, после чего вставлять параметры, что уменьшит скорость разработки и время отладки.
>>так как в солюцию включены
Я бы рекомендовал поменять «солюция» на «проект»/«решение»/…
Как-то не благозвучно звучит, уж извините.
Я бы рекомендовал поменять «солюция» на «проект»/«решение»/…
Как-то не благозвучно звучит, уж извините.
Тоже задумался об этом при написании, «решение» звучит как-то не однозначно, в рамках терминологии Visual Studio, «проект» — это не solution и может вводить в заблуждение, поэтому и написал «солюция», но всё же прислушаюсь к рекомендации и напишу проект, но в скобках оставлю ещё английский вариант.
«решение» звучит как-то не однозначно, в рамках терминологии Visual StudioВ русской VS2010 есть термины решение и проект, поэтому всё достаточно однозначно.
Почему бы не использовать устоявшуюся терминологию?
UFO just landed and posted this here
Согласен, полезная библиотека, она включена в ASP.NET 4.5. Спасибо за видео, как-то я его пропустил, Hanselman мой любимый докладчик )
Sign up to leave a comment.
ASP.NET MVC 3/4: Противодействие взлому