Как зашифровать или скрыть «значение» в опции «Выбрать тег (HTML)» - MVC 5 - PullRequest
0 голосов
/ 30 августа 2018

Я отправляю список пользователей из контроллера в View.

Мое действие:

public ActionResult Users()
    {
        ViewBag.UserList = new SelectList(db.Users.ToList(), "Id", "UserName");
        return View();
    }

Я заполняю раскрывающийся список следующим:

 @Html.DropDownList("Users", (SelectList)ViewBag.UserList, "Select Users", new { @class = "required form-control" })

Когда я открываю инструмент разработчика в Chrome, я вижу значение параметра Вот так:

<select class="required form-control" id="User_UserRole" name="Users" type="hidden">
<option value="">Select User</option>
<option value="3aeca037-99d1-4cb2-a08c-6a5a3427f35c">admin</option>
<option value="3df4ebc6-f7ee-44b9-9f0b-2083e5921aac">superadmin</option>
</select>

Как зашифровать или скрыть значение этого параметра
"value =" 3aeca037-99d1-4cb2-a08c-6a5a3427f35c "
в выбранном теге, так что его безопасно использовать. Пожалуйста, помогите!

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Делая это, вы можете скрыть значение параметра

<option value="k" style="display:none;">kumar</option>
0 голосов
/ 30 августа 2018

Ничто из происходящего в браузере не может считаться безопасным или скрытым.

То, что вы хотите, просто невозможно.

Любые чувствительные к безопасности операции должны выполняться на сервере. Если вы хотите позволить пользователю выбирать между «admin» и «superadmin», просто дайте им эти опции в раскрывающемся списке, а затем, когда они отправляют форму, используйте код на стороне сервера, чтобы решить, что, если что-либо, вы хотите сделать.

Если вы не хотите, чтобы они видели один или несколько параметров, не генерируйте тег <option> для элементов, которые вы не хотите показывать.

Кроме того, убедитесь, что вы не разрешаете недопустимые параметры на стороне сервера в зависимости от ввода пользователя. Например, если вы хотите разрешить только «admin», убедитесь, что, если они вручную создают параметр «superadmin» и отправят его, вы отклоните это на стороне сервера.

Ничему, что приходит из внешнего мира, нельзя доверять.

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