最近工作内容涉及到一点前端的内容,把学习到的内容记录下来,在今后的开发过程中,不要犯错。本篇只针对一些刚入职的小白及前端开发人员,大牛请绕道!~

  刚开始我们先不讲上传文件的防范问题,先通过一个例子,让大家了解其中的危害

  先给大家看一个简单的页面,细心的小伙伴已经发现了,这个上传按钮禁用状态

  接下来我们查看代码(代码比较简单)

  现在我们不拿人家源码的情况下,直接将源码修改掉,将按钮禁用状态解除

  注:方法比较简单,直接查看鼠标右击-->检查,找到那行禁用的代码,删掉即可

修改前:

修改后:

好了,前面只是热热身,只能防范一些不懂技术的人,对我们这群开发人员不管用。假设来一些骚的操作,写一个脚本,上传到服务器后,删库,后果可想而知。再次也希望开发人员在开发的过程中不要犯这种低级错误!!!

言归正传,下面开始将上传文件的三大处理范式

范式一(前端校验):

注:当然用户本地可以禁用JS,在此先不讨论这些!~

范式二(后端处理):

方式三(ISS处理):

 注:防不胜防,世上总有牛逼的人,已经突破前两道防线,直接来到第三道防线

当然还有其他的处理方法,欢迎下方留言,授人以鱼不如授人以渔~~~~~~~

最新文章

  1. Node.js包管理器Yarn的入门介绍与安装
  2. 按日期切割nginx访问日志--及性能优化
  3. 【转】SHELL中的IFS详解
  4. Python札记 -- 文件压缩
  5. PC-BSD 换名 TrueOS
  6. guava学习--事件驱动模型
  7. 使用页面Tag判断某个值为空值时,不能使用logic:equal(无效),可以使用logic:notPresent
  8. Asteroids (最小覆盖)
  9. XGBoost参数
  10. (转)TextView属性大全
  11. TC SRM 605
  12. 12款有助于简化CSS3开发的工具
  13. minicom移植到ARM开发平台
  14. java直接输出Excel 页面实现下载
  15. 辛巴达:帮电商打造ZARA式开放供应链体系 - 行业网站 - 亿邦动力网
  16. 免费SVN源代码在线托管
  17. CommonJS, AMD ,CMD之间的关系
  18. String和StringBuffer的区别?
  19. idea 转载
  20. 给datagridview的下拉框添加valueChange事件

热门文章

  1. Parallel file system processing
  2. R 语言学习(二)—— 向量
  3. WPF 控制程序只能启动一次
  4. Android TV开发中所有的遥控器按键监听及注意事项,新增home键监听
  5. 1.通过模板创建MAP版本项目
  6. 简明Python3教程 17.更多
  7. 面向对象举例(一) —— 顶点(vertex)、边(edge)与图(graph)
  8. Domain adaptation:连接机器学习(Machine Learning)与迁移学习(Transfer Learning)
  9. sql 多列求和
  10. style的继承