前端er, 又称为切图仔,平时经常需要用 PSD 导出 PNG 或 JPG,但是导出来的的图片一般比较大,往往需要用一些其他工具压缩后再发布到生产环境. 以前常用的做法是,使用 image-webpack-loader ,在 webpack 打包项目时自动压缩图片.但是这 loader 是基于 imagemin 的,他的压缩失真比较严重,而且压缩率也不是很高.经常出现一种情况就是,在本地开发的时候,图片明明很清晰的,但是一旦发布到生产环境 ,因为经过了 img-webapck-loader 压缩…
更新日期: 2019/3/14:首次发布,更新了2018/12/30的UI以及反馈信息获取方式,具体请下载:demo. 2019/3/20:感谢544429676@qq.com指出的现存bug,已修复! 2019/4/12:修复bug以及增加引导,修改源码79行=>后台返回图片地址即可. 功能描述: 1. 支持限制上传图片 2. 支持不限制上传图片(最多选择9张) up-img 参数: 1. url:后端接收图片地址(必需参数) 2. count: 上传数量,默认1张 3. notli:不限制上…
0×01开场白 这个议题呢,主要是教大家一个思路,而不是把现成准备好的代码放给大家. 可能在大家眼中WAF(Web应用防火墙)就是"不要脸"的代名词.如果没有他,我们的"世界"可能会更加美好.但是事与愿违.没有它,你让各大网站怎么活.但是呢,我是站在你们的这一边的,所以,今天我们就来谈谈如何绕过WAF吧.之所以叫做"杂谈",是因为我在本次演讲里,会涉及到webkit.nginx&apache等.下面正式开始:) 0×02直视WAF: 作为…
最近做一个项目,有一个批量上传图片,并校验是否是图片和上传最大数量的需求.下面分享一下我的想法,欢迎大神探讨. 首先是在html中支持批量上传和接收图片(mac下设置了之后不存在类型校验),下面上html代码,非常简单的一句话:(我上的是优化后的) <div class="col"> <div class="col-item w20"> <label class="asterisk">资质证照</labe…
shopnc_activity 表注释: 活动表 字段 类型 空 默认 注释 activity_id mediumint(9) 否   id activity_title varchar(255) 否   标题 activity_type enum('1', '2') 是 NULL 活动类型 1:商品 2:团购 activity_banner varchar(255) 否   活动横幅大图片 activity_style varchar(255) 否   活动页面模板样式标识码 activity…
昨天初步将webuploader用在了项目中,但紧接着就发现了一个问题,每一个页面都需要写那么多初始化webUploader的代码,这样肯定是我不能接受的,于是花了半天时间对该控件进行了封装. 最后,只需要引用这一个js文件即可. <script src="~/webuploader/WebUploader_MVC.js"></script> 然后在视图里面加上这几句,其中input是用来在编辑视图中使用,其中PhotoUrls是视图实体属性,用来保存修改后所有…
前期准备: 1.angular.js 2.bootstrap.css 具体如何实现呢?请看下面代码哈哈哈. 在angular项目中,如果要给<input type="file">标签添加 onchange 事件,已:onchange="angular.element(this).scope().setImagePreviews()"  方式添加. html: <body ng-controller="main"> <…
介绍: Upload-labs是一个所有类型的上传漏洞的靶场 项目地址:https://github.com/c0ny1/upload-labs 思维导图: 小试牛刀: Pass-01 客户端js检查 思路:将PHP后缀的文件,改为.jpg格式的,然后上传抓包,将后缀名改回去,改成.php后缀的格式,即可绕过前端JS的校验 getshell Pass-02  直接上产PHP脚本文件,提示如下: 绕过思路:类型绕过: image/jpeg getshell pass-03 黑名单绕过,禁止上传.a…
@{ ViewBag.Title = "多文件上传测试"; } <h2>多文件上传测试</h2> <form action="/Demo/Index" method="post" enctype="multipart/form-data"> <input type="file" /><br /> <input type="file&…
//控制器文件 public function index(){ if(!empty($_POST)){ $file = $_FILES["file"]; if(!isset($file['tmp_name']) || !$file['tmp_name']) { $this->ajaxReturn(['code' => 401, 'msg' => '没有文件上传']); return false; } if($file["error"] >…