SiteEd
Было решено создать инструмент, позволяющий работать с удалёнными сайтами прямо из браузера. Поиск по аналогичным проектам показал, что таковых нет.
При этом была поставлена задача создать безопасный способ авторизации, чтобы можно было открыто передавать файл с зашитым паролем заказчику, для размещения на хостинге. Так же была поставлена задача защитить пароль при передаче по открытым сетям, например из гостиницы отеля, где вы в данный момент отдыхаете, а нужно срочно починить сайт. Пароль шифруется в два ключа, по которым нельзя вычислить его, или воспользоваться этими ключами для входа на сайт.
Скрипт спроектирован таким образом, чтобы не выдавать свое местоположение, поэтому реализован в виде одного PHP файла, в который зашиты все сопутствующие файлы (js, css, картинки), из-за этого он и имеет такой большой объём (около 1 Мб), основную часть занимают изображения и js библиотеки.
В данный момент разрабатывается модуль для работы с базами данных. В отличие от PHPMyAdmin, SiteEd предназначен в первую очередь для работы с данными в таблицах. Благодаря этому можно получить удобный инструмент, чтобы производить некоторые редкие операции прямо в базе, экономя на необходимости программировать интерфейс управления этими данными при написании системы управления сайтом.
Для удобства, на сайте проекта можно собрать предназначенный именно для вас файла, при этом спрашивается ваш пароль, но он не передаётся на сервер, отправляются только два хеша пароля, которые формируются прямо в браузере. Но и они тут же забываются, как только будет сформирован ваш siteed_login.php скрипт.
Если же вы не доверяете сборщику скрипта, то можете ввести любой логин/пароль, и потом уже вставить хеши своего пароля вручную в начало скрипта, а сам файл переименовать как вам будет угодно.
Функции для формирования хешей (на PHP) следующие:
php:
PSW_HASH1: hash_hmac('sha1', 'password', 'login')
PSW_HASH2: hash_hmac('sha1', hash_hmac('sha1', ('login', 'password'), 'login')
После этого вы получаете персональный инструмент для работы с вашими сайтами. Можете передавать его кому угодно, например для размещения на хостинге, где необходимо выполнить какую-либо работу, воспользоваться вашим скриптом сможете только вы.
Сейчас при работе в открытых сетях защищен лишь пароль, но скоро будет защищена и сама сессия. Это не поможет от MitM-атаки, но хотя бы позволяет работать безопасно при простом прослушивании трафика. Не забывайте, что сами данные при этом передаются открыто, поэтому если откроете на редактирование текстовый файл, содержащий пароли, то они будут скомпрометированы. В этом случае желательно использовать https протокол для работы с SiteEd.
П.С.: в данный момент происходит переосмысление интерфейса SiteEd, он станет очень удобным и минималистичным, при этом богатым функционально.
П.П.С.: проект закрыт