Страницы

Поиск по вопросам

суббота, 14 декабря 2019 г.

Защита от удаления

#php


У меня на сайте, есть ссылка с GET параметрами ?interface-admin=1&del-id=1 если на
неё нажать, то админ удалится.

Так вот, я это всё поместил в img 




и если это изображение загрузить, то админ удалится.

Как тут быть, что бы не подделывали запрос? Хранить всё в текстовых файлах?
    


Ответы

Ответ 1



Классика CSRF уязвимости. Во-первых: ничего не удаляйте и не изменяйте по GET-запросу. GET-запросы должны только читать, по стандарту полагается, что они не изменяют состояние системы, потому безопасны и могут выполняться многократно. Иногда даже без ведома пользователя, например, для фоновой подгрузки следующей страницы. Для изменения состояния используйте POST-запросы. Исключением является только та ситуация, когда вам действительно нужен GET-запрос. Например, для ссылки "отписаться" в рассылке или других, где вы понимаете, что и зачем делаете. Во-вторых: так же не составляет труда попросить выполнить браузер при заходе на специально-оформленную страницу простой POST-запрос без ведома пользователя (в частности, как результат XSS атаки). Изменяющие данные запросы должны быть защищены токеном безопасности, который должен передаваться вместе с запросом.

Ответ 2



Не совсем понял зачем тег , но лучше использовать метод POST как говорилось выше. У меня например при клике на кнопку вызывается модальное окно в котором спрашивается действительно ли я хочу совершить данное действие, будь то удаление или редактирование (так сказать защита от случайного действия), при нажатии на кнопку "Да" отправляется AJAX запрос с данными (например ID) методом POST после чего обрабатывается и выполняется действие, и то при условии что уровень доступа администратор, а при нажатии кнопки "Отмена", модальное окно закрывается.

Комментариев нет:

Отправить комментарий