Как стать автором
Обновить

Комментарии 17

"Антипаттерн: плохая обработка ошибок. Решение: обрабатывать ошибки хорошо". И все в таком духе.


Проблема в том, что все эти "антипаттерны" поощряются дизайном языка. В нем на всех уровнях разложены грабли, облегчающие написание кода, который будет проглатывать ошибки, портить данные, предоставлять доступ злоумышленникам. И вместо того, чтобы сражаться с используемым инструментом, возможно стоит рассмотреть альтернативы, благо их сейчас очень много.


Скрытый текст
Какие, например, альтернативы вы имеете ввиду?

Java/Scala/Kotlin, C#/F#, Rust, Typescript, Python,… — да практически любой современный язык, кроме JS

и я так понимаю всё из этого на обычный вирт.хостинг не залить. покупайте сервер.

"Виртуальный хостинг" — это тот, где "два сайта, пять баз MySQL, PHP, CGI", где любой файл с расширением .php является исполняемым, где через дыру на одном сайте можно слить данные других сайтов с того же сервера? К счастью, такие хостинги уже лет 10 как не являются "обычными", а за сходные деньги можно взять полноценную виртуальную машину, иметь более высокие гарантии надежности и использовать те инструменты, которые хочется.

Типичный коментарий от человека который даже не знаком с PHP

Увы, я пользовался им шесть лет и отлично знаю, о чем говорю

У меня 21-й год пошел. Грабли наблюдаю в основном в головах, а не в языках, и речь не только о PHP.
Задам вероятно наивный вопрос, но что не так с md5 хешами паролей? Да, есть базы на сотни миллиардов вариантов паролей с их хешами, но ведь такие базы будут появляться для всех алгоритмом хеширования.
Двойной хеш с солью ок ок. MD5 от короткого пароля — не ок, наверное это имел в виду автор
Двойной хеш с солью ок ок

Наверное смотря для чего, кончено, но, в целом, нет, не ок.

Чистый хэш от короткого пароля — не ок, с любым, наверное, известным алгоритмом


Ну и надо различать разные цели атак: подобрать пароль для конкретного хэша или по большому даму вскрыть хоть несколько паролей

По нынешним временам md5 можно спокойно брутфорсить, даже не пользуясь обнаруженными уязвимостями. Особенно, если цель не конкретный хэш взломать, а пройтись по базе в сотню тысяч и больше пользователей и взломать как можно больше

md5 очень быстро считается, не защищен от поиска по радужным таблицам. Почитайте, про рекомендованный в статье Bcrypt.
когда речь заходит о версионировании, так что этими зависимостями следует управлять с помощью Composer.

А причем здесь версионирование? Знаю проекты, в которых vendor не .gitignoreтся, бывали случаи, когда библиотеку удаляли или блокировали (mgp25/instagram-php к примеру).


Из-за отсутствия экранирования параметров в запросе есть опасность SQL-инъекций. Чтобы их предотвратить, используйте PDO!

Сам по себе PDO не спасёт, а вот параметризованные запросы спасут (а они есть не только в PDO, например, в расширении mysqli).


Если разработчик реализовал собственную загрузку, самодельное решение, то высока вероятность, что у него возникла одна или несколько проблем с безопасностью.

Тема не раскрыта. Что использовать-то?

Антипаттерн №9: дублирование кода
Антипаттерн №3: отсутствие локального окружения

это прям лютое зло, но к сожалению многие так работают
тут проблема в том что в большинстве случаев — команда небольшая, потребности бизнеса скоростные
хорошее локальное окружение это, имхо, только в больших конторах где к разработке подходят по другому
хотя ничего сложного в этом нет, дело буквально одного дня чтобы сделать локалку и пользоваться годами
Зарегистрируйтесь на Хабре , чтобы оставить комментарий