Laravel, как заблокировать или защитить идентификатор в маршруте - PullRequest
0 голосов
/ 03 июля 2018

У меня есть пользовательский сброс пароля в моем проекте, где пользователь может изменить свой пароль, теперь, как я могу защитить маршрут, где пользователь не может манипулировать идентификатором .. У него в промежуточном ПО есть пароль?

Пример: http://localhost:8000/changepassword/1/edit если пользователь попытается изменить параметр id , он будет перенаправлен на страницу запрещенного доступа ... возможно ли это?

1 Ответ

0 голосов
/ 03 июля 2018

Да, это возможно

В вашей функции контроллера вы можете проверить текущий / логин и идентификатор пользователя и тот идентификатор, который вы собираетесь получить по URL

Также для пользователя-администратора вы можете добавить одно условие,

if(ADMINUSER || LOGIN_USER_ID == URL_ID){

}

Но я рекомендую добавить дополнительный столбец со случайной и уникальной строкой, использовать этот столбец вместо Id. В этом случае ваш URL будет выглядеть так

/ ChangePassword / wcdftgHYuj346DERFD / редактировать

тогда вам нужно получить пользователя на основе random_string 'wcdftgHYuj346DERFD'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...