🌓

PHP代码审计-弱类型

php危险函数总结什么是危险函数 函数设计出来就是让人使用的,之所以危险,是因为其功能过于强大。开发人员特别是刚从业的人员很少很少会完整阅读整个文档,再或者是没有意识到当给这些函数传递一些非常规的,外部可控的参数会带来什么影响。 执行任意代码的函数 eval函数 assert函数 create_function 函数 preg_replace 函数 call...

阅读全文

PHP代码审计-反序列化漏洞

PHP反序列化漏洞序列化其实就是将数据转化成一种可逆的数据结构,自然,逆向的过程就叫做反序列化。php 将数据序列化和反序列化会用到两个函数:serialize 将对象格式化成有序的字符串;unserialize 将字符串还原成原来的对象。序列化的目的是方便数据的传输和存储,在PHP中,序列化和反序列化一般用做缓存,比如session缓存,cookie等。 ...

阅读全文

PHP代码审计-伪协议

PHP代码审计-伪协议什么是php伪协议在 PHP 中,”伪协议”是一种特殊的语法,用于访问不同的资源或执行特定的操作。这些伪协议以 php:// 开头,后面跟着特定的指示符或参数,以实现不同的功能。这些伪协议提供了一种方便的方式来处理各种输入输出操作,而不必依赖于实际的文件或网络资源。 简单的理解就是,在URL中使用特殊的协议前缀来指示PHP执行特定的代码...

阅读全文

PHP代码审计-变量覆盖

PHP变量覆盖1 register_global全局变量注册,本特性已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除。 当在php.ini开启register_globals= On时,代码中的参数会被用户提交的参数覆盖掉。 123456<?phpecho "Register_globals: " . (...

阅读全文

PHP代码审计-弱类型

PHP弱类型 == 和 === 的区别 强类型比较:===强类型比较在进行比较的时候,会先判断两种字符的类型是否相等,在比较数值 弱类型比较:==弱类型比较在进行比较的时候,会先将字符串类型转换成相同的类型,再比较,中间有一个强转的过程(优先转换为数字类型) ...

阅读全文

Java设计模式-桥接模式

来源:https://blog.csdn.net/ayunlong/article/details/130298468?spm=1001.2014.3001.5502 Java设计模式-桥接模式(Bridge Pattern) 将抽象与实现分离,使他们独立变化。解决继承带来的强耦合关系。使用组合关系代替继承关系 什么是桥接模式桥接模式(Bridge 模式)...

阅读全文

Java设计模式-适配器模式

来源:https://blog.csdn.net/ayunlong/article/details/130298340?spm=1001.2014.3001.5502 Java设计模式-适配器模式(Adapter Pattern) 适配器模式是一种“补救模式”,是系统开发完上线运行后需要扩展时使用,而不是系统设计时使用 什么是适配器模式适配器模式把一个类的...

阅读全文

Java设计模式-建造者模式

来源:https://blog.csdn.net/ayunlong/article/details/130298095?spm=1001.2014.3001.5502 Java设计模式-建造者模式(Builder Pattern) 工厂模式关注的是构建结果,一个工厂生产一类对象;而建造者模式关注的是构建过程,调用不同的方法生产不同的对象。 什么是建造者模式...

阅读全文

Java设计模式-原型模式

来源:https://blog.csdn.net/ayunlong/article/details/130298135 Java设计模式-原型模式(Prototype Pattern) 原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。这就是选型模式的用意。 一、什么是原型模式用...

阅读全文

Java设计模式-模板模式

来源:https://blog.csdn.net/ayunlong/article/details/130298080?spm=1001.2014.3001.5502 Java设计模式-模版方法模式(Template Method Pattern)一、什么是模版方法模式《JAVA与模式》一书中开头是这样描述模板方法(Template Method)模式的: ...

阅读全文