niushop设计关于系统安全经验

Niushop开源商城系统安全建议


  1. 防止sql注入

thinkphp查询针对sql注入有明确的防止方法,所以查询数据尽量使用数组进行字段组合,防止使用连接sql查询表达式

比如:上面实例通过数组组合形式查询数据这样可以针对sql注入进行转义,下面直接字符串组装形式,不会对查询进行转义,易被sql注入。

/**
 * 获取公告详情
 */
public function getNoticeDetail($id)
{
    $cache = Cache::tag("niu_notice")->get("getNoticeDetail" . $id);
    if (empty($cache)) {
        $notice = new NsNoticeModel();
        $res = $notice->getInfo([
            "id" => $id
        ]);//通过数组查询数据
        Cache::tag("niu_notice")->set("getNoticeDetail" . $id, $res);
        return $res;
    } else {
        return $cache;
    }
}
/**
 * 获取公告详情
 */
public function getNoticeDetail($id)
{
    $cache = Cache::tag("niu_notice")->get("getNoticeDetail" . $id);
    if (empty($cache)) {
        $notice = new NsNoticeModel();
        $res = $notice->getInfo("id=".$id);//错误方式,通过直接组合字符串查询
        Cache::tag("niu_notice")->set("getNoticeDetail" . $id, $res);
        return $res;
    } else {
        return $cache;
    }
}

2. 防止上传漏洞

niushop针对不同的文件形式上传进行了专门的封装,这样只要按照指定要求格式上传就可以了,具体上传类在data/service/Upload.php,实现方法参考后台功能开发中上传开发.

上传类中定义了普通图片,文件,压缩文件,相册图片的上传设置,如果不能满足需求可以根据实际情况进行开发.

3. 增加访问权限,守住上传路径关卡

nginx或者apache针对上传目录upload增加不能访问php文件限制

例如apache: RewriteRule upload/(.*).(php)$ – [F]

4. 配置文件读写权限防止文件篡改

配置系统除upload,以及runtime输入755权限,其他文件以及文件夹555权限

5. 配置模板访问权限,针对特定模板防止其他人盗用

针对系统文件路径中wap与web目录可以设置访问权限,防止外部访问html文件。

6. 其它的一些安全建议

  • 对所有公共的操作方法做必要的安全检查,防止用户通过URL直接调用;
  • 不要缓存需要用户认证的页面;
  • 对用户的上传文件,做必要的安全检查,例如上传路径和非法格式;
  • 对于项目进行充分的测试,不要生成业务逻辑的安全隐患(这可能是最大的安全问题);
  • 最后一点,做好服务器的安全防护,安全问题的关键其实是你的最薄弱的环节;

转载于:https://my.oschina.net/u/3499469/blog/3067616

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值