Потому что md5 простая, доступная функция, дающая относительно небольшой дайджест. В большинстве случаев вполне подходящая для некоторого увеличения безопастности.
Хранение md5 вместо пароля достаточно сильно повышает безопасность в некоторых случаях.
Другое дело что многие из обозначенных "начинающих разработчиков", которые об этом говорят, а так же те кто их слушает, не всегда точно понимают каким образом. Они слишком полагаются на это волшебное "шифрования", а некоторыми своими действиями просто уничтожают всякий эффект от него.
Однако, заметка, ИМХО, бред. Ни в какую современную базу все варианты не влезут.
Даже с учетом существования баз с md5 частовстречающихся паролей, они никак не помогут для md5(md5). Для такого варианта нужно иметь такую же отдельную базу. Для md5(md5(md5)) третью.
Остынь, гражданин, и не нервничай.
Потом подавляющее число читателей берет подобный код "для наглядности" и вставляет не думая.
И говорил я не именно про какой-то код, а про то, что отслеживание подобных вещей напрямую относится к вопросу о том "как грамотно отправлять почту из скриптов".
На сервере нельзя, но можно в _POST['subject'] отправить строку "subject\ncc:много, много email-адресов". В итоге при простой подстановке данной строки в заголовки, получим:
Subject: subject
cc: [много, много адресов]
В итоге от имени вашего сервера на все эти адреса будут отосланы сообщения с содержимым, которое обычно так же вводит клиент в браузере.
В примерах используется прямая вставка из $_POST, но не описано что такое mail-инъекция и способы борьбы с ней. ИМХО, это гораздо важнее для "грамотного отправления почты", чем указание субтипов.
У дяденьки на 200MMX небось какой-нибудь IE3, в котором вообще ничего не работает.
На средне-устаревшей тачке (от 1ГГц) разница между innerHTML/DOM будет заметна только при частой перерисовке очень больших объемов.
If the 301 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.
Note: When automatically redirecting a POST request after
receiving a 301 status code, some existing HTTP/1.0 user agents
will erroneously change it into a GET request.
К 302 это тоже относится, но там всё же сказано, что для переадресации с POST на GET практически часто используется 302.
Подгонка чужого кода и перенастройка кривых сценариев к этому не относится. Там и не на такие сделки с дьяволом приходится идти, чтобы хоть как то работало в сжатые сроки.
Буферизация же жрет ресурсы и время до окончания сценария, в которое браузер бы уже спокойно начал бы отрисовывать пользователю страницу.
Конечно, человек, который разбирается во всех нюансах может делать как считает нужным в данной ситуации, но не нужно рекомендовать подобные вещи новичкам.
Аналогично для sha1.
Другое дело что многие из обозначенных "начинающих разработчиков", которые об этом говорят, а так же те кто их слушает, не всегда точно понимают каким образом. Они слишком полагаются на это волшебное "шифрования", а некоторыми своими действиями просто уничтожают всякий эффект от него.
Однако, заметка, ИМХО, бред. Ни в какую современную базу все варианты не влезут.
Даже с учетом существования баз с md5 частовстречающихся паролей, они никак не помогут для md5(md5). Для такого варианта нужно иметь такую же отдельную базу. Для md5(md5(md5)) третью.
К чему вас вдруг понесло? Я написал один комментарий, а с вашей помощью развели уже на страницу.
Потом подавляющее число читателей берет подобный код "для наглядности" и вставляет не думая.
И говорил я не именно про какой-то код, а про то, что отслеживание подобных вещей напрямую относится к вопросу о том "как грамотно отправлять почту из скриптов".
В итоге от имени вашего сервера на все эти адреса будут отосланы сообщения с содержимым, которое обычно так же вводит клиент в браузере.
Я думаю 99,9% населения земли проживет без этого знания.
И даже множество программистов смогут делать быстрые и эффективные js-сценарии без jQuery.
На средне-устаревшей тачке (от 1ГГц) разница между innerHTML/DOM будет заметна только при частой перерисовке очень больших объемов.
К 302 это тоже относится, но там всё же сказано, что для переадресации с POST на GET практически часто используется 302.
Буферизация же жрет ресурсы и время до окончания сценария, в которое браузер бы уже спокойно начал бы отрисовывать пользователю страницу.
Конечно, человек, который разбирается во всех нюансах может делать как считает нужным в данной ситуации, но не нужно рекомендовать подобные вещи новичкам.
Всю жизнь работал в HTTP/1.0.
Ладно, не буду настаивать
То, что всё добавилось без проблем я увижу и так.