论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
代码审计
[13606] 2019-01-02_菜鸟学代码审计:Xnuca2018-hardphp详细分析
文档创建者:
s7ckTeam
浏览次数:
1
最后更新:
2025-01-18
代码审计
1 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-58
6万
主题
-6万
回帖
-58
积分
管理员
积分
-58
发消息
2019-01-02_菜鸟学代码审计:Xnuca2018-hardphp详细分析
菜
鸟
学
代
码
审
计
:
X
n
u
c
a
2
0
1
8
-
h
a
r
d
p
h
p
详
细
分
析
l
e
e
s
w
i
F
r
e
e
B
u
f
2
0
1
9
-
0
1
-
0
2
0
x
0
1
题
目
题
目
这
个
题
目
考
的
是
代
码
审
计
这
个
题
目
考
的
是
代
码
审
计
g
e
t
s
h
e
l
l
。
赛
后
把
源
码
。
赛
后
把
源
码
d
o
w
n
下
来
结
合
大
佬
下
来
结
合
大
佬
w
p
复
现
了
一
下
。
代
码
审
计
考
察
面
比
较
广
,
也
复
现
了
一
下
。
代
码
审
计
考
察
面
比
较
广
,
也
比
较
适
合
新
手
练
手
,
涉
及
到
这
个
题
目
主
要
是
比
较
适
合
新
手
练
手
,
涉
及
到
这
个
题
目
主
要
是
p
h
p
m
v
c
框
架
、
框
架
、
s
e
s
s
i
o
n
机
制
以
及
反
序
列
化
的
问
题
。
菜
鸡
初
学
代
码
审
机
制
以
及
反
序
列
化
的
问
题
。
菜
鸡
初
学
代
码
审
计
,
写
的
比
较
详
细
,
不
当
之
处
请
指
正
计
,
写
的
比
较
详
细
,
不
当
之
处
请
指
正
:
)
百
度
网
盘
下
载
源
码
:
h
t
t
p
s
:
/
/
p
a
n
.
b
a
i
d
u
.
c
o
m
/
s
/
1
9
N
Z
d
h
o
V
b
F
y
9
s
h
Y
x
L
J
5
8
z
n
w
0
x
0
2
简
单
分
析
简
单
分
析
题
目
要
求
是
G
e
t
s
h
e
l
l
,
源
代
码
典
型
的
M
V
C
架
构
,
一
个
典
型
的
W
e
b
M
V
C
流
程
:
C
o
n
t
r
o
l
l
e
r
截
获
用
户
发
出
的
请
求
;
C
o
n
t
r
o
l
l
e
r
调
用
M
o
d
e
l
完
成
状
态
的
读
写
操
作
;
C
o
n
t
r
o
l
l
e
r
把
数
据
传
递
给
V
i
e
w
;
V
i
e
w
渲
染
最
终
结
果
并
呈
献
给
用
户
。
(
涉
及
到
p
h
p
M
V
C
开
发
请
参
考
这
篇
文
章
,
对
于
相
关
代
码
审
计
的
理
解
及
结
构
也
有
很
大
帮
助
-
-
>
h
t
t
p
:
/
/
w
w
w
.
c
n
b
l
o
g
s
.
c
o
m
/
S
t
e
v
e
n
-
s
h
i
/
p
/
5
9
1
4
1
7
5
.
h
t
m
l
)
所
给
代
码
主
要
有
这
么
几
个
文
件
(
夹
)
:
c
o
n
f
i
g
.
p
h
p
(
配
置
文
件
)
i
n
d
e
x
.
p
h
p
(
入
口
文
件
)
v
i
e
w
(
视
图
类
文
件
夹
)
m
o
d
e
l
(
模
型
类
文
件
夹
)
c
o
n
t
r
o
l
l
e
r
控
制
器
文
件
夹
里
的
B
a
s
e
C
o
n
t
r
o
l
l
e
r
.
p
h
p
和
m
a
i
n
C
o
n
t
r
o
l
l
e
r
.
p
h
p
这
两
个
文
件
是
主
要
文
件
,
主
要
是
对
其
他
文
件
定
义
的
类
进
行
调
用
,
包
括
跳
转
动
作
,
登
录
会
话
处
理
,
注
册
上
传
等
等
。
i
n
c
l
u
d
e
文
件
夹
两
个
文
件
M
y
S
e
s
s
i
o
n
H
a
n
d
l
e
r
.
p
h
p
和
S
e
s
s
i
o
n
.
p
h
p
两
个
文
件
,
主
要
处
理
s
e
s
s
i
o
n
会
话
处
理
。
l
i
b
文
件
夹
里
c
o
r
e
.
p
h
p
(
共
用
框
架
入
口
文
件
)
。
这
个
文
件
被
i
n
d
e
x
包
含
,
个
人
感
觉
类
似
主
文
件
,
涉
及
到
输
入
参
数
的
过
滤
处
理
和
关
键
函
数
的
定
义
以
及
关
键
类
的
定
义
(
M
V
C
类
)
0
x
0
3
c
o
r
e
.
p
h
p
文
件
分
析
文
件
分
析
首
先
是
6
3
~
6
6
行
对
输
入
参
数
的
处
理
:
可
以
看
出
e
s
c
a
p
e
对
输
入
参
数
进
行
了
黑
名
单
替
换
。
括
号
被
过
滤
的
话
基
本
上
注
入
比
较
难
了
。
涉
及
到
M
V
C
框
架
的
实
现
,
代
码
定
义
了
三
个
类
:
(
控
制
器
)
、
(
模
型
)
、
(
视
图
)
,
进
行
了
路
由
设
置
。
最
重
要
的
是
在
7
8
~
7
9
行
进
行
了
控
制
器
类
的
实
例
化
控
制
器
类
的
实
例
化
c
o
n
t
r
o
l
l
e
r
_
n
a
m
e
(
)
是
在
4
5
和
6
7
行
定
义
的
。
系
统
首
先
执
行
的
m
a
i
n
C
o
n
t
r
o
l
l
e
r
类
中
的
a
c
t
i
o
n
I
n
d
e
x
方
法
。
0
x
0
4
C
o
n
t
r
o
l
l
e
r
控
制
器
分
析
控
制
器
分
析
上
面
m
a
i
n
C
o
n
t
r
o
l
l
e
r
类
在
m
a
i
n
C
o
n
t
r
o
l
l
e
r
.
p
h
p
文
件
中
定
义
,
下
面
分
析
两
个
控
制
器
文
件
。
m
a
i
n
C
o
n
t
r
o
l
l
e
r
继
承
了
B
a
s
e
C
o
n
t
r
o
l
l
e
r
:
B
a
s
e
C
o
n
t
r
o
l
l
l
e
r
主
要
是
初
始
化
了
s
e
s
s
i
o
n
,
下
面
是
代
码
e
s
c
a
p
e
(
$
_
R
E
Q
U
E
S
T
)
;
e
s
c
a
p
e
(
$
_
P
O
S
T
)
;
e
s
c
a
p
e
(
$
_
G
E
T
)
;
e
s
c
a
p
e
(
$
_
S
E
R
V
E
R
)
;
/
/
e
s
c
a
p
e
函
数
在
1
5
3
行
定
义
f
u
n
c
t
i
o
n
e
s
c
a
p
e
(
&
$
a
r
g
)
{
i
f
(
i
s
_
a
r
r
a
y
(
$
a
r
g
)
)
{
f
o
r
e
a
c
h
(
$
a
r
g
a
s
&
$
v
a
l
u
e
)
{
e
s
c
a
p
e
(
$
v
a
l
u
e
)
;
}
}
e
l
s
e
{
$
a
r
g
=
s
t
r
_
r
e
p
l
a
c
e
(
[
"
'
"
,
'
'
,
'
(
'
,
'
)
'
]
,
[
"
‘
"
,
'
'
,
'
(
'
,
'
)
'
]
,
$
a
r
g
)
;
}
}
C
o
n
t
r
o
l
l
e
r
M
o
d
e
l
V
i
e
w
f
u
n
c
t
i
o
n
u
r
l
$
c
o
n
t
r
o
l
l
e
r
_
o
b
j
=
n
e
w
$
c
o
n
t
r
o
l
l
e
r
_
n
a
m
e
(
)
;
/
/
实
例
化
m
a
i
n
C
o
n
t
r
o
l
l
e
r
类
$
c
o
n
t
r
o
l
l
e
r
_
o
b
j
-
>
$
a
c
t
i
o
n
_
n
a
m
e
(
)
;
/
/
执
行
的
动
作
a
c
t
i
o
n
i
n
d
e
x
主
要
文
件
是
m
a
i
n
C
o
n
t
r
o
l
l
e
r
。
m
a
i
n
C
o
n
t
r
o
l
l
e
r
是
对
是
对
B
a
s
e
C
r
o
t
r
o
l
l
e
r
的
继
承
,
定
义
了
登
录
(
的
继
承
,
定
义
了
登
录
(
a
c
t
i
o
n
L
o
g
i
n
)
、
注
册
)
、
注
册
(
(
a
c
t
i
o
n
R
e
g
i
s
t
e
r
)
、
上
传
(
)
、
上
传
(
a
c
t
i
o
n
U
p
l
o
a
d
e
r
)
、
信
息
(
)
、
信
息
(
a
c
t
i
o
n
M
e
s
s
a
g
e
)
、
提
交
(
)
、
提
交
(
a
c
t
i
o
n
P
O
S
T
)
等
方
法
。
)
等
方
法
。
首
先
看
a
c
t
i
o
n
I
n
d
e
x
函
数
:
首
先
进
行
的
判
定
就
是
是
否
存
在
,
如
果
没
有
就
跳
到
登
录
界
面
。
登
陆
请
求
的
u
r
l
对
应
控
制
器
里
的
a
c
t
i
o
n
L
o
g
i
n
动
作
。
如
果
没
有
账
号
的
会
进
行
a
c
t
i
o
n
R
e
g
i
s
t
e
r
动
作
。
下
面
代
码
是
注
册
:
c
l
a
s
s
B
a
s
e
C
o
n
t
r
o
l
l
e
r
e
x
t
e
n
d
s
C
o
n
t
r
o
l
l
e
r
{
p
u
b
l
i
c
$
l
a
y
o
u
t
=
"
l
a
y
o
u
t
.
h
t
m
l
"
;
f
u
n
c
t
i
o
n
i
n
i
t
(
)
{
i
n
i
_
s
e
t
(
'
s
e
s
s
i
o
n
.
s
a
v
e
_
h
a
n
d
l
e
r
'
,
'
u
s
e
r
'
)
;
$
h
a
n
d
l
e
r
=
n
e
w
M
y
S
e
s
s
i
o
n
H
a
n
d
l
e
r
(
)
;
s
e
s
s
i
o
n
_
s
e
t
_
s
a
v
e
_
h
a
n
d
l
e
r
(
$
h
a
n
d
l
e
r
,
t
r
u
e
)
;
s
e
s
s
i
o
n
_
s
t
a
r
t
(
)
;
h
e
a
d
e
r
(
"
C
o
n
t
e
n
t
-
t
y
p
e
:
t
e
x
t
/
h
t
m
l
;
c
h
a
r
s
e
t
=
u
t
f
-
8
"
)
;
}
/
/
.
.
f
u
n
c
t
i
o
n
a
c
t
i
o
n
I
n
d
e
x
(
)
{
i
f
(
i
s
s
e
t
(
$
_
S
E
S
S
I
O
N
[
"
d
a
t
a
"
]
)
)
{
/
/
.
.
.
}
e
l
s
e
{
$
t
h
i
s
-
>
j
u
m
p
(
"
/
m
a
i
n
/
l
o
g
i
n
"
)
;
r
e
t
u
r
n
;
}
}
$
_
S
E
S
S
I
O
N
[
'
d
a
t
a
'
]
可
以
看
出
其
对
输
入
参
数
首
先
进
行
了
a
r
g
函
数
的
处
理
,
我
们
找
一
下
a
r
g
函
数
的
位
置
,
发
现
在
c
o
r
e
.
p
h
p
文
件
第
1
6
3
行
(
e
s
c
a
p
e
函
数
后
面
)
对
参
数
执
行
了
去
空
格
操
作
。
再
看
一
下
登
录
函
数
:
f
u
n
c
t
i
o
n
a
c
t
i
o
n
R
e
g
i
s
t
e
r
(
)
{
i
f
(
$
_
P
O
S
T
)
{
$
u
s
e
r
n
a
m
e
=
a
r
g
(
'
u
s
e
r
n
a
m
e
'
)
;
$
p
a
s
s
w
o
r
d
=
a
r
g
(
'
p
a
s
s
w
o
r
d
'
)
;
i
f
(
e
m
p
t
y
(
$
u
s
e
r
n
a
m
e
)
|
|
e
m
p
t
y
(
$
p
a
s
s
w
o
r
d
)
)
{
e
c
h
o
"
<
s
c
r
i
p
t
>
a
l
e
r
t
(
'
U
s
e
r
n
a
m
e
o
r
p
a
s
s
w
o
r
d
i
s
e
r
r
o
r
.
'
)
<
/
s
c
r
i
p
t
>
"
;
}
e
l
s
e
{
$
p
a
s
s
w
o
r
d
=
m
d
5
(
$
p
a
s
s
w
o
r
d
)
;
$
u
s
e
r
=
N
e
w
U
s
e
r
(
)
;
$
r
e
s
=
$
u
s
e
r
-
>
q
u
e
r
y
(
"
S
E
L
E
C
T
*
F
R
O
M
`
{
$
u
s
e
r
-
>
t
a
b
l
e
_
n
a
m
e
}
`
W
H
E
R
E
`
u
s
e
r
n
a
m
e
`
=
'
{
$
u
s
e
r
n
a
m
e
}
'
"
)
;
i
f
(
!
e
m
p
t
y
(
$
r
e
s
)
)
{
e
c
h
o
"
<
s
c
r
i
p
t
>
a
l
e
r
t
(
'
U
s
e
r
n
a
m
e
i
s
r
e
g
i
s
t
e
r
e
d
!
.
'
)
<
/
s
c
r
i
p
t
>
"
;
}
e
l
s
e
{
$
r
e
s
=
$
u
s
e
r
-
>
c
r
e
a
t
e
(
[
"
u
s
e
r
n
a
m
e
"
=
>
$
u
s
e
r
n
a
m
e
,
"
p
a
s
s
w
o
r
d
"
=
>
$
p
a
s
s
w
o
r
d
,
"
p
i
c
t
u
r
e
"
=
>
"
/
i
m
g
/
p
i
c
.
j
p
g
"
]
)
;
i
f
(
!
$
r
e
s
)
e
c
h
o
"
<
s
c
r
i
p
t
>
a
l
e
r
t
(
'
s
o
m
e
t
h
i
n
g
e
r
r
o
r
.
r
e
g
i
s
t
e
r
f
i
a
i
e
d
!
'
)
<
/
s
c
r
i
p
t
>
"
;
e
l
s
e
$
t
h
i
s
-
>
j
u
m
p
(
"
/
m
a
i
n
/
l
o
g
i
n
"
)
;
}
}
}
}
f
u
n
c
t
i
o
n
a
r
g
(
$
n
a
m
e
,
$
d
e
f
a
u
l
t
=
n
u
l
l
,
$
t
r
i
m
=
f
a
l
s
e
)
{
i
f
(
i
s
s
e
t
(
$
_
R
E
Q
U
E
S
T
[
$
n
a
m
e
]
)
)
{
$
a
r
g
=
$
_
R
E
Q
U
E
S
T
[
$
n
a
m
e
]
;
}
e
l
s
e
i
f
(
i
s
s
e
t
(
$
_
S
E
R
V
E
R
[
$
n
a
m
e
]
)
)
{
$
a
r
g
=
$
_
S
E
R
V
E
R
[
$
n
a
m
e
]
;
}
e
l
s
e
{
$
a
r
g
=
$
d
e
f
a
u
l
t
;
}
i
f
(
$
t
r
i
m
)
{
$
a
r
g
=
t
r
i
m
(
$
a
r
g
)
;
}
r
e
t
u
r
n
$
a
r
g
;
}
t
r
i
m
审
计
可
知
如
果
登
录
成
功
会
实
例
一
个
s
e
s
s
i
o
n
类
,
而
这
个
类
在
i
n
c
l
u
d
e
文
件
夹
s
e
s
s
i
o
n
.
p
h
p
中
定
义
。
网
站
S
E
S
S
I
O
N
主
要
有
两
个
参
数
,
一
个
是
,
一
个
是
,
d
a
t
a
是
上
面
实
例
化
后
的
S
e
s
s
i
o
n
序
列
化
的
结
果
。
除
此
之
外
还
可
以
文
件
上
传
:
f
u
n
c
t
i
o
n
a
c
t
i
o
n
L
o
g
i
n
(
)
{
i
f
(
$
_
P
O
S
T
)
{
$
u
s
e
r
n
a
m
e
=
a
r
g
(
'
u
s
e
r
n
a
m
e
'
)
;
$
p
a
s
s
w
o
r
d
=
a
r
g
(
'
p
a
s
s
w
o
r
d
'
)
;
$
i
p
=
a
r
g
(
'
R
E
M
O
T
E
_
A
D
D
R
'
)
;
$
u
s
e
r
A
g
e
n
t
=
a
r
g
(
'
H
T
T
P
_
U
S
E
R
_
A
G
E
N
T
'
)
;
i
f
(
e
m
p
t
y
(
$
u
s
e
r
n
a
m
e
)
|
|
e
m
p
t
y
(
$
p
a
s
s
w
o
r
d
)
)
{
e
c
h
o
"
<
s
c
r
i
p
t
>
a
l
e
r
t
(
'
U
s
e
r
n
a
m
e
o
r
p
a
s
s
w
o
r
d
i
s
e
m
p
t
y
.
'
)
<
/
s
c
r
i
p
t
>
"
;
}
e
l
s
e
{
$
u
s
e
r
=
N
e
w
U
s
e
r
(
)
;
$
p
a
s
s
w
o
r
d
=
m
d
5
(
$
p
a
s
s
w
o
r
d
)
;
$
r
e
s
=
$
u
s
e
r
-
>
q
u
e
r
y
(
"
S
E
L
E
C
T
*
F
R
O
M
`
$
u
s
e
r
-
>
t
a
b
l
e
_
n
a
m
e
`
w
h
e
r
e
`
u
s
e
r
n
a
m
e
`
=
'
{
$
u
s
e
r
n
a
m
e
}
'
A
N
D
`
p
a
s
s
w
o
r
d
`
=
'
{
$
p
a
s
s
w
o
r
d
}
'
"
)
;
i
f
(
e
m
p
t
y
(
$
r
e
s
)
|
|
$
r
e
s
[
0
]
[
'
p
a
s
s
w
o
r
d
'
]
!
=
=
$
p
a
s
s
w
o
r
d
)
{
e
c
h
o
"
<
s
c
r
i
p
t
>
a
l
e
r
t
(
'
U
s
e
r
n
a
m
e
o
r
p
a
s
s
w
o
r
d
i
s
e
r
r
o
r
.
'
)
<
/
s
c
r
i
p
t
>
"
;
}
e
l
s
e
{
$
s
e
s
s
i
o
n
=
n
e
w
S
e
s
s
i
o
n
(
$
r
e
s
[
0
]
[
"
i
d
"
]
,
t
i
m
e
(
)
,
$
i
p
,
$
u
s
e
r
A
g
e
n
t
)
;
$
_
S
E
S
S
I
O
N
[
'
d
a
t
a
'
]
=
s
e
r
i
a
l
i
z
e
(
$
s
e
s
s
i
o
n
)
;
$
_
S
E
S
S
I
O
N
[
'
u
s
e
r
n
a
m
e
'
]
=
$
u
s
e
r
n
a
m
e
;
$
t
h
i
s
-
>
j
u
m
p
(
"
/
m
a
i
n
/
i
n
d
e
x
"
)
;
}
}
}
}
d
a
t
a
u
s
e
r
n
a
m
e
该
函
数
主
要
对
上
传
文
件
进
行
了
重
名
名
,
对
文
件
类
型
没
有
要
求
,
可
以
上
传
p
h
p
文
件
。
但
是
在
存
储
文
件
的
文
件
夹
里
限
制
了
执
行
(
p
h
p
_
f
l
a
g
e
n
g
i
n
e
o
f
f
)
0
x
0
5
文
件
包
含
文
件
包
含
涉
及
到
p
h
p
文
件
包
含
的
漏
洞
,
可
以
全
局
搜
索
i
n
c
l
u
d
e
。
这
里
有
四
个
地
方
出
现
,
后
面
两
个
涉
及
到
v
i
e
w
视
图
操
作
,
基
本
没
有
利
用
价
值
。
前
面
两
个
是
一
个
自
动
加
载
类
函
数
,
比
较
可
疑
,
该
函
数
位
于
c
o
r
e
.
p
h
p
5
0
行
左
右
:
p
u
b
l
i
c
f
u
n
c
t
i
o
n
a
c
t
i
o
n
U
p
l
o
a
d
(
)
{
/
/
.
.
.
$
f
i
l
e
N
a
m
e
=
$
_
F
I
L
E
S
[
'
u
p
f
i
l
e
'
]
[
'
n
a
m
e
'
]
;
$
f
i
l
e
E
x
t
=
i
s
s
e
t
(
p
a
t
h
i
n
f
o
(
$
f
i
l
e
N
a
m
e
)
[
'
e
x
t
e
n
s
i
o
n
'
]
)
?
p
a
t
h
i
n
f
o
(
$
f
i
l
e
N
a
m
e
)
[
'
e
x
t
e
n
s
i
o
n
'
]
:
"
p
n
g
"
;
$
f
i
l
e
E
x
t
=
a
d
d
s
l
a
s
h
e
s
(
$
f
i
l
e
E
x
t
)
;
$
f
i
l
e
n
a
m
e
=
$
t
h
i
s
-
>
r
a
n
d
o
m
S
t
r
(
)
.
'
.
'
.
$
f
i
l
e
E
x
t
;
$
r
e
a
l
F
i
l
e
N
a
m
e
=
A
P
P
_
D
I
R
.
D
S
.
"
i
m
g
"
.
D
S
.
"
u
p
l
o
a
d
"
.
D
S
.
$
f
i
l
e
n
a
m
e
;
i
f
(
m
o
v
e
_
u
p
l
o
a
d
e
d
_
f
i
l
e
(
$
_
F
I
L
E
S
[
'
u
p
f
i
l
e
'
]
[
'
t
m
p
_
n
a
m
e
'
]
,
$
r
e
a
l
F
i
l
e
N
a
m
e
)
)
{
$
u
s
e
r
=
N
e
w
U
s
e
r
(
)
;
$
w
e
b
F
i
l
e
N
a
m
e
=
D
S
.
"
i
m
g
"
.
D
S
.
"
u
p
l
o
a
d
"
.
D
S
.
$
f
i
l
e
n
a
m
e
;
$
r
e
s
=
$
u
s
e
r
-
>
e
x
e
c
u
t
e
(
"
U
P
D
A
T
E
`
{
$
u
s
e
r
-
>
t
a
b
l
e
_
n
a
m
e
}
`
s
e
t
`
p
i
c
t
u
r
e
`
=
'
{
$
w
e
b
F
i
l
e
N
a
m
e
}
'
w
h
e
r
e
`
i
d
`
=
'
{
$
u
s
e
r
I
d
}
'
"
)
;
i
f
(
$
r
e
s
)
{
e
c
h
o
'
<
s
c
r
i
p
t
>
a
l
e
r
t
(
"
U
p
l
o
a
d
f
i
l
e
s
u
c
c
e
s
s
!
"
)
<
/
s
c
r
i
p
t
>
'
;
}
e
l
s
e
{
e
c
h
o
'
<
s
c
r
i
p
t
>
a
l
e
r
t
(
"
U
p
l
o
a
d
f
i
l
e
e
r
r
o
r
!
"
)
<
/
s
c
r
i
p
t
>
'
;
}
$
t
h
i
s
-
>
j
u
m
p
(
"
/
m
a
i
n
/
i
n
d
e
x
"
)
;
r
e
t
u
r
n
;
}
e
l
s
e
{
e
c
h
o
'
<
s
c
r
i
p
t
>
a
l
e
r
t
(
"
U
p
l
o
a
d
f
i
l
e
E
r
r
o
r
!
"
)
<
/
s
c
r
i
p
t
>
'
;
$
t
h
i
s
-
>
j
u
m
p
(
"
/
m
a
i
n
/
i
n
d
e
x
"
)
;
r
e
t
u
r
n
;
}
}
.
h
t
a
c
c
e
s
s
i
n
c
l
u
d
e
于
p
h
p
5
中
函
数
的
作
用
是
一
样
的
,
当
实
例
化
一
个
未
定
义
的
类
时
,
就
会
触
发
此
函
数
,
其
目
的
是
避
免
书
写
过
多
的
引
用
文
件
,
使
整
个
系
统
更
加
灵
活
。
前
面
有
文
件
上
传
的
接
口
,
而
且
可
以
上
传
p
h
p
文
件
,
加
入
我
们
上
传
一
个
s
h
e
l
l
,
如
果
在
这
里
可
以
成
功
包
含
的
话
,
S
h
e
l
l
就
可
以
执
行
了
。
这
里
的
自
动
加
载
类
函
数
会
加
载
以
未
命
名
类
的
类
名
的
文
件
,
也
就
是
说
我
们
要
把
我
们
上
传
的
文
件
生
成
的
随
机
文
件
名
记
录
下
来
,
然
后
作
为
类
想
办
法
加
载
到
这
个
函
数
里
。
0
x
0
6
s
e
s
s
i
o
n
机
制
机
制
按
照
前
面
的
攻
击
思
路
,
首
先
就
要
想
办
法
触
发
i
n
n
e
r
_
a
u
t
o
l
o
a
d
函
数
,
并
把
文
件
名
作
为
参
数
传
进
去
。
也
就
是
说
要
实
例
化
一
个
类
。
涉
及
到
类
的
实
例
化
,
全
局
搜
索
关
键
词
‘
n
e
w
’
,
一
处
是
c
o
r
e
.
p
h
p
7
8
行
左
右
:
经
过
分
析
后
缀
必
须
有
C
o
n
t
r
o
l
l
e
r
,
无
法
利
用
。
继
续
看
发
现
一
处
对
s
e
s
s
i
o
n
的
实
例
化
操
作
,
随
之
还
进
行
了
序
列
化
:
有
序
列
化
就
有
反
序
列
化
,
如
果
我
们
可
以
控
制
s
e
s
s
i
o
n
的
内
容
,
使
之
变
成
一
个
我
们
自
己
定
义
的
序
列
化
后
的
类
,
那
么
反
序
列
化
之
后
就
会
对
这
个
类
进
行
实
例
化
,
进
而
触
发
自
动
加
载
类
函
数
,
完
成
文
件
包
含
。
下
面
我
们
对
s
e
s
s
i
o
n
的
生
成
进
行
详
细
分
析
:
对
于
s
e
s
s
i
o
n
生
成
,
我
根
据
代
码
简
单
做
了
一
个
结
构
图
:
s
p
l
_
a
u
t
o
l
o
a
d
_
r
e
g
i
s
t
e
r
(
'
i
n
n
e
r
_
a
u
t
o
l
o
a
d
'
)
;
f
u
n
c
t
i
o
n
i
n
n
e
r
_
a
u
t
o
l
o
a
d
(
$
c
l
a
s
s
)
{
G
L
O
B
A
L
$
_
_
m
o
d
u
l
e
,
$
_
_
c
u
s
t
o
m
;
$
c
l
a
s
s
=
s
t
r
_
r
e
p
l
a
c
e
(
"
"
,
"
/
"
,
$
c
l
a
s
s
)
;
f
o
r
e
a
c
h
(
a
r
r
a
y
(
'
m
o
d
e
l
'
,
'
i
n
c
l
u
d
e
'
,
'
c
o
n
t
r
o
l
l
e
r
'
.
(
e
m
p
t
y
(
$
_
_
m
o
d
u
l
e
)
?
'
'
:
D
S
.
$
_
_
m
o
d
u
l
e
)
,
$
_
_
c
u
s
t
o
m
)
a
s
$
d
i
r
)
{
$
f
i
l
e
=
A
P
P
_
D
I
R
.
D
S
.
$
d
i
r
.
D
S
.
$
c
l
a
s
s
.
'
.
p
h
p
'
;
i
f
(
f
i
l
e
_
e
x
i
s
t
s
(
$
f
i
l
e
)
)
{
i
n
c
l
u
d
e
$
f
i
l
e
;
r
e
t
u
r
n
;
}
}
}
s
q
l
_
a
u
t
o
l
o
a
d
_
r
e
g
i
s
t
e
r
_
_
a
u
t
o
l
o
a
d
$
c
o
n
t
r
o
l
l
e
r
_
o
b
j
=
n
e
w
$
c
o
n
t
r
o
l
l
e
r
_
n
a
m
e
(
)
;
$
c
o
n
t
r
o
l
l
e
r
_
n
a
m
e
(
)
=
$
_
_
c
o
n
t
r
o
l
l
e
r
.
'
C
o
n
t
r
o
l
l
e
r
'
;
$
s
e
s
s
i
o
n
=
n
e
w
S
e
s
s
i
o
n
(
$
r
e
s
[
0
]
[
"
i
d
"
]
,
t
i
m
e
(
)
,
$
i
p
,
$
u
s
e
r
A
g
e
n
t
)
;
$
_
S
E
S
S
I
O
N
[
'
d
a
t
a
'
]
=
s
e
r
i
a
l
i
z
e
(
$
s
e
s
s
i
o
n
)
;
首
先
是
c
o
r
e
.
p
h
p
将
m
a
i
n
/
i
n
d
e
x
登
录
请
求
交
给
m
a
i
n
C
o
n
t
r
o
l
l
e
r
类
控
制
器
中
的
a
c
t
i
o
n
I
n
d
e
x
方
法
,
在
这
之
前
继
承
B
a
s
e
C
o
n
t
r
o
l
l
e
r
类
,
该
类
重
写
了
S
e
s
s
i
o
n
H
a
n
d
l
e
r
函
数
,
使
得
s
e
s
s
i
o
n
可
以
存
储
到
数
据
库
中
。
进
而
调
用
s
e
s
s
i
o
n
_
s
t
a
r
t
(
)
开
启
s
e
s
s
i
o
n
会
话
机
制
。
该
函
数
会
自
动
调
用
M
y
S
e
s
s
i
o
n
H
a
n
d
l
e
r
中
的
o
p
e
n
(
)
和
r
e
a
d
(
)
函
数
,
进
行
数
据
库
的
连
接
和
s
e
s
s
i
o
n
的
读
取
。
不
存
在
s
e
s
s
i
o
n
的
话
跳
转
到
a
c
t
i
o
n
L
o
g
i
n
类
方
法
生
成
s
e
s
s
i
o
n
。
然
后
通
过
序
列
化
触
发
w
r
i
t
e
(
)
方
法
将
之
写
入
数
据
库
。
下
面
是
s
e
s
s
i
o
n
类
S
e
s
s
i
o
n
由
四
部
分
组
成
,
i
p
、
u
s
e
r
a
g
e
n
t
、
u
s
e
r
I
D
、
l
o
g
i
n
t
i
m
e
。
拿
到
了
,
回
到
a
c
t
i
o
n
I
n
d
e
x
函
数
。
对
于
d
a
t
a
,
它
会
对
其
合
法
性
进
行
判
定
:
c
l
a
s
s
S
e
s
s
i
o
n
{
p
r
i
v
a
t
e
$
i
p
;
p
r
i
v
a
t
e
$
u
s
e
r
A
g
e
n
t
;
p
r
i
v
a
t
e
$
u
s
e
r
I
d
;
p
r
i
v
a
t
e
$
l
o
g
i
n
T
i
m
e
;
p
u
b
l
i
c
s
t
a
t
i
c
$
t
i
m
e
F
o
r
m
a
t
=
"
H
:
i
:
s
"
;
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
$
u
s
e
r
I
d
,
$
l
o
g
i
n
T
i
m
e
,
$
i
p
=
"
0
.
0
.
0
.
0
"
,
$
u
s
e
r
A
g
e
n
t
=
"
"
)
{
$
t
h
i
s
-
>
u
s
e
r
I
d
=
$
u
s
e
r
I
d
;
$
t
h
i
s
-
>
i
p
=
$
i
p
;
$
t
h
i
s
-
>
l
o
g
i
n
T
i
m
e
=
$
l
o
g
i
n
T
i
m
e
;
$
t
h
i
s
-
>
u
s
e
r
A
g
e
n
t
=
$
u
s
e
r
A
g
e
n
t
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
g
e
t
U
s
e
r
I
n
f
o
(
)
{
r
e
t
u
r
n
a
r
r
a
y
(
i
n
t
v
a
l
(
$
t
h
i
s
-
>
u
s
e
r
I
d
)
,
d
a
t
e
(
s
e
l
f
:
:
$
t
i
m
e
F
o
r
m
a
t
,
$
t
h
i
s
-
>
l
o
g
i
n
T
i
m
e
)
)
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
i
s
A
c
c
o
u
n
t
S
e
c
(
$
i
p
=
"
0
.
0
.
0
.
0
"
,
$
u
s
e
r
A
g
e
n
t
=
"
"
)
{
r
e
t
u
r
n
(
$
t
h
i
s
-
>
i
p
=
=
=
$
i
p
&
&
$
t
h
i
s
-
>
u
s
e
r
A
g
e
n
t
=
=
=
$
u
s
e
r
A
g
e
n
t
)
;
}
s
t
a
t
i
c
f
u
n
c
t
i
o
n
g
e
t
T
i
m
e
(
$
t
i
m
e
s
t
a
m
p
)
{
r
e
t
u
r
n
d
a
t
e
(
s
e
l
f
:
:
$
t
i
m
e
F
o
r
m
a
t
,
$
t
i
m
e
s
t
a
m
p
)
;
}
}
$
_
S
E
S
S
I
O
N
[
'
d
a
t
a
'
]
这
里
为
了
方
便
测
试
,
我
将
生
成
s
e
s
s
i
o
n
和
验
证
s
e
s
s
i
o
n
的
代
码
脱
出
来
单
独
测
试
,
这
是
生
成
的
$
_
S
E
S
S
I
O
N
[
'
d
a
t
a
'
]
和
反
序
列
化
之
后
的
结
果
:
我
们
再
看
一
下
s
e
s
s
i
o
n
的
存
储
,
这
里
它
通
过
M
y
S
e
s
s
i
o
n
H
a
n
d
l
e
r
类
和
重
写
了
,
使
s
e
s
s
i
o
n
能
够
存
储
在
数
据
库
里
。
s
e
s
s
i
o
n
_
s
t
a
r
t
(
)
函
数
会
自
动
调
用
o
p
e
n
和
r
e
a
d
函
数
去
数
据
库
检
索
s
e
s
s
i
o
n
。
s
e
s
s
i
o
n
的
读
取
和
写
入
有
可
能
造
成
s
e
s
s
i
o
n
伪
造
,
下
面
是
相
关
代
码
(
M
y
S
e
s
s
i
o
n
H
a
n
d
l
e
r
.
p
h
p
)
$
s
e
s
s
i
o
n
=
u
n
s
e
r
i
a
l
i
z
e
(
$
_
S
E
S
S
I
O
N
[
"
d
a
t
a
"
]
,
[
"
a
l
l
o
w
e
d
_
c
l
a
s
s
e
s
"
=
>
[
"
S
e
s
s
i
o
n
"
]
]
)
;
/
/
第
二
个
参
数
是
反
序
列
化
的
过
滤
机
制
,
防
止
注
入
,
转
换
所
有
对
象
到
_
_
P
H
P
_
I
n
c
o
m
p
l
e
t
e
_
C
l
a
s
s
对
象
,
除
了
s
e
s
s
i
o
n
$
i
p
=
a
r
g
(
"
R
E
M
O
T
E
_
A
D
D
R
"
)
;
$
u
s
e
r
A
g
e
n
t
=
a
r
g
(
"
H
T
T
P
_
U
S
E
R
_
A
G
E
N
T
"
)
;
$
t
h
i
s
-
>
n
o
w
=
$
s
e
s
s
i
o
n
:
:
g
e
t
T
i
m
e
(
t
i
m
e
(
)
)
;
i
f
(
$
s
e
s
s
i
o
n
-
>
i
s
A
c
c
o
u
n
t
S
e
c
(
$
i
p
,
$
u
s
e
r
A
g
e
n
t
)
)
{
$
u
s
e
r
i
n
f
o
=
$
s
e
s
s
i
o
n
-
>
g
e
t
U
s
e
r
I
n
f
o
(
)
;
$
t
h
i
s
-
>
u
s
e
r
n
a
m
e
=
$
_
S
E
S
S
I
O
N
[
'
u
s
e
r
n
a
m
e
'
]
;
$
t
h
i
s
-
>
l
o
g
i
n
T
i
m
e
=
$
u
s
e
r
i
n
f
o
[
1
]
;
$
u
s
e
r
I
d
=
$
u
s
e
r
i
n
f
o
[
0
]
;
$
u
s
e
r
=
n
e
w
U
s
e
r
(
)
;
$
r
e
s
=
$
u
s
e
r
-
>
q
u
e
r
y
(
"
S
E
L
E
C
T
p
i
c
t
u
r
e
F
R
O
M
`
{
$
u
s
e
r
-
>
t
a
b
l
e
_
n
a
m
e
}
`
w
h
e
r
e
`
i
d
`
=
'
{
$
u
s
e
r
I
d
}
'
"
)
;
i
f
(
!
e
m
p
t
y
(
$
r
e
s
)
)
{
$
t
h
i
s
-
>
p
i
c
S
r
c
=
$
r
e
s
[
0
]
[
'
p
i
c
t
u
r
e
'
]
;
}
e
l
s
e
{
$
t
h
i
s
-
>
p
i
c
S
r
c
=
"
/
i
m
g
/
p
i
c
.
j
p
g
"
;
}
}
e
l
s
e
{
e
c
h
o
"
<
s
c
r
i
p
t
>
a
l
e
r
t
(
'
y
o
u
r
c
o
o
k
i
e
m
y
b
e
s
t
e
a
l
e
d
b
y
h
a
c
k
e
r
!
'
)
;
<
/
s
c
r
i
p
t
>
"
;
s
e
s
s
i
o
n
_
d
e
s
t
r
o
y
(
)
;
$
t
h
i
s
-
>
j
u
m
p
(
"
/
m
a
i
n
/
l
o
g
i
n
"
)
;
}
s
e
s
s
i
o
n
_
s
e
t
_
s
a
v
e
_
h
a
n
d
l
e
r
S
e
s
s
i
o
n
H
a
n
d
l
e
r
I
n
t
e
r
f
a
c
e
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页