Но ты же зашла юзером в чей-то аккаунт, чтобы проверить работоспособность пароля, а это автоматически открывает доступ и к ЛС данного юзера. А искушение почитать личную переписку юзеров очень велико и некоторым, как ты писала, это доставляет наслаждение.
Что касается остального написанного тобой, это серьёзная уязвимость и брешь в безопасности и конфиденциальности, которой вообще не должно быть, независимо от владения сервером, где всё должно храниться в зашифрованном виде даже для владельца сервера. Нигде, если пароль утрачен, нет такой возможности, чтобы получить доступ к аккаунтам пользователей. А у тебя есть, хоть ты и не силовая структура, у которых свои хакерские программы взлома и дешифровки данных.
В зашифрованном виде форум хранит только пароли (а точнее - хеш, получаемый сверткой пароля с логином и еще с чем-то), тогда как личная переписка не шифруется, а потому может быть прочитана при наличии доступа к базе данных. А у админа сервера такая возможность есть всегда, тем более что ему по штату положено время от времени снимать с нее копии на случай глобального сбоя на сервере, когда структура базы данных может быть разрушена.
Тогда как "брешь в безопасности и конфиденциальности" абстрактной не бывает, а всегда явно подразумевает, от какого рода атак следует защищаться. Тут оно, как на войне
- от прилета ракет одна защита, от танковой атаки другая, от дронов третья, тогда как от самоубийства защиты нет - человек не может защититься от самого себя. В этой ситуации довольно странно выглядят попытки выстроить защиту от себя (типа зашифровать что-то так, чтобы он сам потом прочитать не мог). В самом деле, хирургу, когда пациент уже лежит лежит на операционном столе, ничего не стоит зарезать пациента скальпелем
, и здесь невозможно ничего придумать, чтобы защитить пациента от хирурга.
В самом общем случае защита хорошо работает лишь в отношении пользователей какой-то системы, но от самих разработчиков этой системы она не может быт защищена, когда они имеют к ней прямой доступ. То же обычно касается и эксплуатационников, которым вполне по силам перекрыть воду во всем доме или отключить в нем электричество
. Примерно такая же ситуация и в этим форумом, когда по прошествии 14-ти лет где-то 30% его скриптов были мной переписаны/модифицированы. Достаточно очевидно, что форум передо мной беззащитен
, как пациент перед хирургом. Т.е. при желании я бы смогла не только вытянуть из него любую информацию, но и изменить любую его реакцию. А раз так, то снова работает аналогия с операционной, когда хирургу целесообразно лечить больного вместо того, чтобы изобретать защиту пациента от самого себя.
К сожалению, даже в отношении скриптов форума я не всемогуща, а потому какие-то неприятности время от времени случаются. В частности досаждают случаи, когда у пользователя перестает подходить пароль. Причем, этот баг чаще всего встречается среди недавно зарегистрированных пользователей, тогда как у ветеранов форума такого обычно ни бывает. Проверки показывают, что что хэш, в котором шифруется пароль, при этом остается целым, а после восстановления пароля (тем же самым!) хэш становится другим. Между тем, алгоритм вычисления хэша настолько сложен, что мне не по силам определить, что в нем не так. Вот и приходится мне делать бэкдор для доставания паролей. т.к. иначе я не смогла бы их восстанавливать. Понимаю, что это отнюдь не идеальное решение проблемы, но не заставлять же мне пользователей регистрироваться вторично, когда у них на форуме накопился целый портфель постов?