保护我包含在jquery函数中的ajax请求

时间:2018-12-14 21:57:28

标签: jquery ajax asp.net-mvc security

我按照这种模式开发了一个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请求,这些请求将数据发送到服务器。 该Web应用程序管理用户帐户和个人资料,用户可以根据他们的个人资料和权限访问网页。

但是,具有适当权限并具有Web浏览器控制权的用户可以在Web浏览器中打开Inspect Panel,并找到这些jquery功能和ajax请求,并对其进行操作以将任何数据发送到服务器。

如何保护那些ajax请求?

我能看到的唯一解决方案是对ajax请求中作为参数发送的JSON数据进行加密。 但是即使这样,也可以在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);
            }
        });

那是正确的解决方案吗?

0 个答案:

没有答案