Корзина наше всё
Сегодня зашёл на свой уютненький и переср испугался. Сайт был девственно пуст. Вообще. Сначала до меня не дошло: думал, может сломал меня кто? А потом наступило просветление: с моей тягой к юзабилити вся функциональность, сделанная через JS, корректно продублирована обычными ссылками на случай отсутствия у юзера этого самого JS. Сюда включаются все функции админки, в том числе удаление записей/разделов и т.п. А вчера вечером я решил побаловаться линкчекером и натравил его на свой сайт с админской авторизацией. Он честно проверил всё, пройдясь кроме всего прочего по админке... И заодно потёр всё содержимое.
В первую секунду просветления мне стало нехорошо. Потом я начал вспоминать, что в своё время не поленился сделать «Корзину», зашёл в неё (благо админскую учётку удалить из-под неё самой нельзя) и возрадовался: всё было на месте! Пара кликов мышей и сайт оживлён. Единственное, что не убалось пока восстановить (надо будет посмотреть старые бекапы, если хостер такие делает), так это «Поток сознания»: там я намеренно упростил реализацию, так что корзина его не обслуживает. Ну да это не очень жалко.
В общем морали две:
- Админ! Не пускай косого юзера к рутовой админки! Никогда и ни за что! От дураков 100% защиты нет! А дурость есть у всех. Включая создателя сайта.
- Разработчик! Помни: лень — смертный грех! Фича, отложенная на потом, может стоить юзеру массива данных. И ещё чего-нибудь в довесок.
P.S. Теги тоже пострадали. Их реально жалко. Пошёл искать пароль от админки хостинга и искать бекапы...