ranio Ответов: 2

Как избежать манипуляций с данными с помощью ASP.NET с помощью C#?


Я хочу, чтобы избежать манипулирования данными, используя asp.net с C#. Здесь я показываю всплывающий экран, и в том же самом коде javascript задаются данные и передаются на уровне сервера во всплывающем экране OIC.

Клиент может манипулировать счетом no: etc .

Что я уже пробовал:

Javascript вызывается как показано ниже:
function showModalWindowForUtilityOIC_PAUT(cntrl) {
    if (SessionTimeOutRedirection()) {
        
        var Bank = document.getElementById('ctl00_cphDDS_ddlBankType').value;
        var dialogWindow = window.showModalDialog('ViewOIC.aspx?Bank=' + Bank + '&&Type=U&&InstructionCode=' + cntrl, 'mywindow', 'dialogWidth:875px; dialogHeight:400px; center:yes; status = no; toolbar = no; menubar = no');
        if (dialogWindow != null) {
            document.getElementById('ctl00_cphDDS_txtOrgIdCode').value = dialogWindow.OriginatorIdentificationCode;

            //Updated on 10.06.2019 for Cross Side Script Attack Start
            //document.getElementById('ctl00_cphDDS_lblSelectedOriginator').innerHTML = dialogWindow.CompanyName;
            document.getElementById('ctl00_cphDDS_lblSelectedOriginator').innerText = dialogWindow.CompanyName;
            //Updated on 10.06.2019 for Cross Side Script Attack End

            document.getElementById('ctl00_cphDDS_txtDDAReg').value = dialogWindow.Charge;
            document.getElementById('ctl00_cphDDS_hidSelectedOriginatorName').value = dialogWindow.CompanyName;
            document.getElementById('ctl00_cphDDS_txtsettlementAccno').value = dialogWindow.AccountNum;
            document.getElementById('ctl00_cphDDS_hidSettlementAcntNo').value = dialogWindow.AccountNum;
        }
        return true;
    }

2 Ответов

Рейтинг:
1

F-ES Sitecore

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


ranio

данные устанавливаются на стороне клиента и передаются оттуда на всплывающую экранную страницу. Проблема в том, что данными можно манипулировать в соответствии с упомянутой проблемой. Есть ли какой-либо способ избежать изменения данных, кроме возможности обрабатывать серверную сторону, особенно когда от нее уже зависит много страниц?

F-ES Sitecore

Нет, вы не можете остановить людей, меняющих его. Неважно, сколько раз вы спрашиваете, ответ всегда будет один и тот же. Вы говорите, что данные "установлены" на клиенте, откуда они берутся?

Рейтинг:
1

mirzakouchak

все конфиденциальные данные должны храниться на сервере а не на клиенте


ranio

данные устанавливаются на стороне клиента и передаются оттуда на всплывающую экранную страницу. Проблема в том, что данными можно манипулировать в соответствии с упомянутой проблемой. Есть ли какой-либо способ избежать изменения данных, кроме возможности обрабатывать серверную сторону, особенно когда от нее уже зависит много страниц?