Защита форм, ссылок "Удалить" и других действий, зависящих от прав доступа текущего пользователя
Представим, что на вашем сайте выводится компонент новостей, в котором есть возможность удалить новость. Ссылка на удаление выглядит таким образом:
Код
www.mysite.ru/news/detail.php?ID=123&delete=Y
Далее недоброжелатель помещает эту ссылку в форуме, например, в теге <img src="" />. Зайдя на этот форум и будучи авторизованным на сайте , вы, ничего неподозревая, удалите новость c идентификатором 123. Т.о. даже несмотря на проверку прав доступа в компоненте, недображелатель сможет удалить новость на вашем сайте. Для защиты от таких атак следует дополнительно проверять идентификатор сессии текущего пользователя, передавая его в ссылке или в скрытом поле формы. Для этого в продукте есть ряд функций в помощь:
Указанный пример Александром Черкасовым не совсем корректен. Он будет работать для защиты от удаления вне своей сессии или поле разрыва сессии. Для защиты от удаления, в компоненте, после получения параметров, необходимо делать дополнительную проверку на соответствие прав.