我目前正在开发工资单的Web应用程序项目。这个网站是公开的。我想使用jquery + ajax将服务器端lang的某些功能实现为jsp。有哪些指南有助于编写成熟,安全的代码。
答案 0 :(得分:1)
第1课
清理您的输入
您可以通过在表单等上引入客户端验证来实现这一点,但绝不依赖于此来为您的JSP提供干净的数据。您的JSP需要匹配已知良好输入的所有数据。如果任何输入与预期输入匹配,则应抛出一般错误。
我不能强调这一点,特别是对于薪资软件。
答案 1 :(得分:0)
登上白板并写下来。
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);
}
});