Задать вопрос

ASP.NET MVC безопаснее PHP?

Каждый месяц читаю в новостях о критических уязвимостях в самом PHP. Однако за много лет я видел только 1 или 2 упоминания о дырах в ASP.NET.

В результате создается впечатление, что PHP сам по себе дырявый, а ASP.NET безопасный.

Так ли это? Если не так, то почему про дыры в ASP.NET никто не пишет?
  • Вопрос задан
  • 3067 просмотров
Подписаться 4 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 7
DmitryPRG
@DmitryPRG
PHP программист
Мое субъективное мнение, что все зависит от популярности языка.
PHP популярней и в нем больше ковыряются, и больше находят. Хотя возможно и находят столько же, просто тут все быстрее разлетается по тем людям, которым это интересно.

Не думаю, что если бы PHP был на столько дырявым по отношению к ASP.NET, то те же соц сети были бы написаны не на PHP.
Ответ написан
@smet4ik
Не интересовался данным вопросом. Пока не написали эксперты, оставлю свое мнение. Писал и на том и на том, больше на ASP.
Мне кажется разница не в безопасности платформ как таковых, а в парадигме которую они навязывают. Писать не безопасный, как и безопасный код можно и там и там. Но в современном ASP.NET многие проверки берет на себя платформа, многие вещи учтены, во всех учебниках и примерах используются методы и классы, встроенные атрибуты(как например используемый по умолчанию ValidateInput), которые скрывают многие стандартные проверки и тп.
Например, такая простая вещь, как SQL-инъекции(не знаю есть ли до сих пор места, где они встречаются) В ASP.NET — при использовании ORM — проблемы нет как таковой, при использовании обычных запросов — везде(начиная с любых учебников для чайников) рекомендуется использовать параметризованные команды(мне кажется я даже когда-то видел предупреждения от студии или какой то тулзы в комплекте) и тп.
На чистом PHP, можно так же писать хороший и безопасный код, если человек знает что и как пишет, так же по моему современные фреймворки типа Symfony и Zend, тоже инкапсулируют часть работы по фильтрации и валидации.
Плюс самих сайтов на PHP больше и разница в качестве их написания огромна, от социальных сетей и до страничек самописных интернет магазинов.
Ответ написан
Комментировать
@asd111
Зависит от специалиста, который создавал проект.
Правильнее сравнивать фреймворки для PHP и ASP.NET MVC. Сам по себе PHP это просто язык как и С#, т.е. изначально он уязвим, как и С#. Но во фреймворках большинство проблем с безопасностью языка решено.
Насколько мне известно и там и там есть защита от XSS, CSRF, SQL injection, главный вопрос в том использовал их программист или нет.
Ответ написан
Сравнивать интерпретируемый и компилируемый языки это как-то вообще изначально некорректно на мой вгляд.
Ответ написан
mlnkv
@mlnkv
JavaScript Developer
потому что на PHP написано гораздо больше проектов.
Ответ написан
@mayorovp
PHP-это язык, а ASP.NET MVC - это фреймворк. Их нельзя сравнивать.
Ответ написан
Комментировать
@Raimon
Как тут уже отметили, действительно PHP - это язык, а ASP.NET MVC это фреймворк, поэтому было бы корректнее сравнивать с каким нибудь PHP фреймворком.

Но если отвечать на вопрос именно в этой постановке, то действительно в ASP.NET MVC старались сделать безопасным по-умолчанию, насколько это возможно. Из коробки идет много средств для повышения безопасности.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы