Колко безопасно е внедряването на JSONP за функционалност за влизане

Използвам JSONP за удостоверяване при влизане, по-долу е примерен JQuery код:

$.ajax({  
        type:"GET",        
        url: "https://staging/login/Login.aspx",  // Send the login info to this page
        data: str, 
        dataType: "jsonp", 
        timeout: 200000,
        jsonp:"skywardDetails",
        success: function(result)
        { 
              //Do something after the success
        } 

    }); 

В кода по-горе имам HTTPS страница за удостоверяване, от полето за влизане в дневния прозорец изпращам потребителско име и парола до моя login.aspx страница, която извиква „УЕБ УСЛУГА“ като приема въведени данни, изпратени от диалоговата страница за влизане, и връща данните за потребителите като JSONP обект.

Въпросът ми е доколко безопасно е по-горе внедряването и също така предложете как мога да подобря внедряването си за сигурност.

Благодаря!


person Manoj Singh    schedule 23.12.2010    source източник


Отговори (1)


Стриктно за удостоверяване на потребителско име/парола, което е също толкова безопасно, колкото изпращането на формуляр за вход на същото място. Проблемът със сигурността ще дойде от това, което правите (или не правите) във функцията success и бъдещите заявки за ajax, тъй като javascript може да бъде подправен/променен в движение, за да се подправят променливите (по-специално userid), които сте задали.

person Ian Wetherbee    schedule 23.12.2010
comment
Благодаря @Ian, но както виждате, аз съм JSONP, така че не можем да имаме POST в ajax заявка, ще използвам GET само с горния подход. При успех просто задавам подробностите в страницата си, имам предвид данните за потребителя, които идват от страна на сървъра, просто ги показвам в страницата си в секцията Моят акаунт. моля предложете добре ли е? - person Manoj Singh; 23.12.2010
comment
Ако го използвате само за извличане на някои потребителски данни (име, местоположение и т.н.), тогава това е добре, макар и досадно за потребителя, тъй като ще трябва да влезе отново при следващото презареждане на страницата, тъй като не настройвате сесия. Предлагам ви да използвате удостоверяването, за да зададете идентификатор на сесия, след което да го използвате, за да удостоверявате следващи заявки. - person Ian Wetherbee; 23.12.2010