Защита моих запросов ajax, содержащихся в функциях jquery - PullRequest
0 голосов
/ 15 декабря 2018

Я разработал приложение ASP.NET MVC, следуя этому шаблону:

<div class="content-header row h-100 ">
    <div >
        <button type="button" id="btnOK" >
            OK
        </button>
        <div id='ShowResults'>
        </div>
    </div>
</div>

<script>
    $(function () {
        $('#btnOK').unbind('click').on('click', SaveDataInServer);
    });

    SaveDataInServer = function () {
        var data = { 'd1': 1, 'd2': 2};
        $('#ShowResults').empty();
        $.ajax({
            url: '@Url.Action("actionSaveData", "myController", new { area= "myArea" })',
            type: 'GET',
            cache: false,
            data: data,
            success: function (data) {

                $(#ShowResults).html(data);
            }
        });
    }
</script>

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

Однако пользователь, обладающий правами доступа и контролирующими веб-браузер, может открыть InspectЗайдите в веб-браузер и найдите эти функции jquery и ajax-запросы и манипулируйте ими для отправки любых данных на сервер.

Как обезопасить эти ajax-запросы?

Единственное решение, которое я видел, этодля шифрования данных JSON, которые отправляются в качестве параметра в запросе ajax.Но даже в этом случае такое шифрование можно увидеть в Inspect Panel.

Что-то вроде:

  var d1 = Encrypt('1');
        var d2 = Encrypt('2');
        var data = { 'd1': d1, 'd2': d2};

        $.ajax({
            url: '@Url.Action("actionSaveData", "myController", new { area= "myArea" })',
            type: 'GET',
            cache: false,
            data: data,
            success: function (data) {

                $(#ShowResults).html(data);
            }
        });

Может ли это быть правильным решением?

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