多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Niushop开源商城系统安全建议 --- 1. ### **防止sql注入** thinkphp查询针对sql注入有明确的防止方法,所以查询数据尽量使用数组进行字段组合,防止使用连接sql查询表达式 比如:上面实例通过数组组合形式查询数据这样可以针对sql注入进行转义,下面直接字符串组装形式,不会对查询进行转义,易被sql注入。 ```php /** * 获取公告详情 */ 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; } } ``` ```php /** * 获取公告详情 */ 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直接调用; * 不要缓存需要用户认证的页面; * 对用户的上传文件,做必要的安全检查,例如上传路径和非法格式; * 对于项目进行充分的测试,不要生成业务逻辑的安全隐患(这可能是最大的安全问题); * 最后一点,做好服务器的安全防护,安全问题的关键其实是你的最薄弱的环节;