Wesley13 Wesley13
3年前
thinkphp 3.x下的任意文件包含(有条件)分析
漏洞原理实现自己的模版引擎不当,在模版渲染的情况下存在任意变量覆盖漏洞。。漏洞详情漏洞位置1ThinkPHP/Library/Think/View.class.php需要修改配置文件指定TMPL\_ENGINE\_TYPE为phpif('php'strtolower(C('TMPL_ENGINE
Wesley13 Wesley13
3年前
Java Stream
1Stream简介Stream是数据渠道,用于操作数据源(集合,数组等)所生成得元素序列。而集合讲得是数据,流讲得是计算。注意:Stream自己不会存储元素。Stream不会改变源对象。相反,它会返回一个持有结果得新StreamStream操作时延迟执行得,这意味着它们会等到需要结果时才执
Stella981 Stella981
3年前
Iterator to list的三种方法
Iteratortolist的三种方法简介集合的变量少不了使用Iterator,从集合Iterator非常简单,直接调用Iterator方法就可以了。那么如何从Iterator反过来生成List呢?今天教大家三个方法。使用while最简单最基本的逻辑就是使用while来遍历这个Iterator,在遍历的过程中将I
Stella981 Stella981
3年前
Redis的安装配置和使用
  现在我来讲解一下Redis的安装和配置,那么什么是Redis呢?他的作用是什么呢?  redis是一个keyvalue存储系统,和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset有序集合)和hash(哈希类型)。这些数据类型都支持push/
Stella981 Stella981
3年前
Python Day24:类的继承、派生、覆盖、super()、绑定、非绑定方法
类的继承、派生、覆盖、super()python类的继承:子类继承父类,只需要在定义类的时候在类名后面加上(父类名)。继承之后,父类的属性方法、子类都可以访问派生:子类继承父类后,自己在父类的基础上,又添加了一些属于自己特性的属性、方法
Wesley13 Wesley13
3年前
Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
本文非常详尽地介绍了Java中的三个集合类ArrayList,Vector与Stack《Java集合详解系列》是我在完成夯实Java基础篇的系列博客后准备开始写的新系列。这些文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看https://github.com/h2pl/JavaTutorial(
Stella981 Stella981
3年前
Ruby2.3.3操作MongoDB入门(Mongo驱动版本2.4.3)
接着上篇博文,继续学习Ruby操作Mongo数据库,本博文介绍的是MongoDB的基本数据,即数据库的CRUD操作(创建,查询,更新,删除)1.创建一个集合,插入一个文档1.1如果是将单个文档插入结果,使用insert\_one方法;选择集合people,操作语句collectionclient\:people\定义要插入的文档数据和
Wesley13 Wesley13
3年前
Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合
点波关注不迷路,一键三连好运连连!!file(https://oscimg.oschina.net/oscnet/up0093887e2da8d2b3869c21446feee7bbf04.png)先贴上几个案例,水平高超的同学可以挑战一下:1.从员工集合中筛选出salary大于8000的员工,并放置到新的集合里。2.统计
并发编程-ExecutorCompletionService解析
1、简单介绍我们在并发编程中,目前大部分做法都是将任务添加到线程池中,并拿到Future对象,将其添加到集合中,等所有任务都添加到线程池后,在通过遍历Future集合,调用future.get()来获取每个任务的结果,这样可以使得先添加到线程池的任务先等待
nvme磁盘故障注入方法
在存储系统中,磁盘的故障是很可能出现的问题。存储软件的设计需要对故障进行处理,提高系统的健壮性。然而磁盘的故障是不可控的,当我们想测试软件故障处理的分支时,不是很方便。用软件模拟的方法能覆盖的场景比较少,而且和实际故障的差距会比较大。因此,如果能让故障下沉到磁盘,尽可能的靠近磁盘,才能构造出尽可能真实的故障场景。本文针对nvme磁盘,在磁盘驱动这一层调研了几种可以注入磁盘故障的方法。