tying
parent::show();这个东西不是调用了吗?
- tying 回答了问题 【面试题】编写一个 SQL 查询来实现分数排名
没看懂题目,也没看懂答案,这两个子查询在做什么呢?
我解释下吧,不然可能会让其他人误会
在contorller中写上传增改数据内容都是这样写<?php public function actionName(){ $model = new Tablename(); if($model->load(Yii::$app->request->post()) && $model->validate()){ ....... //上传图片 $model->pic= UploadedFile::getInstance($model, 'pic'); $t = Yii::$app->user->identity->id."_".str_replace(".",'',uniqid('',true)).mt_rand(1000,9999); $xlsaddr = 'uploads/'. $t . '.' . $model->pic->extension; //将项目移动到$xlsaddr路径位置 $model->pic->saveAs($xlsaddr); $model->save() } return $this->render("viewname",['model'=>$model]) } ?> modle中的rule为下 <?php public function rules() { return [ [['pic', ], 'file','extensions' => 'jpg,png,jpeg,bmp,JPG,PNG,JPEG,BMP'], ]; } ?>
以上代码存在上传漏洞,即$model->validate(),这个验证对上传文件的验证为前端js验证,后台没有验证pic的文件上传。测试方法,为在浏览器设置禁用js(不会设置请百度),然后按照规则填写表单,在上传图片时,上传个php文件,如果上传成功,恭喜你,你的网站被别人搞下来了
嗯,是这样的。我已经说明了我上面的代码是存在漏洞的。也有可能是我没有表述清楚吧
- tying 回复了话题 yii2文件上传中关于modle文件验证有漏洞
声明:
我发起这个话题的初衷
一是为了让官方看看能不能通过更新版本源码修补下这个安全漏洞
二是为了让不知道这个漏洞的程序能够看到,增加自己网站的安全性,要是您的防火墙和或者安装了什么硬件防护buff什么的,护非常牛逼,不需要理会安全漏洞,可以当这个话题时是个屁放了
至于解决方案,方法千千万,大家可以相互讨论下,达到效果就好 - tying 回复了话题 yii2文件上传中关于modle文件验证有漏洞
这话题只留三天,过后删掉,东西比较敏感
- tying 回复了话题 yii2文件上传中关于modle文件验证有漏洞
我解释下吧,不然可能会让其他人误会
在contorller中写上传增改数据内容都是这样写<?php public function actionName(){ $model = new Tablename(); if($model->load(Yii::$app->request->post()) && $model->validate()){ ....... //上传图片 $model->pic= UploadedFile::getInstance($model, 'pic'); $t = Yii::$app->user->identity->id."_".str_replace(".",'',uniqid('',true)).mt_rand(1000,9999); $xlsaddr = 'uploads/'. $t . '.' . $model->pic->extension; //将项目移动到$xlsaddr路径位置 $model->pic->saveAs($xlsaddr); $model->save() } return $this->render("viewname",['model'=>$model]) } ?> modle中的rule为下 <?php public function rules() { return [ [['pic', ], 'file','extensions' => 'jpg,png,jpeg,bmp,JPG,PNG,JPEG,BMP'], ]; } ?>
以上代码存在上传漏洞,即$model->validate(),这个验证对上传文件的验证为前端js验证,后台没有验证pic的文件上传。测试方法,为在浏览器设置禁用js(不会设置请百度),然后按照规则填写表单,在上传图片时,上传个php文件,如果上传成功,恭喜你,你的网站被别人搞下来了