Как предотвратить XSS-атаку на выбранный window.location в javascript - PullRequest
3 голосов
/ 04 августа 2020

Это мой код, в котором я использую метод SwitchUser_Click. Мне нужно предотвратить или каким-либо образом закодировать возвращаемое значение switchUser_Click, поскольку оно включает UserId пользователя, уязвимого для XSS-атаки или взлома.

function SwitchUser_Click(containerElement, OnSuccess) {
            var selecteduserId = $("select", containerElement).val();
            var makeDefault = $(":checkbox", containerElement).is(":checked");
            window.location = "Default.aspx?uId=" + selecteduserId + "&userActive=" + (makeDefault ? "1" : "0");
            OnSuccess();
        }

Приведенный ниже код вызывается со страницы aspx с помощью Client.RegisterScript и передать параметры.

function OpenSwitchUser(UserId,modCode,defUrl) {
            defaultUrl = defUrl;
            var options =
            {
                controlUrl: "~/Controls/SwitchUserDialog.ascx",
                params: { uid:UserId, mod: modCode},
                top: 70,
                width: 600,
                height: 2500,
                OKCallback: SwitchUser_Click,
                InitCallback: SwitchUserDialog_Init,
                cancelCallback: SwitchUser_Close
            };
            $.showControlDialog(options);
        }

Моя страница aspx.cs вот проблема, мне нужно найти лучший подход к этой части

var parameterUserId = Request.QueryString["uId"]; //problem need a better appoach

Я хочу знать, как кодировать мои userId в методе SwitchUser_Click и декодировать его при вызове. Или, может быть, есть другой способ сделать это. Спасибо

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