На сайте есть мой раздел для управления сайтом и хотелось бы сделать для него хорошую авторизацию, чтобы туда никто не попал. Но поскольку будет всего 1 аккаунт, то настраивать БД и делать с ней защищенные подключения не имеет смысла, поэтому хотел узнать у вас. Можно ли как-то без БД создать защищеный аккаунт на сайте? Чтобы пароль нельзя было перехватить или посмотреть в файлах на сервере. Желательно это все на PHP. Может у PHP есть возможности шифрования, кроме md5()
Сделать авторизацию без БД можно.
Сессии
Используйте для этого сессии, а при авторизации проверяйте логин и пароль на тот, который записан в скриптах.
Ограничить доступ по IP
Проверяйте в скрипте авторизации совпадает ли IP по которому выдается сессия с вашим. Но здесь надо быть осторожнее и прежде проверить, чтобы сервер корректно определял IP (например, при неправильно настроенном проксировании Nginx с Apache IP-адреса могут определяться как локальные).
Пароль
Поможет хороший пароль, желательно 8-10 символов (разный регистр + включение спецсимволов). Хэшировать с помощью MD5 можно, но толку в этом будет мало.
SSL
Используйте защищенное соединение через HTTPS. Так вся информация передается в зашифрованном виде и даже в случае перехвата ее нельзя будет использовать.
Главное!
хотелось бы сделать для него хорошую авторизацию, чтобы туда никто не попал.
Взломать можно что угодно и кого угодно, были бы ресурсы и желание, благо есть множество возможностей для взлома не только на уровне web-приложения, но и сервера.
Обычно народ заморачивается с всевозможными проверками при авторизации, а взлом происходит элементарно на уровне самого приложения. Закачивают shell-скрипт и после этого можно читать и модифицировать все скрипты сайта. Убедитесь, что у вас достаточная безопасность на уровне самих скриптов. На практике никто не будет перехватывать или брутфорсить ваш пароль к админке, если он сложнее '12345'. Проверьте свою безопасность на SQL-инъекции, XSS-атаки и безопасную работу с файлами.
придумайте пароль более 8 символов, содержащий буквы разного регистра, цифры и спецсимволы, зашейте в код проверки авторизации в админке, при успешной авторизации добавляйте соль в сессию и при каждом действии, вообще при каждом делайте проверку на соответствие хэша Вашего авторизованного (ip, user agent, соли) с сессией, меняйте пароль раз в месяц и будет Вам счастье. а-ля открытый-закрытый ключ, где закрытый ключ - Ваш пароль, открытый ключ - хэш от данных по Вашему клиенту + соль.
Продвижение своими сайтами как стратегия роста и независимости