Безопасно Показать и опубликовать форму - PullRequest
2 голосов
/ 26 сентября 2019

предположим, что вы показываете форму, используя beginform

 <div class="col-md-6">
     <div class="form-group">
                                @Html.LabelFor(m => m.IsLock, new { @Class = "col-md-12 control-label" })
                                <div class="col-md-12">
                                    @using (Html.BeginForm("ChangeLockUser", "UserAdmin", new { area = "Admin", id = Model.UserId }, FormMethod.Post))
                                    {

                                        @Html.AntiForgeryToken()
                                        @Html.Hidden("returnUrl", Url.Action("Details", "UserAdmin", new { Area = "Admin", id = Model.UserId }))
                                        <div class="input-group mb-3">
                                            @Html.TextBox("LockStatus", Model.IsLock ? "غیر فعال" : "فعال", new { @class = "col-md-12 form-control", @readonly = "readonly" })
                                            <div class="input-group-append">
                                                <button type="submit" class="btn btn-outline-secondary">@(Model.IsLock ? "فعال شود" : "غیرفعال شود")</button>
                                            </div>
                                        </div>
                                    }
                                </div>
                            </div>

, перед отправкой я могу легко изменить Id в почтовом адресе, чтобы форма манипулировала другой записью !!!

есть лиспособ решить эту проблему безопасности?

спасибо

1 Ответ

0 голосов
/ 26 сентября 2019

Не используйте UserId во внешнем интерфейсе, вы можете получить текущего зарегистрированного пользователя в Controller внутри ActionResult, например

using Microsoft.AspNet.Identity;


string currentUserId = User.Identity.GetUserId();

Получить UserId после отправки, а затем использовать его.

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