#php
У меня на сайте, есть ссылка с GET параметрами ?interface-admin=1&del-id=1 если на неё нажать, то админ удалится. Так вот, я это всё поместил в img и если это изображение загрузить, то админ удалится. Как тут быть, что бы не подделывали запрос? Хранить всё в текстовых файлах?
Ответы
Ответ 1
Классика CSRF уязвимости. Во-первых: ничего не удаляйте и не изменяйте по GET-запросу. GET-запросы должны только читать, по стандарту полагается, что они не изменяют состояние системы, потому безопасны и могут выполняться многократно. Иногда даже без ведома пользователя, например, для фоновой подгрузки следующей страницы. Для изменения состояния используйте POST-запросы. Исключением является только та ситуация, когда вам действительно нужен GET-запрос. Например, для ссылки "отписаться" в рассылке или других, где вы понимаете, что и зачем делаете. Во-вторых: так же не составляет труда попросить выполнить браузер при заходе на специально-оформленную страницу простой POST-запрос без ведома пользователя (в частности, как результат XSS атаки). Изменяющие данные запросы должны быть защищены токеном безопасности, который должен передаваться вместе с запросом.Ответ 2
Не совсем понял зачем тег , но лучше использовать метод POST как говорилось выше. У меня например при клике на кнопку вызывается модальное окно в котором спрашивается действительно ли я хочу совершить данное действие, будь то удаление или редактирование (так сказать защита от случайного действия), при нажатии на кнопку "Да" отправляется AJAX запрос с данными (например ID) методом POST после чего обрабатывается и выполняется действие, и то при условии что уровень доступа администратор, а при нажатии кнопки "Отмена", модальное окно закрывается.
Комментариев нет:
Отправить комментарий