Я не думаю, что будет хорошей идеей опубликовать ошибку mysql при сбое.
or die("MySQL Error: ".mysql_error());
Когда дело доходит до этого, я бы сказал, что чем меньше информации вы вернули, тем лучше. Предоставлять информацию, которая может сообщить человеку, пытающемуся войти в систему, независимо от того, является ли имя пользователя или пароль ошибочным, не очень хорошо, это также относится и к тому, чтобы сообщить пользователю, какую базу данных вы используете, как ее запрашивают и т. Д.
Еще больше осознайте, что наиболее частым способом преодоления безопасности в таких ситуациях является социальная инженерия, и в этом случае не имеет значения, как вы хэшируете данные и т. Д. (Не то, что вы не должны) Просто сказать эта безопасность очень важна, и она не ограничивается тем, как вы храните и извлекаете данные.
Например, выполняется ли вход по зашифрованной линии? Есть ли какие-либо меры по обеспечению надежности пароля у пользователя? что происходит после того, как пользователь вошел в систему, как вы отслеживаете зарегистрированных пользователей по сравнению с теми, кто просто посещает сайт? Как вы предотвращаете сессионные поглощения и т. Д. Я не специалист по этой теме, но это широкая тема. Возможно, вы просто хотели прокомментировать код, который вы разместили, и в этом случае мой верхний абзац действительно должен был быть всем, что вам нужно было прочитать;) вместе с ответом Кроу Т. Робота:)