魔术方法 __init__:方法作用是给对象的属性进行赋值 __str__:print(keyou) 直接打印对象的时候会调用 __str__ 方法,一定只能返回字符串 __call__:(译:靠)对象.()自动调用,位置参数被args接收为元祖,关键字参数被kwargs接收 _getitem__: ...
分类:
编程语言 时间:
2020-04-21 12:40:54
阅读次数:
71
在做BJDCTF中的题目XSS之光的时候遇到了PHP原生类的反序列化,以前没有了解过,现在来学习一波。 基础知识 首先还是来回顾一下序列化中的魔术方法,下面也将以此进行分类来进行研究。 当对象被创建的时候调用:__construct 当对象被销毁的时候调用:__destruct 当对象被当作一个字符 ...
分类:
Web程序 时间:
2020-04-03 00:58:20
阅读次数:
210
魔术方法: PHP把类中所有以__(两个下划线)开头的方法当成魔术方法,一般建议用户不要将自定义的方法前面加上__作为前缀。魔术方法: 1. __construct() 类的默认构造方法,如果__construct()和与类同名的方法共同出现时,默认调用__construct()而不是同类名方法。一 ...
分类:
Web程序 时间:
2020-03-18 15:41:00
阅读次数:
66
魔术方法: 魔术方法就是一个类/对象中的方法,和普通方法唯一的不同时,普通方法需要调用!而魔术方法是在特定时刻自动触发。 1.__init__ 初始化魔术方法 触发时机:初始化对象时触发(不是实例化触发,但是和实例化在一个操作中) 参数:至少有一个self,接收对象 返回值:无 作用:初始化对象的成 ...
分类:
其他好文 时间:
2020-02-25 17:24:56
阅读次数:
82
一 __del__ 魔术方法(析构方法) 1.1 介绍 触发时机:当对象被内存回收的时候自动触发[1.页面执行完毕回收所有变量 2.所有对象被del的时候] 功能:对象使用完毕后资源回收 参数:一个self接受对象 返回值:无 1.2 页面执行完毕回收所有变量 class Plane(): def ...
分类:
编程语言 时间:
2020-02-22 17:19:42
阅读次数:
81
魔法方法 有触发时机在满足条件时自动触发就是魔术方法 __init__:对象初始化方法 __new__:创建对象时候执行的方法,单列模式会用到 __str__:当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在 这个方法中return的数据 __del__ ...
分类:
编程语言 时间:
2020-02-22 14:18:45
阅读次数:
67
一 __new__ 魔术方法 1.1 介绍 触发时机:实例化类生成对象的时候触发(触发时机在__init__之前) 功能:控制对象的创建过程 参数:至少一个cls接受当前的类,其他根据情况决定 返回值:通常返回对象或None 对象.属性 对象.方法() 类.属性 类.方法() 1.2 基本用法 cl ...
分类:
编程语言 时间:
2020-02-22 13:32:42
阅读次数:
108
题目(攻防世界): __construct和__destruct的魔术方法是默认执行的,我们可以忽视他们,__wake up执行以后会返回当前主页上,需要绕过,下面的正则匹配preg_match也需要绕过,flag在f14g.php里 绕过之后就需要传个var的值,值为base64编码以后的序列化 ...
分类:
Web程序 时间:
2020-02-20 17:00:18
阅读次数:
87
知识点 php序列化与反序列化 序列化:函数为serialize(),把复杂的数据类型压缩到一个字符串中 数据类型可以是数组,字符串,对象等 反序列化:函数为unserialize(),将字符串转换成变量或对象的过程 常用的魔术方法: __construct():创建对象时初始化,当一个对象创建时被 ...
分类:
Web程序 时间:
2020-02-18 18:03:13
阅读次数:
86
python的魔术方法大全 魔法方法 含义 基本的魔法方法 __new__(cls[, ...]) 1. __new__ 是在一个对象实例化的时候所调用的第一个方法 __init__(self[, ...]) 构造器,当一个实例被创建的时候调用的初始化方法 __del__(self) 析构器,当一个 ...
分类:
编程语言 时间:
2020-02-18 09:28:21
阅读次数:
73