Привет! Написал сайт на PHP MVC: Пользовательская часть - только get методы, путь - site.local/. Т.е. пользователи только читают, форм у них нет. Админка - там уже можно редактировать заметки, загружать файлы, путь - site.local/admin/ - директория защищена паролем, т.е. настроены файлы .htaccess и .htpasswd - это норм, обойти же нельзя? Файлы загружаются в site.local/files/ Читал, что взломщики загружают файлы в директории с правами 777. Как это через один хост в другой? Я бы хотел попробовать на примере своего сайта. попробовать загрузить и запустить загруженные файлы. Кстати, на сайте в роутер записаны пути, по которым может переходить пользователь (например page/1, article/3, короче формат site.local/article/число). И еще вопрос: php скрипты будут выполняться в директориях с правами != 777, например с правами 644? Можно ли отправить форму, например из www.site1.ru, указав в обработчик www.site2.ru/obrabotcik.php?
Этот адрес часто обстукивают различные боты в поисках админки. Лучше научиться как-нибудь скрывать админку, если она вообще нужна. Протокольная аутентификация/авторизация? Так мало кто делает. Все в основном используют куки. Если апач/пых может читать файлы, то они могут выполняться. Да, конечно. Заморочки могут быть только при использовании AJAX. --- Добавлено --- P.S. На обычных сайтах мне, например, нравится размещение админки на www-домене (или на любом другом): для авторизованных запросов выполняется админка, иначе – обычный 301-ый редирект (кроме POST-запроса для аутентификации).
Тогда, лучше уберу админку с хоста - будет только у меня в компе локалаьно. Все равно только я со своего ноута буду редактировать содержимое сайта. Куки. Да. Делал, давно. Есть свежий пример 2017-2018 гг.? Или хотя бы алгоритм... Т.е., ты можешь отправить данные на мой обработчик? Какие данные о БД для этого понадобятся тебе (сначала установить соединение с БД, далее сделать запрос,...)? Правильно я понял: админка, например www.skr.ru, сам сайт - www.site.ru?
А файлами есть возможность удаленно управлять? Они, может, и так доступны, проверь. Принципы защиты тут примерно такие же. Вплоть до использования нестандартного порта, подсчетов обстукивания порта перед его открытием и т.п. А если говорить о простом – используйте сложный пароль и периодически его меняйте. Для удобства можно совместить аутентификационные данные для доступа к БД и админке, т.е. не просто использовать одинаковые, а использовать админку, как оболочку к БД в плане аутентификации (имя БД конечно нужно прописать явно, если твоя админка не поддерживает выбор БД). Защиту от реал. хакеров, например шифрование трафика, пока затрагивать не будем. Их полно. Основная проблема – это проблема выбора. Можно и самому написать. ??? Зачем мне данные о БД? Состав полей, принимаемых обработчиком, я могу подсмотреть в форме. Кстати, один из способов защиты админки – куда-нибудь убрать форму входа, вплоть до локалки (закинуть на флешку или телефон, например). Как вариант. Но вообще я имел в виду: site.ru – морда, www.site.ru – админка, если в запросе присутствует валидный ключ авторизации, иначе – редирект на осн. хост.
)) мда... нет. Лан админку оставлю, спрячу куда-нибудь. +++ т.е. если АВТОРИЗАЦИЯ == TRUE, то разрешаем подключение к БД и прочие операции с БД? точно, соединение к БД создается же в обработчике. Хорошая идея. А как тогда авторизацию пройти, локально (в куках сохранится флаг "авторизация пройдена" и этот флаг увидит сайт)? понял. www.sitr.ru/тут_ключ_авторизации - т.н. токен?
Не. Если при подключении к БД с введенными аутентификационными данными доступ запрещен (или, как вариант, произошла любая ошибка подключения), не пускать в админку. Речь была о том, чтобы убрать только форму входа, а обработчик оставить. Ключ обычно передается в заголовках, в тех же куках (кстати, отчасти это тоже связано с безопасностью; в нашем ПО, например, вообще не используется ключ в адресе). Да, можно токеном называть. --- Добавлено --- Если не считать всякие подписки/отписки, активации/деактивации и т.п.
Может в сторону SSL копать? --- Добавлено --- т.е. header(token)? заголовок же перехватить невозможно?
Это только дополняет описанное. Я же писал выше про шифрование. ??? И что это? Нужно же использовать какой-то конкретный заголовок. Я выше писал, что обычно ключ авторизации передается в куке. Все возможно. Но «прослушивание» трафика относится к вопросу про SSL. В адрес ключ лучше не включать, чтобы по крайней мере в ссылках он не засвечивался. Или в кэше браузера, хотя куки тоже кэшируются, причем часто даже сверх нормы.