Christopher Fernandes Ответов: 2

Как скрыть AJAX-код jquery от пользователей


У меня есть этот проект (C# ASP.NET веб-формы и веб - службы), в которых я загружаю и связываю Результаты поиска с помощью jquery ajax. Он работает нормально и очень быстро.

Но единственная проблема, связанная с безопасностью, которая меня беспокоит, заключается в том, что код ajax javascript виден всем пользователям в инструментах разработки.

function loadEventNotification(refEventID, sequence, listActiveType, filterType) {
    try {
        var param = 'RefEventId : ' + JSON.stringify(refEventID) + ' , Sequence : ' + JSON.stringify(sequence) + ' , ListActiveType : ' + JSON.stringify(listActiveType) + ' , FilterType : ' + JSON.stringify(filterType);
        var notifID = 0;

        $.ajax({
            type: "POST",
            url: "../Services/CMEventDataService.asmx" + "/" + "CM_LoadEventNotificationWS",
            data: "{" + param + "}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (response) {
                var total = 0;
                if (response.d == 'NOAUTH') {
                    message = 'Error : Your are not authorised to access this service';
                }
                else if (response.d == 'ERROR') {
                    message = 'Error : Unable to find records';
                }
                else if (response.d != '') {
                    var list = eval(response.d.replace(/\\/g, "\\\\"));
                    total = list.length;

                    var notif = '';
                    $.each(list, function (k, v) {
                        //Some Html stuff gos here
                    });
                    $(document).find('#cdsn-items').html(notif);
                }
                else {
                    message = 'No matching records found';
                }
            },
            error: function (response) {
                message = 'Error : Unable to load records';
            },
            timeout: 120000
        });
    } catch (err) {
        console.log(err.message);
    }
}


Могу ли я в любом случае скрыть этот код от пользователей?

Как только кто-то сможет увидеть код JS ajax, он получит URL-адрес веб-службы. Я убедился, что веб-служба не может быть вызвана из других доменов (ошибка NOAUTH)

Но тем не менее, код открыт в инструментах разработки

Есть предложения? высоко оценить

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

Я пытался найти способы вызова серверного кода, но пока ничего не помогало

F-ES Sitecore

Даже если бы вы могли скрыть код, я все равно мог бы использовать вкладку Сеть, чтобы увидеть, какие URL-адреса вы запрашиваете. Кстати, не обновляйте свой вопрос, чтобы спросить, как отключить инструменты разработки, это тоже не решение. Решение заключается в том, чтобы не создавать клиентскую систему, которая полагается на секретность.

2 Ответов

Рейтинг:
1

Member 14924824

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


Рейтинг:
0

OriginalGriff

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