что следует иметь в виду при написании защищенного кода ajax с использованием jquery для jsp - PullRequest
0 голосов
/ 10 октября 2009

В настоящее время я работаю над проектом веб-приложения для расчета заработной платы. этот сайт является публичным. Я хочу использовать JQuery + AJAX для реализации определенных функций с Lang стороны сервера в качестве JSP. Какие рекомендации полезны при написании зрелого, защищенного кода.

Ответы [ 2 ]

1 голос
/ 10 октября 2009

Занятие № 1

Санитарная обработка ваших входных данных

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

Я не могу не подчеркнуть это достаточно, особенно для программ расчета заработной платы.

0 голосов
/ 14 июля 2010

Садись на доску и пиши.

I promise to sanitize,filter and validate my data before any changes are made.
I promise to sanitize,filter and validate my data before any changes are made.
I promise to sanitize,filter and validate my data before any changes are made.
I promise to sanitize,filter and validate my data before any changes are made.
I promise to sanitize,filter and validate my data before any changes are made.
I promise to sanitize,filter and validate my data before any changes are made.

Теперь тогда.

Когда вы пишете такую ​​систему, вы должны сохранять свой код абстрактным. Не просто писать функцию для каждого действия, Пример

Не делай так.

function updateEmailAddress(id,email)
{
   $.post("ajax/updateEmail.php",{id:id,email:email});
}

updateEmailAddress(22,'some_new_email@mydomain.tld');

Сделайте это так, создайте систему многократно используемого кода.

System = {
   Send : function(location,method,data,callback)
   {
       //Send here to location via method with data and then invoke the callback
   }
}
Actions = {
    UpdateMail(id,mail)
    {
        System.Send('ajax/mailupdate.php','post',{id:id,email:mail},function(data){
           //Validate Server Responce
        });
    }
    CheckLoginState(callback)
    {
        System.Send('ajax/loginState.php','post',{},function(data){
           callback(data ? true : false);
        });
    }
    //ETC
    //ETC
}


Action.CheckLoginState(function(loggedin){
   if(loggedin){
      Action.UpdateMail(someId,SomeEmail);
   }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...