由Github被Hack联想到TP的安全性

浏览:686 发布日期:2012/03/08 分类:新闻动态
最近Github 被 Hack的事情经常被提及,由此联想到TP的安全性问题。熟悉TP的开发人员都知道TP有一个Create方法,可以完成表单数据自动创建功能,同样的,用户可以通过浏览器猜测字段,并伪造一些数据,而如果你没有做任何防护措施的话。官方的建议是Create方法配合自动验证和自动完成机制,例如,在自动验证里面对某些字段进行不能提交的验证,或者在自动完成里面对某些字段强制重新写入(包括状态、身份等等)。如果你不愿意用自动验证或者自动完成的话,还有一种方式是在使用Create方法之后,通过数据对象赋值的方式强制重新写入安全数据,例如:$User = M('User');
if($User->create()){
    // 关键代码在这里
    $User->status = 0; // 指定状态写入
    $User->is_admin =0; // 指定用户身份
    // 或者根据你的业务要求动态判断后强制写入
    // ... 后续进行保存操作
    $User->save();
}else{
    $this->error($User->getError());
}
后续改进请关注官方最新的开发版本更新。
评论( 相关
后面还有条评论,点击查看>>