论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
代码审计
[17208] 2021-08-29_通过BlueCMS学习php代码审计
文档创建者:
s7ckTeam
浏览次数:
1
最后更新:
2025-01-18
代码审计
1 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前在线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2021-08-29_通过BlueCMS学习php代码审计
通
过
B
l
u
e
C
M
S
学
习
p
h
p
代
码
审
计
原
创
j
e
l
l
y
1
F
r
e
e
B
u
f
2
0
2
1
-
0
8
-
2
9
0
x
0
0
前
言
前
言
最
近
一
直
在
学
习
p
h
p
代
码
审
计
,
入
门
过
程
比
自
己
想
象
的
慢
很
多
,
现
在
各
个
行
业
都
在
内
卷
,
代
码
审
计
随
着
w
e
b
开
发
技
术
的
发
展
也
会
变
得
更
加
复
杂
。
但
不
管
现
在
技
术
多
成
熟
,
多
复
杂
,
基
础
知
识
一
定
要
扎
实
。
先
记
录
下
我
目
前
学
习
p
h
p
代
码
审
计
的
过
程
:
网
上
已
经
有
很
多
讲
解
如
何
去
审
计
各
种
p
h
p
程
序
漏
洞
的
博
客
,
大
家
都
讲
的
很
好
,
但
学
完
这
些
知
识
后
去
真
正
上
手
审
计
一
个
C
M
S
时
,
会
突
然
发
现
自
己
什
么
都
不
会
,
我
总
结
原
因
是
自
己
的
w
e
b
开
发
知
识
太
少
了
,
不
理
解
程
序
的
逻
辑
,
导
致
在
审
计
大
量
代
码
时
会
晕
头
转
向
,
没
有
方
向
。
然
后
我
边
学
最
基
础
的
w
e
b
开
发
知
识
,
边
找
最
简
单
的
C
M
S
实
战
审
计
,
然
后
逐
渐
增
加
难
度
,
慢
慢
的
找
到
了
感
觉
。
目
前
我
认
为
自
己
还
是
一
个
菜
鸡
,
确
实
也
还
是
一
个
菜
鸡
,
所
以
自
己
打
算
好
好
整
理
早
期
C
M
S
程
序
代
码
审
计
实
战
-
>
M
V
C
模
式
程
序
代
码
审
计
实
战
的
过
程
,
并
在
博
客
上
发
表
。
早
期
C
M
S
程
序
代
码
审
计
实
战
我
依
次
选
择
了
B
l
u
e
C
M
S
,
S
e
a
C
M
S
,
D
e
d
e
C
M
S
,
P
h
p
C
M
S
这
4
个
C
M
S
,
难
度
逐
渐
提
升
。
在
对
这
几
个
系
统
的
代
码
审
计
过
程
中
,
也
能
感
受
到
w
e
b
开
发
技
术
的
发
展
和
趋
势
,
直
到
P
h
p
C
M
S
,
发
现
已
经
实
现
了
一
个
M
V
C
模
型
的
程
序
。
相
信
完
成
这
步
后
再
审
计
非
M
V
C
模
式
程
序
的
代
码
就
会
具
有
清
晰
的
思
路
与
十
足
的
把
握
。
0
x
0
1
B
l
u
e
C
M
S
简
介
简
介
B
l
u
e
C
M
S
是
一
款
应
用
于
地
方
分
类
信
息
的
门
户
系
统
,
本
文
下
载
的
源
码
为
B
l
u
e
C
M
S
v
1
.
6
s
p
1
版
,
可
以
追
溯
到
2
0
1
0
年
左
右
了
,
该
系
统
确
实
很
老
,
但
审
计
该
系
统
有
一
个
好
处
是
,
即
使
现
在
w
e
b
开
发
技
术
十
分
成
熟
了
,
但
仍
有
人
因
为
经
验
缺
乏
或
时
间
原
因
会
开
发
出
类
似
B
l
u
e
C
M
S
这
样
简
单
的
系
统
,
甚
至
比
B
l
u
e
C
M
S
更
简
单
。
通
过
对
B
l
u
e
C
M
S
实
战
审
计
,
能
够
熟
悉
这
类
简
单
C
M
S
的
程
序
逻
辑
。
B
l
u
e
C
M
S
被
认
为
是
练
手
代
码
审
计
的
绝
佳
项
目
,
以
至
于
现
在
百
度
B
l
u
e
C
M
S
的
关
键
词
全
是
代
码
审
计
。
那
为
什
么
B
l
u
e
C
M
S
都
被
审
计
烂
了
,
我
还
要
在
发
一
篇
B
l
u
e
C
M
S
的
代
码
审
计
博
客
呢
?
首
先
B
l
u
e
C
M
S
确
实
经
典
,
是
一
个
入
门
的
好
项
目
;
其
次
B
l
u
e
C
M
S
是
无
M
V
C
架
构
时
期
最
早
流
行
的
一
批
C
M
S
,
是
早
期
C
M
S
程
序
代
码
审
计
实
战
系
列
最
标
志
的
第
一
环
。
B
l
u
e
C
M
S
源
码
也
不
太
好
找
,
这
里
推
荐
站
长
之
家
(
h
t
t
p
:
/
/
d
o
w
n
.
c
h
i
n
a
z
.
c
o
m
/
)
,
y
y
d
s
B
l
u
e
C
M
S
本
地
部
署
好
后
,
先
访
问
/
i
n
s
t
a
l
l
/
i
n
d
e
x
.
p
h
p
进
行
安
装
,
感
觉
过
程
有
点
b
u
g
,
不
过
返
回
首
页
后
会
发
现
安
装
成
功
。
0
x
0
2
全
局
分
析
全
局
分
析
在
学
完
p
h
p
的
各
漏
洞
代
码
审
计
方
法
后
我
就
直
接
利
用
s
e
a
y
去
扫
描
代
码
敏
感
关
键
字
回
溯
的
方
法
去
审
计
代
码
,
但
在
过
程
中
却
逐
渐
蒙
圈
,
经
验
总
结
,
在
审
计
一
个
成
熟
的
C
M
S
之
间
,
还
是
要
做
好
全
局
分
析
的
工
作
目
录
结
构
目
录
结
构
通
过
目
录
结
构
可
以
简
单
看
出
程
序
的
逻
辑
目
录
结
构
主
要
关
注
入
口
文
件
i
n
d
e
x
.
p
h
p
在
程
序
中
的
位
置
,
B
l
u
e
C
M
S
时
期
的
程
序
i
n
d
e
x
.
p
h
p
基
本
位
于
程
序
根
目
录
下
,
其
实
这
是
不
安
全
的
,
会
导
致
整
个
程
序
文
件
被
窃
取
的
风
险
,
在
审
计
后
面
的
C
M
S
中
会
发
现
这
个
问
题
会
改
善
p
h
p
基
础
语
法
巩
固
-
>
p
h
p
特
性
-
>
各
漏
洞
挖
掘
方
法
-
>
早
期
C
M
S
程
序
代
码
审
计
实
战
-
>
M
V
C
模
式
程
序
代
码
审
计
实
战
首
页
首
页
i
n
d
e
x
.
p
h
p
首
页
i
n
d
e
x
.
p
h
p
首
先
会
加
载
c
o
m
m
o
n
.
i
n
c
.
p
h
p
,
i
n
c
l
u
d
e
/
i
n
d
e
x
.
f
u
n
.
p
h
p
这
些
文
件
具
体
做
了
什
么
后
面
仔
细
分
析
然
后
i
n
d
e
x
.
p
h
p
就
从
数
据
库
中
获
取
首
页
信
息
,
利
用
s
m
a
r
t
y
模
板
显
示
。
S
m
a
r
t
y
是
B
l
u
e
C
M
S
引
用
的
一
个
成
熟
的
P
H
P
模
板
引
擎
,
S
m
a
r
t
y
在
那
个
时
期
也
是
很
火
的
,
关
于
S
m
a
r
t
y
的
具
体
实
现
代
码
我
们
就
可
以
忽
略
了
可
以
看
出
i
n
d
e
x
.
p
h
p
并
不
能
算
入
口
文
件
,
它
只
是
在
做
一
个
页
面
的
显
示
工
作
,
从
这
里
我
们
大
概
知
道
前
台
是
一
个
多
入
口
的
模
式
,
注
意
多
入
口
的
系
统
需
要
对
每
个
入
口
文
件
单
独
做
安
全
过
滤
,
它
们
通
常
都
会
加
载
同
一
个
文
件
来
实
现
,
在
B
l
u
e
C
M
S
中
这
个
文
件
就
是
c
o
m
m
o
n
.
i
n
c
.
p
h
p
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
i
n
c
.
p
h
p
r
e
q
u
i
r
e
_
o
n
c
e
(
'
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
i
n
c
.
p
h
p
'
)
;
r
e
q
u
i
r
e
_
o
n
c
e
(
B
L
U
E
_
R
O
O
T
.
'
i
n
c
l
u
d
e
/
i
n
d
e
x
.
f
u
n
.
p
h
p
'
)
;
/
/
获
取
新
闻
栏
目
、
新
闻
分
类
列
表
、
网
站
公
告
等
数
据
…
…
/
/
利
用
s
m
a
r
t
y
模
板
引
擎
显
示
页
面
$
s
m
a
r
t
y
-
>
d
i
s
p
l
a
y
(
'
i
n
d
e
x
.
h
t
m
'
)
;
对
G
P
C
数
据
做
了
过
滤
,
但
外
部
可
控
数
据
还
包
括
没
有
经
过
过
滤
还
需
要
留
意
的
是
c
o
m
o
n
.
i
n
c
.
p
h
p
还
做
好
了
数
据
库
连
接
工
作
,
$
d
b
为
连
接
数
据
的
对
象
,
后
续
可
以
直
接
使
用
c
o
m
o
n
.
i
n
c
.
p
h
p
的
其
他
处
理
逻
辑
注
释
即
可
外
部
数
据
的
具
体
过
滤
方
式
外
部
数
据
的
具
体
过
滤
方
式
追
踪
一
下
方
法
,
看
下
数
据
过
滤
的
具
体
实
现
方
式
/
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
f
u
n
.
p
h
p
具
体
过
滤
函
数
是
a
d
d
s
l
a
s
h
e
s
(
)
,
在
此
情
况
下
引
号
形
式
的
s
q
l
注
入
基
本
会
被
过
滤
,
所
以
凡
是
加
了
c
o
m
m
o
n
.
i
n
c
.
p
h
p
的
入
口
文
件
,
基
本
会
实
现
这
些
过
滤
操
作
数
据
库
连
接
方
式
数
据
库
连
接
方
式
i
n
c
l
u
d
e
/
m
y
s
q
l
.
c
l
a
s
s
.
p
h
p
数
据
库
连
接
方
法
是
m
y
s
q
l
_
c
o
n
n
e
c
t
(
)
,
存
放
M
y
S
Q
L
连
接
标
识
连
接
标
识
$
_
S
E
R
V
E
R
/
/
加
载
一
些
基
础
文
件
r
e
q
u
i
r
e
_
o
n
c
e
(
B
L
U
E
_
R
O
O
T
.
'
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
f
u
n
.
p
h
p
'
)
;
r
e
q
u
i
r
e
_
o
n
c
e
(
B
L
U
E
_
R
O
O
T
.
'
i
n
c
l
u
d
e
/
c
a
t
.
f
u
n
.
p
h
p
'
)
;
/
/
外
部
数
据
过
滤
i
f
(
!
g
e
t
_
m
a
g
i
c
_
q
u
o
t
e
s
_
g
p
c
(
)
)
{
$
_
P
O
S
T
=
d
e
e
p
_
a
d
d
s
l
a
s
h
e
s
(
$
_
P
O
S
T
)
;
$
_
G
E
T
=
d
e
e
p
_
a
d
d
s
l
a
s
h
e
s
(
$
_
G
E
T
)
;
$
_
C
O
O
K
I
E
S
=
d
e
e
p
_
a
d
d
s
l
a
s
h
e
s
(
$
_
C
O
O
K
I
E
S
)
;
$
_
R
E
Q
U
E
S
T
=
d
e
e
p
_
a
d
d
s
l
a
s
h
e
s
(
$
_
R
E
Q
U
E
S
T
)
;
}
/
/
数
据
库
链
接
r
e
q
u
i
r
e
_
o
n
c
e
(
B
L
U
E
_
R
O
O
T
.
'
i
n
c
l
u
d
e
/
m
y
s
q
l
.
c
l
a
s
s
.
p
h
p
'
)
;
$
d
b
=
n
e
w
m
y
s
q
l
(
$
d
b
h
o
s
t
,
$
d
b
u
s
e
r
,
$
d
b
p
a
s
s
,
$
d
b
n
a
m
e
)
;
/
/
S
m
a
r
t
y
模
板
对
象
就
是
这
引
入
的
r
e
q
u
i
r
e
(
B
L
U
E
_
R
O
O
T
.
'
i
n
c
l
u
d
e
/
s
m
a
r
t
y
/
S
m
a
r
t
y
.
c
l
a
s
s
.
p
h
p
'
)
;
$
s
m
a
r
t
y
=
n
e
w
S
m
a
r
t
y
(
)
;
/
/
用
户
i
p
处
理
$
b
a
n
n
e
d
_
i
p
=
g
e
t
_
b
a
n
n
e
d
i
p
(
)
;
i
f
(
@
i
n
_
a
r
r
a
y
(
$
o
n
l
i
n
e
_
i
p
,
$
b
a
n
n
e
d
_
i
p
)
)
{
s
h
o
w
m
s
g
(
'
对
不
起
,
您
的
I
P
已
被
禁
止
,
有
问
题
请
联
系
管
理
员
!
'
)
;
}
d
e
e
p
_
a
d
d
s
l
a
s
h
e
s
(
)
/
/
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
f
u
n
.
p
h
p
1
4
-
2
8
:
f
u
n
c
t
i
o
n
d
e
e
p
_
a
d
d
s
l
a
s
h
e
s
(
$
s
t
r
)
{
i
f
(
i
s
_
a
r
r
a
y
(
$
s
t
r
)
)
{
f
o
r
e
a
c
h
(
$
s
t
r
a
s
$
k
e
y
=
>
$
v
a
l
)
{
$
s
t
r
[
$
k
e
y
]
=
d
e
e
p
_
a
d
d
s
l
a
s
h
e
s
(
$
v
a
l
)
;
}
}
e
l
s
e
{
$
s
t
r
=
a
d
d
s
l
a
s
h
e
s
(
$
s
t
r
)
;
}
r
e
t
u
r
n
$
s
t
r
;
}
$
l
i
n
k
i
d
这
里
应
该
提
取
到
一
个
十
分
关
键
的
信
息
,
数
据
库
编
码
为
g
b
k
,
那
么
程
序
就
有
宽
字
节
注
入
的
可
能
然
后
会
看
到
m
y
s
q
l
类
还
封
装
了
很
多
底
层
s
q
l
的
执
行
方
法
,
知
道
这
些
方
法
是
干
嘛
的
就
行
后
台
逻
辑
分
析
后
台
逻
辑
分
析
后
台
一
般
只
有
通
过
身
份
验
证
后
才
能
访
问
,
提
前
就
有
一
层
安
全
保
障
,
但
后
台
程
序
一
般
都
是
漏
洞
百
出
,
我
们
很
多
时
候
只
有
靠
后
台
才
能
拿
到
服
务
器
的
s
h
e
l
l
。
这
里
具
体
分
析
一
下
B
l
u
e
C
M
S
的
后
台
逻
辑
后
台
入
口
文
件
后
台
入
口
文
件
a
d
m
i
n
/
i
n
d
e
x
.
p
h
p
a
d
m
i
n
/
i
n
d
e
x
.
p
h
p
的
大
部
分
逻
辑
由
a
d
m
i
n
/
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
i
n
c
.
p
h
p
处
理
c
l
a
s
s
m
y
s
q
l
{
v
a
r
$
l
i
n
k
i
d
=
n
u
l
l
;
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
$
d
b
h
o
s
t
,
$
d
b
u
s
e
r
,
$
d
b
p
w
,
$
d
b
n
a
m
e
=
'
'
,
$
d
b
c
h
a
r
s
e
t
=
'
g
b
k
'
,
$
c
o
n
n
e
c
t
=
1
)
{
$
t
h
i
s
-
>
m
y
s
q
l
(
$
d
b
h
o
s
t
,
$
d
b
u
s
e
r
,
$
d
b
p
w
,
$
d
b
n
a
m
e
,
$
d
b
c
h
a
r
s
e
t
,
$
c
o
n
n
e
c
t
)
;
}
f
u
n
c
t
i
o
n
m
y
s
q
l
(
$
d
b
h
o
s
t
,
$
d
b
u
s
e
r
,
$
d
b
p
w
,
$
d
b
n
a
m
e
=
'
'
,
$
d
b
c
h
a
r
s
e
t
=
'
g
b
k
'
,
$
c
o
n
n
e
c
t
=
1
)
{
$
f
u
n
c
=
e
m
p
t
y
(
$
c
o
n
n
e
c
t
)
?
'
m
y
s
q
l
_
p
c
o
n
n
e
c
t
'
:
'
m
y
s
q
l
_
c
o
n
n
e
c
t
'
;
i
f
(
!
$
t
h
i
s
-
>
l
i
n
k
i
d
=
@
$
f
u
n
c
(
$
d
b
h
o
s
t
,
$
d
b
u
s
e
r
,
$
d
b
p
w
,
t
r
u
e
)
)
{
$
t
h
i
s
-
>
d
b
s
h
o
w
(
'
C
a
n
n
o
t
c
o
n
n
e
c
t
t
o
M
y
s
q
l
!
'
)
;
}
e
l
s
e
{
i
f
(
$
t
h
i
s
-
>
d
b
v
e
r
s
i
o
n
(
)
>
'
4
.
1
'
)
{
m
y
s
q
l
_
q
u
e
r
y
(
"
S
E
T
N
A
M
E
S
g
b
k
"
)
;
}
}
}
/
/
m
y
s
q
l
_
q
u
e
r
y
(
)
封
装
执
行
s
q
l
语
句
的
方
法
f
u
n
c
t
i
o
n
q
u
e
r
y
(
$
s
q
l
)
{
i
f
(
!
$
q
u
e
r
y
=
@
m
y
s
q
l
_
q
u
e
r
y
(
$
s
q
l
,
$
t
h
i
s
-
>
l
i
n
k
i
d
)
)
{
$
t
h
i
s
-
>
d
b
s
h
o
w
(
"
Q
u
e
r
y
e
r
r
o
r
:
$
s
q
l
"
)
;
}
e
l
s
e
{
r
e
t
u
r
n
$
q
u
e
r
y
;
}
}
/
/
g
e
t
o
n
e
(
)
封
装
查
询
数
据
的
方
法
f
u
n
c
t
i
o
n
g
e
t
o
n
e
(
$
s
q
l
,
$
t
y
p
e
=
M
Y
S
Q
L
_
A
S
S
O
C
)
{
$
q
u
e
r
y
=
$
t
h
i
s
-
>
q
u
e
r
y
(
$
s
q
l
,
$
t
h
i
s
-
>
l
i
n
k
i
d
)
;
$
r
o
w
=
m
y
s
q
l
_
f
e
t
c
h
_
a
r
r
a
y
(
$
q
u
e
r
y
,
$
t
y
p
e
)
;
r
e
t
u
r
n
$
r
o
w
;
}
…
…
}
i
n
d
e
x
.
p
h
p
剩
下
内
容
主
要
用
于
显
示
后
台
的
页
面
r
e
q
u
i
r
e
_
o
n
c
e
(
d
i
r
n
a
m
e
(
_
_
F
I
L
E
_
_
)
.
"
/
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
i
n
c
.
p
h
p
"
)
;
$
a
c
t
=
!
e
m
p
t
y
(
$
_
R
E
Q
U
E
S
T
[
'
a
c
t
'
]
)
?
t
r
i
m
(
$
_
R
E
Q
U
E
S
T
[
'
a
c
t
'
]
)
:
'
'
;
i
f
(
$
a
c
t
=
=
'
'
)
{
/
/
显
示
后
台
页
面
$
s
m
a
r
t
y
-
>
d
i
s
p
l
a
y
(
'
i
n
d
e
x
.
h
t
m
'
)
;
}
e
l
s
e
i
f
(
$
a
c
t
=
=
'
t
o
p
'
)
{
/
/
显
示
顶
部
$
s
m
a
r
t
y
-
>
d
i
s
p
l
a
y
(
'
t
o
p
.
h
t
m
'
)
;
}
e
l
s
e
i
f
(
$
a
c
t
=
=
'
m
e
n
u
'
)
{
/
/
显
示
菜
单
$
s
m
a
r
t
y
-
>
d
i
s
p
l
a
y
(
'
m
e
n
u
.
h
t
m
'
)
;
}
e
l
s
e
i
f
(
$
a
c
t
=
=
'
m
a
i
n
'
)
{
a
d
m
i
n
/
t
e
m
p
l
a
t
e
s
/
d
e
f
a
u
l
t
/
i
n
d
e
x
.
h
t
m
关
注
i
n
d
e
x
.
h
t
m
可
以
知
道
后
台
是
通
过
f
r
a
m
e
来
实
现
的
,
这
样
后
台
程
序
的
所
有
功
能
都
可
以
依
附
在
i
n
d
e
x
.
p
h
p
下
实
现
,
在
早
期
的
C
M
S
中
,
基
本
都
是
这
种
实
现
方
案
c
o
m
m
o
n
.
i
n
c
.
p
h
p
处
理
细
节
a
d
m
i
n
/
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
i
n
c
.
p
h
p
该
文
件
内
容
和
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
i
n
c
.
p
h
p
差
不
多
,
不
同
之
处
在
于
多
了
管
理
员
的
认
证
,
如
果
看
到
加
载
了
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
i
n
c
.
p
h
p
的
文
件
,
那
么
该
文
件
基
本
为
后
台
访
问
页
面
可
以
看
到
B
l
u
e
C
M
S
主
要
通
过
s
e
s
s
i
o
n
的
方
法
认
证
用
户
登
陆
状
态
,
如
果
$
_
S
E
S
S
I
O
N
[
‘
a
d
m
i
n
_
i
d
’
]
存
在
则
通
过
验
证
并
刷
新
用
户
登
陆
记
录
当
前
用
户
s
e
s
s
i
o
n
信
息
为
空
时
则
会
判
断
用
户
的
c
o
o
k
i
e
信
息
,
如
果
设
置
了
c
o
o
k
i
e
信
息
则
判
断
c
o
o
k
i
e
的
账
号
密
码
是
否
能
登
陆
如
果
未
设
置
c
o
o
k
i
e
信
息
,
则
跳
转
到
l
o
g
i
n
.
p
h
p
?
a
c
t
=
l
o
g
i
n
页
面
重
新
登
陆
0
x
0
3
漏
洞
审
计
漏
洞
审
计
s
q
l
注
入
漏
洞
注
入
漏
洞
通
过
B
l
u
e
C
M
S
我
们
可
以
看
到
各
种
常
见
的
漏
洞
写
法
数
字
型
注
入
e
l
s
e
i
f
(
$
a
c
t
=
=
'
m
a
i
n
'
)
{
/
/
显
示
主
体
页
面
$
s
m
a
r
t
y
-
>
d
i
s
p
l
a
y
(
'
m
a
i
n
.
h
t
m
'
)
;
}
<
f
r
a
m
e
s
e
t
r
o
w
s
=
"
7
6
,
*
"
f
r
a
m
e
b
o
r
d
e
r
=
"
n
o
"
b
o
r
d
e
r
=
"
0
"
f
r
a
m
e
s
p
a
c
i
n
g
=
"
0
"
>
<
f
r
a
m
e
s
r
c
=
"
i
n
d
e
x
.
p
h
p
?
a
c
t
=
t
o
p
"
n
a
m
e
=
"
t
o
p
F
r
a
m
e
"
i
d
=
"
t
o
p
F
r
a
m
e
"
s
c
r
o
l
l
i
n
g
=
"
n
o
"
n
o
r
e
s
i
z
e
>
<
f
r
a
m
e
s
e
t
c
o
l
s
=
"
1
7
6
,
*
"
n
a
m
e
=
"
b
o
d
y
F
r
a
m
e
"
i
d
=
"
b
o
d
y
F
r
a
m
e
"
f
r
a
m
e
b
o
r
d
e
r
=
"
n
o
"
b
o
r
d
e
r
=
"
0
"
f
r
a
m
e
s
p
a
c
i
n
g
=
"
0
"
>
<
f
r
a
m
e
s
r
c
=
"
i
n
d
e
x
.
p
h
p
?
a
c
t
=
m
e
n
u
"
n
a
m
e
=
"
m
e
n
u
F
r
a
m
e
"
i
d
=
"
m
e
n
u
F
r
a
m
e
"
s
c
r
o
l
l
i
n
g
=
"
y
e
s
"
n
o
r
e
s
i
z
e
>
<
f
r
a
m
e
s
r
c
=
"
i
n
d
e
x
.
p
h
p
?
a
c
t
=
m
a
i
n
"
n
a
m
e
=
"
m
a
i
n
F
r
a
m
e
"
i
d
=
"
m
a
i
n
F
r
a
m
e
"
s
c
r
o
l
l
i
n
g
=
"
a
u
t
o
"
n
o
r
e
s
i
z
e
>
<
/
f
r
a
m
e
s
e
t
>
<
/
f
r
a
m
e
s
e
t
>
/
/
加
载
一
些
基
础
文
件
r
e
q
u
i
r
e
_
o
n
c
e
(
…
…
)
/
/
外
部
数
据
过
滤
d
e
e
p
_
a
d
d
s
l
a
s
h
e
s
(
)
/
/
数
据
库
链
接
r
e
q
u
i
r
e
_
o
n
c
e
(
B
L
U
E
_
R
O
O
T
.
'
i
n
c
l
u
d
e
/
m
y
s
q
l
.
c
l
a
s
s
.
p
h
p
'
)
;
$
d
b
=
n
e
w
m
y
s
q
l
(
$
d
b
h
o
s
t
,
$
d
b
u
s
e
r
,
$
d
b
p
a
s
s
,
$
d
b
n
a
m
e
)
;
/
/
加
载
s
m
a
r
t
y
模
板
引
擎
r
e
q
u
i
r
e
(
B
L
U
E
_
R
O
O
T
.
'
i
n
c
l
u
d
e
/
s
m
a
r
t
y
/
S
m
a
r
t
y
.
c
l
a
s
s
.
p
h
p
'
)
;
$
s
m
a
r
t
y
=
n
e
w
S
m
a
r
t
y
(
)
;
/
/
管
理
员
身
份
认
证
i
f
(
e
m
p
t
y
(
$
_
S
E
S
S
I
O
N
[
'
a
d
m
i
n
_
i
d
'
]
)
&
&
$
_
R
E
Q
U
E
S
T
[
'
a
c
t
'
]
!
=
'
l
o
g
i
n
'
&
&
$
_
R
E
Q
U
E
S
T
[
'
a
c
t
'
]
!
=
'
d
o
_
l
o
g
i
n
'
&
&
$
_
R
E
Q
U
E
S
T
[
'
a
c
t
'
]
!
=
'
l
o
g
o
u
t
'
)
{
i
f
(
$
_
C
O
O
K
I
E
[
'
B
l
u
e
'
]
[
'
a
d
m
i
n
_
i
d
'
]
&
&
$
_
C
O
O
K
I
E
[
'
B
l
u
e
'
]
[
'
a
d
m
i
n
_
n
a
m
e
'
]
&
&
$
_
C
O
O
K
I
E
[
'
B
l
u
e
'
]
[
'
a
d
m
i
n
_
p
w
d
'
]
)
{
i
f
(
c
h
e
c
k
_
c
o
o
k
i
e
(
$
_
C
O
O
K
I
E
[
'
B
l
u
e
'
]
[
'
a
d
m
i
n
_
n
a
m
e
'
]
,
$
_
C
O
O
K
I
E
[
'
B
l
u
e
'
]
[
'
a
d
m
i
n
_
p
w
d
'
]
)
)
{
u
p
d
a
t
e
_
a
d
m
i
n
_
i
n
f
o
(
$
_
C
O
O
K
I
E
[
'
B
l
u
e
'
]
[
'
a
d
m
i
n
_
n
a
m
e
'
]
)
;
}
}
e
l
s
e
{
s
e
t
c
o
o
k
i
e
(
"
B
l
u
e
[
a
d
m
i
n
_
i
d
]
"
,
'
'
,
1
,
$
c
o
o
k
i
e
p
a
t
h
,
$
c
o
o
k
i
e
d
o
m
a
i
n
)
;
s
e
t
c
o
o
k
i
e
(
"
B
l
u
e
[
a
d
m
i
n
_
n
a
m
e
]
"
,
'
'
,
1
,
$
c
o
o
k
i
e
p
a
t
h
,
$
c
o
o
k
i
e
d
o
m
a
i
n
)
;
s
e
t
c
o
o
k
i
e
(
"
B
l
u
e
[
a
d
m
i
n
_
p
w
d
]
"
,
'
'
,
1
,
$
c
o
o
k
i
e
p
a
t
h
,
$
c
o
o
k
i
e
d
o
m
a
i
n
)
;
e
c
h
o
'
<
s
c
r
i
p
t
t
y
p
e
=
"
t
e
x
t
/
j
a
v
a
s
c
r
i
p
t
"
>
t
o
p
.
l
o
c
a
t
i
o
n
=
"
l
o
g
i
n
.
p
h
p
?
a
c
t
=
l
o
g
i
n
"
;
<
/
s
c
r
i
p
t
>
'
;
e
x
i
t
(
)
;
}
}
e
l
s
e
i
f
(
$
_
S
E
S
S
I
O
N
[
'
a
d
m
i
n
_
i
d
'
]
)
{
u
p
d
a
t
e
_
a
d
m
i
n
_
i
n
f
o
(
$
_
S
E
S
S
I
O
N
[
'
a
d
m
i
n
_
n
a
m
e
'
]
)
;
}
a
d
_
j
s
.
p
h
p
a
d
_
j
s
.
p
h
p
加
载
了
c
o
m
m
o
n
.
i
n
c
.
p
h
p
,
会
对
G
P
C
数
据
做
a
d
d
s
l
a
s
h
e
s
(
)
过
滤
$
a
d
_
i
d
通
过
$
_
G
E
T
方
式
获
取
,
会
自
动
经
过
一
层
过
滤
,
最
终
传
入
到
s
q
l
语
句
执
行
在
执
行
的
s
q
l
语
句
中
发
现
$
a
d
_
i
d
没
有
引
号
包
裹
,
而
且
没
有
做
数
字
型
判
断
,
那
么
这
里
很
有
可
能
存
在
数
字
型
s
q
l
注
入
s
q
l
查
询
结
果
最
后
是
用
注
释
的
方
式
放
在
页
面
上
$
_
S
E
R
V
E
R
的
突
破
的
突
破
上
面
知
道
只
对
G
P
C
数
据
做
了
全
局
过
滤
,
还
有
一
个
是
没
有
过
滤
的
,
其
实
也
是
可
以
传
入
外
部
可
控
数
据
的
g
u
e
s
t
_
b
o
o
k
.
p
h
p
g
u
e
s
t
_
b
o
o
k
.
p
h
p
是
一
个
处
理
用
户
留
言
功
能
的
模
块
,
但
用
户
发
送
留
言
时
,
会
同
时
把
用
户
留
言
的
i
p
地
址
一
起
放
到
数
据
库
中
其
中
$
o
n
l
i
n
e
_
i
p
来
自
c
o
m
m
o
n
.
f
u
n
.
p
h
p
中
g
e
t
i
p
(
)
函
数
c
o
m
m
o
n
.
f
u
n
.
p
h
p
g
e
t
i
p
(
)
首
先
会
在
开
头
的
环
境
变
量
寻
找
i
p
,
开
头
的
变
量
是
可
控
的
,
来
自
请
求
头
r
e
q
u
i
r
e
_
o
n
c
e
d
i
r
n
a
m
e
(
_
_
F
I
L
E
_
_
)
.
'
/
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
i
n
c
.
p
h
p
'
;
$
a
d
_
i
d
=
!
e
m
p
t
y
(
$
_
G
E
T
[
'
a
d
_
i
d
'
]
)
?
t
r
i
m
(
$
_
G
E
T
[
'
a
d
_
i
d
'
]
)
:
'
'
;
$
a
d
=
$
d
b
-
>
g
e
t
o
n
e
(
"
S
E
L
E
C
T
*
F
R
O
M
"
.
t
a
b
l
e
(
'
a
d
'
)
.
"
W
H
E
R
E
a
d
_
i
d
=
"
.
$
a
d
_
i
d
)
;
i
f
(
$
a
d
[
'
t
i
m
e
_
s
e
t
'
]
=
=
0
)
{
$
a
d
_
c
o
n
t
e
n
t
=
$
a
d
[
'
c
o
n
t
e
n
t
'
]
;
}
e
c
h
o
"
<
!
-
-
r
n
d
o
c
u
m
e
n
t
.
w
r
i
t
e
(
"
"
.
$
a
d
_
c
o
n
t
e
n
t
.
"
"
)
;
r
n
-
-
>
r
n
"
;
复
现
漏
洞
时
我
是
想
利
用
报
错
注
入
快
一
点
,
但
没
有
成
功
,
奇
怪
,
下
面
用
u
n
i
o
n
注
入
复
现
:
h
t
t
p
:
/
/
b
l
u
e
c
m
s
.
t
e
s
t
:
8
8
8
8
/
a
d
_
j
s
.
p
h
p
?
a
d
_
i
d
=
0
u
n
i
o
n
s
e
l
e
c
t
1
,
2
,
3
,
4
,
5
,
6
,
v
e
r
s
i
o
n
(
)
-
-
+
$
_
S
E
R
V
E
R
$
_
S
E
R
V
E
R
r
e
q
u
i
r
e
d
i
r
n
a
m
e
(
_
_
F
I
L
E
_
_
)
.
'
/
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
i
n
c
.
p
h
p
'
;
i
f
(
$
a
c
t
=
=
'
l
i
s
t
'
)
{
…
…
}
e
l
s
e
i
f
(
$
a
c
t
=
=
'
s
e
n
d
'
)
{
$
s
q
l
=
"
I
N
S
E
R
T
I
N
T
O
"
.
t
a
b
l
e
(
'
g
u
e
s
t
_
b
o
o
k
'
)
.
"
(
i
d
,
r
i
d
,
u
s
e
r
_
i
d
,
a
d
d
_
t
i
m
e
,
i
p
,
c
o
n
t
e
n
t
)
V
A
L
U
E
S
(
'
'
,
'
$
r
i
d
'
,
'
$
u
s
e
r
_
i
d
'
,
'
$
t
i
m
e
s
t
a
m
p
'
,
'
$
o
n
l
i
n
e
_
i
p
'
,
'
$
c
o
n
t
e
n
t
'
)
"
;
$
d
b
-
>
q
u
e
r
y
(
$
s
q
l
)
;
}
H
T
T
P
_
H
T
T
P
_
f
u
n
c
t
i
o
n
g
e
t
i
p
(
)
{
i
f
(
g
e
t
e
n
v
(
'
H
T
T
P
_
C
L
I
E
N
T
_
I
P
'
)
)
{
$
i
p
=
g
e
t
e
n
v
(
'
H
T
T
P
_
C
L
I
E
N
T
_
I
P
'
)
;
}
e
l
s
e
i
f
(
g
e
t
e
n
v
(
'
H
T
T
P
_
X
_
F
O
R
W
A
R
D
E
D
_
F
O
R
'
)
)
{
$
i
p
=
g
e
t
e
n
v
(
'
H
T
T
P
_
X
_
F
O
R
W
A
R
D
E
D
_
F
O
R
'
)
;
}
…
…
漏
洞
复
现
:
效
果
:
宽
字
节
注
入
宽
字
节
注
入
上
面
有
提
到
这
一
点
,
因
为
程
序
在
数
据
库
链
接
处
设
置
了
G
B
K
编
码
,
利
用
宽
字
节
注
入
可
以
绕
过
程
序
过
滤
,
所
以
B
l
u
e
C
M
S
的
s
q
l
注
入
基
本
都
有
存
在
,
下
面
就
找
一
个
地
方
验
证
一
下
a
d
m
i
n
/
l
o
g
i
n
.
p
h
p
a
d
m
i
n
/
l
o
g
i
n
.
p
h
p
是
后
台
管
理
员
登
陆
页
面
,
如
果
这
里
存
在
s
q
l
注
入
常
见
的
利
用
方
式
就
是
注
入
万
能
密
码
可
以
看
到
后
台
验
证
验
证
用
户
是
否
登
陆
的
依
据
:
具
有
非
空
$
_
S
E
S
S
I
O
N
[
‘
a
d
m
i
n
_
i
d
’
]
值
$
a
d
m
i
n
_
n
a
m
e
和
$
a
d
m
i
n
_
p
w
d
通
过
p
o
s
t
获
取
,
p
o
s
t
数
据
会
通
过
a
d
d
s
l
a
s
h
s
(
)
函
数
过
滤
。
验
证
的
关
键
函
数
为
c
h
e
c
k
_
a
d
m
i
n
(
)
…
…
e
l
s
e
{
$
i
p
=
$
_
S
E
R
V
E
R
[
'
R
E
M
O
T
E
_
A
D
D
R
'
]
;
}
r
e
t
u
r
n
$
i
p
;
}
P
O
S
T
/
g
u
e
s
t
_
b
o
o
k
.
p
h
p
H
T
T
P
/
1
.
1
H
o
s
t
:
b
l
u
e
c
m
s
:
8
8
8
8
U
s
e
r
-
A
g
e
n
t
:
M
o
z
i
l
l
a
/
5
.
0
(
M
a
c
i
n
t
o
s
h
;
I
n
t
e
l
M
a
c
O
S
X
1
0
.
1
5
;
r
v
:
8
9
.
0
)
G
e
c
k
o
/
2
0
1
0
0
1
0
1
F
i
r
e
f
o
x
/
8
9
.
0
A
c
c
e
p
t
:
t
e
x
t
/
h
t
m
l
,
a
p
p
l
i
c
a
t
i
o
n
/
x
h
t
m
l
+
x
m
l
,
a
p
p
l
i
c
a
t
i
o
n
/
x
m
l
;
q
=
0
.
9
,
i
m
a
g
e
/
w
e
b
p
,
*
/
*
;
q
=
0
.
8
A
c
c
e
p
t
-
L
a
n
g
u
a
g
e
:
z
h
-
C
N
,
z
h
;
q
=
0
.
8
,
z
h
-
T
W
;
q
=
0
.
7
,
z
h
-
H
K
;
q
=
0
.
5
,
e
n
-
U
S
;
q
=
0
.
3
,
e
n
;
q
=
0
.
2
A
c
c
e
p
t
-
E
n
c
o
d
i
n
g
:
g
z
i
p
,
d
e
f
l
a
t
e
C
o
n
t
e
n
t
-
T
y
p
e
:
a
p
p
l
i
c
a
t
i
o
n
/
x
-
w
w
w
-
f
o
r
m
-
u
r
l
e
n
c
o
d
e
d
X
_
F
O
R
W
A
R
D
E
D
_
F
O
R
:
1
9
2
.
1
6
8
.
4
4
.
1
'
,
u
s
e
r
(
)
)
#
C
o
n
n
e
c
t
i
o
n
:
c
l
o
s
e
C
o
o
k
i
e
:
P
H
P
S
E
S
S
I
D
=
8
d
9
d
7
e
d
9
d
a
5
a
9
6
a
c
9
b
0
0
9
3
d
c
e
e
d
6
8
4
f
9
U
p
g
r
a
d
e
-
I
n
s
e
c
u
r
e
-
R
e
q
u
e
s
t
s
:
1
C
o
n
t
e
n
t
-
L
e
n
g
t
h
:
3
7
c
o
n
t
e
n
t
=
h
e
l
l
o
&
a
c
t
=
s
e
n
d
&
p
a
g
e
_
i
d
=
1
&
r
i
d
=
r
e
q
u
i
r
e
_
o
n
c
e
(
d
i
r
n
a
m
e
(
_
_
F
I
L
E
_
_
)
.
'
/
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
i
n
c
.
p
h
p
'
)
;
i
f
(
$
a
c
t
=
=
'
l
o
g
i
n
'
)
{
i
f
(
$
_
S
E
S
S
I
O
N
[
'
a
d
m
i
n
_
i
d
'
]
)
{
s
h
o
w
m
s
g
(
'
您
已
登
录
,
不
用
再
次
登
录
'
,
'
i
n
d
e
x
.
p
h
p
'
)
;
}
…
…
}
e
l
s
e
i
f
(
$
a
c
t
=
=
'
d
o
_
l
o
g
i
n
'
)
{
$
a
d
m
i
n
_
n
a
m
e
=
i
s
s
e
t
(
$
_
P
O
S
T
[
'
a
d
m
i
n
_
n
a
m
e
'
]
)
?
t
r
i
m
(
$
_
P
O
S
T
[
'
a
d
m
i
n
_
n
a
m
e
'
]
)
:
'
'
;
$
a
d
m
i
n
_
p
w
d
=
i
s
s
e
t
(
$
_
P
O
S
T
[
'
a
d
m
i
n
_
p
w
d
'
]
)
?
t
r
i
m
(
$
_
P
O
S
T
[
'
a
d
m
i
n
_
p
w
d
'
]
)
:
'
'
;
i
f
(
c
h
e
c
k
_
a
d
m
i
n
(
$
a
d
m
i
n
_
n
a
m
e
,
$
a
d
m
i
n
_
p
w
d
)
)
{
u
p
d
a
t
e
_
a
d
m
i
n
_
i
n
f
o
(
$
a
d
m
i
n
_
n
a
m
e
)
;
a
d
m
i
n
/
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
f
u
n
.
p
h
p
判
断
的
依
据
是
同
时
查
询
用
户
名
和
密
码
,
查
询
到
结
果
则
为
真
这
里
我
们
的
宽
字
节
利
用
不
就
来
了
,
注
入
永
真
的
s
q
l
语
句
,
我
们
就
绕
过
了
前
台
的
限
制
注
意
浏
览
器
会
自
动
对
p
o
s
t
数
据
u
r
l
编
码
,
我
们
注
入
的
会
被
编
码
导
致
注
入
宽
字
节
失
效
,
最
好
通
过
抓
包
取
消
u
r
l
编
码
任
意
文
件
读
取
任
意
文
件
读
取
/
写
入
写
入
在
B
l
u
e
C
M
S
后
台
处
有
一
个
编
辑
模
板
的
功
能
,
对
于
这
种
功
能
,
安
全
小
伙
应
该
保
持
敏
感
,
这
里
会
出
现
读
取
和
写
入
的
操
作
,
很
有
可
能
就
存
在
任
意
文
件
读
取
/
写
入
漏
洞
u
p
d
a
t
e
_
a
d
m
i
n
_
i
n
f
o
(
$
a
d
m
i
n
_
n
a
m
e
)
;
i
f
(
$
r
e
m
e
m
b
e
r
=
=
1
)
{
s
e
t
c
o
o
k
i
e
(
'
B
l
u
e
[
a
d
m
i
n
_
i
d
]
'
,
$
_
S
E
S
S
I
O
N
[
'
a
d
m
i
n
_
i
d
'
]
,
t
i
m
e
(
)
+
8
6
4
0
0
)
;
s
e
t
c
o
o
k
i
e
(
'
B
l
u
e
[
a
d
m
i
n
_
n
a
m
e
]
'
,
$
a
d
m
i
n
_
n
a
m
e
,
t
i
m
e
(
)
+
8
6
4
0
0
)
;
s
e
t
c
o
o
k
i
e
(
'
B
l
u
e
[
a
d
m
i
n
_
p
w
d
]
'
,
m
d
5
(
m
d
5
(
$
a
d
m
i
n
_
p
w
d
)
.
$
_
C
F
G
[
'
c
o
o
k
i
e
_
h
a
s
h
'
]
)
,
t
i
m
e
(
)
+
8
6
4
0
0
)
;
}
}
e
l
s
e
{
s
h
o
w
m
s
g
(
'
您
输
入
的
用
户
名
和
密
码
有
误
'
)
;
}
}
f
u
n
c
t
i
o
n
c
h
e
c
k
_
a
d
m
i
n
(
$
n
a
m
e
,
$
p
w
d
)
{
g
l
o
b
a
l
$
d
b
;
$
r
o
w
=
$
d
b
-
>
g
e
t
o
n
e
(
"
S
E
L
E
C
T
C
O
U
N
T
(
*
)
A
S
n
u
m
F
R
O
M
"
.
t
a
b
l
e
(
'
a
d
m
i
n
'
)
.
"
W
H
E
R
E
a
d
m
i
n
_
n
a
m
e
=
'
$
n
a
m
e
'
a
n
d
p
w
d
=
m
d
5
(
'
$
p
w
d
'
)
"
)
;
i
f
(
$
r
o
w
[
'
n
u
m
'
]
>
0
)
{
r
e
t
u
r
n
t
r
u
e
;
}
e
l
s
e
{
r
e
t
u
r
n
f
a
l
s
e
;
}
}
%
审
计
细
节
a
d
m
i
n
/
t
p
l
_
m
a
n
a
g
e
.
p
h
p
$
a
c
t
可
控
,
用
于
指
定
操
作
,
具
有
的
操
作
为
l
i
s
t
,
e
d
i
t
和
d
o
_
e
d
i
t
默
认
操
作
l
i
s
t
,
列
出
指
定
目
录
下
的
文
件
操
作
e
d
i
t
用
于
读
取
指
定
目
录
下
的
$
f
i
l
e
,
该
参
数
可
控
,
通
过
.
.
/
可
以
实
现
目
录
穿
越
,
这
里
就
有
任
意
文
件
读
取
漏
洞
操
作
d
o
_
e
d
i
t
将
$
t
p
l
_
c
o
n
t
e
n
t
写
入
到
$
t
p
l
_
n
a
m
e
文
件
中
,
两
个
参
数
都
可
控
,
不
过
写
入
的
内
容
$
t
p
l
_
c
o
n
t
e
n
t
会
通
过
d
e
e
p
_
s
t
r
i
p
s
l
a
s
h
e
s
(
)
过
滤
,
同
时
还
要
注
意
$
t
p
l
_
c
o
n
t
e
n
t
是
通
过
P
O
S
T
方
式
传
入
的
,
还
会
经
过
a
d
d
s
l
a
s
h
e
s
(
)
处
理
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
f
u
n
.
p
h
p
查
看
d
e
e
p
_
s
t
r
i
p
s
l
a
s
h
e
s
(
)
,
其
实
就
是
使
用
s
t
r
i
p
s
l
a
s
h
e
s
(
)
来
消
除
a
d
d
s
l
a
s
h
e
s
(
)
的
影
响
,
所
以
这
里
我
们
输
入
的
内
容
完
全
可
控
,
这
里
将
同
时
存
在
任
意
文
r
e
q
u
i
r
e
_
o
n
c
e
(
d
i
r
n
a
m
e
(
_
_
F
I
L
E
_
_
)
.
'
/
i
n
c
l
u
d
e
/
c
o
m
m
o
n
.
i
n
c
.
p
h
p
'
)
;
$
a
c
t
=
!
e
m
p
t
y
(
$
_
R
E
Q
U
E
S
T
[
'
a
c
t
'
]
)
?
t
r
i
m
(
$
_
R
E
Q
U
E
S
T
[
'
a
c
t
'
]
)
:
'
l
i
s
t
'
;
i
f
(
$
a
c
t
=
=
'
l
i
s
t
'
)
{
$
d
i
r
=
B
L
U
E
_
R
O
O
T
.
'
t
e
m
p
l
a
t
e
s
/
d
e
f
a
u
l
t
'
;
/
/
列
出
$
d
i
r
下
的
文
件
…
…
}
e
l
s
e
i
f
(
$
a
c
t
=
=
'
e
d
i
t
'
)
{
$
f
i
l
e
=
$
_
G
E
T
[
'
t
p
l
_
n
a
m
e
'
]
;
i
f
(
!
$
h
a
n
d
l
e
=
@
f
o
p
e
n
(
B
L
U
E
_
R
O
O
T
.
'
t
e
m
p
l
a
t
e
s
/
d
e
f
a
u
l
t
/
'
.
$
f
i
l
e
,
'
r
b
'
)
)
{
s
h
o
w
m
s
g
(
'
打
开
目
标
模
板
文
件
失
败
'
)
;
}
$
t
p
l
[
'
c
o
n
t
e
n
t
'
]
=
f
r
e
a
d
(
$
h
a
n
d
l
e
,
f
i
l
e
s
i
z
e
(
B
L
U
E
_
R
O
O
T
.
'
t
e
m
p
l
a
t
e
s
/
d
e
f
a
u
l
t
/
'
.
$
f
i
l
e
)
)
;
$
t
p
l
[
'
c
o
n
t
e
n
t
'
]
=
h
t
m
l
e
n
t
i
t
i
e
s
(
$
t
p
l
[
'
c
o
n
t
e
n
t
'
]
,
E
N
T
_
Q
U
O
T
E
S
,
G
B
2
3
1
2
)
;
f
c
l
o
s
e
(
$
h
a
n
d
l
e
)
;
$
t
p
l
[
'
n
a
m
e
'
]
=
$
f
i
l
e
;
t
e
m
p
l
a
t
e
_
a
s
s
i
g
n
(
a
r
r
a
y
(
'
c
u
r
r
e
n
t
_
a
c
t
'
,
'
t
p
l
'
)
,
a
r
r
a
y
(
'
编
辑
模
板
'
,
$
t
p
l
)
)
;
$
s
m
a
r
t
y
-
>
d
i
s
p
l
a
y
(
'
t
p
l
_
i
n
f
o
.
h
t
m
'
)
;
}
e
l
s
e
i
f
(
$
a
c
t
=
=
'
d
o
_
e
d
i
t
'
)
{
$
t
p
l
_
n
a
m
e
=
!
e
m
p
t
y
(
$
_
P
O
S
T
[
'
t
p
l
_
n
a
m
e
'
]
)
?
t
r
i
m
(
$
_
P
O
S
T
[
'
t
p
l
_
n
a
m
e
'
]
)
:
'
'
;
$
t
p
l
_
c
o
n
t
e
n
t
=
!
e
m
p
t
y
(
$
_
P
O
S
T
[
'
t
p
l
_
c
o
n
t
e
n
t
'
]
)
?
d
e
e
p
_
s
t
r
i
p
s
l
a
s
h
e
s
(
$
_
P
O
S
T
[
'
t
p
l
_
c
o
n
t
e
n
t
'
]
)
:
'
'
;
i
f
(
e
m
p
t
y
(
$
t
p
l
_
n
a
m
e
)
)
{
r
e
t
u
r
n
f
a
l
s
e
;
}
$
t
p
l
=
B
L
U
E
_
R
O
O
T
.
'
t
e
m
p
l
a
t
e
s
/
d
e
f
a
u
l
t
/
'
.
$
t
p
l
_
n
a
m
e
;
i
f
(
!
$
h
a
n
d
l
e
=
@
f
o
p
e
n
(
$
t
p
l
,
'
w
b
'
)
)
{
s
h
o
w
m
s
g
(
"
打
开
目
标
模
版
文
件
$
t
p
l
失
败
"
)
;
}
i
f
(
f
w
r
i
t
e
(
$
h
a
n
d
l
e
,
$
t
p
l
_
c
o
n
t
e
n
t
)
=
=
=
f
a
l
s
e
)
{
s
h
o
w
m
s
g
(
'
写
入
目
标
$
t
p
l
失
败
'
)
;
}
f
c
l
o
s
e
(
$
h
a
n
d
l
e
)
;
s
h
o
w
m
s
g
(
'
编
辑
模
板
成
功
'
,
'
t
p
l
_
m
a
n
a
g
e
.
p
h
p
'
)
;
}
件
读
取
和
写
入
的
漏
洞
复
现
复
现
利
用
目
录
穿
越
读
取
任
意
文
件
直
接
构
造
一
个
p
o
s
t
请
求
修
改
一
个
不
存
在
的
文
件
,
这
样
将
会
创
建
一
个
文
件
并
写
入
,
p
o
c
如
下
:
效
果
:
f
u
n
c
t
i
o
n
d
e
e
p
_
s
t
r
i
p
s
l
a
s
h
e
s
(
$
s
t
r
)
{
i
f
(
i
s
_
a
r
r
a
y
(
$
s
t
r
)
)
{
f
o
r
e
a
c
h
(
$
s
t
r
a
s
$
k
e
y
=
>
$
v
a
l
)
{
$
s
t
r
[
$
k
e
y
]
=
d
e
e
p
_
s
t
r
i
p
s
l
a
s
h
e
s
(
$
v
a
l
)
;
}
}
e
l
s
e
{
$
s
t
r
=
s
t
r
i
p
s
l
a
s
h
e
s
(
$
s
t
r
)
;
}
r
e
t
u
r
n
$
s
t
r
;
}
P
O
S
T
/
a
d
m
i
n
/
t
p
l
_
m
a
n
a
g
e
.
p
h
p
H
T
T
P
/
1
.
1
H
o
s
t
:
b
l
u
e
c
m
s
.
t
e
s
t
:
8
8
8
8
U
s
e
r
-
A
g
e
n
t
:
M
o
z
i
l
l
a
/
5
.
0
(
M
a
c
i
n
t
o
s
h
;
I
n
t
e
l
M
a
c
O
S
X
1
0
.
1
5
;
r
v
:
9
0
.
0
)
G
e
c
k
o
/
2
0
1
0
0
1
0
1
F
i
r
e
f
o
x
/
9
0
.
0
A
c
c
e
p
t
:
t
e
x
t
/
h
t
m
l
,
a
p
p
l
i
c
a
t
i
o
n
/
x
h
t
m
l
+
x
m
l
,
a
p
p
l
i
c
a
t
i
o
n
/
x
m
l
;
q
=
0
.
9
,
i
m
a
g
e
/
w
e
b
p
,
*
/
*
;
q
=
0
.
8
A
c
c
e
p
t
-
L
a
n
g
u
a
g
e
:
z
h
-
C
N
,
z
h
;
q
=
0
.
8
,
z
h
-
T
W
;
q
=
0
.
7
,
z
h
-
H
K
;
q
=
0
.
5
,
e
n
-
U
S
;
q
=
0
.
3
,
e
n
;
q
=
0
.
2
A
c
c
e
p
t
-
E
n
c
o
d
i
n
g
:
g
z
i
p
,
d
e
f
l
a
t
e
C
o
n
t
e
n
t
-
T
y
p
e
:
a
p
p
l
i
c
a
t
i
o
n
/
x
-
w
w
w
-
f
o
r
m
-
u
r
l
e
n
c
o
d
e
d
C
o
n
t
e
n
t
-
L
e
n
g
t
h
:
5
9
O
r
i
g
i
n
:
h
t
t
p
:
/
/
b
l
u
e
c
m
s
.
t
e
s
t
:
8
8
8
8
C
o
n
n
e
c
t
i
o
n
:
c
l
o
s
e
R
e
f
e
r
e
r
:
h
t
t
p
:
/
/
b
l
u
e
c
m
s
.
t
e
s
t
:
8
8
8
8
/
a
d
m
i
n
/
t
p
l
_
m
a
n
a
g
e
.
p
h
p
?
a
c
t
=
e
d
i
t
&
t
p
l
_
n
a
m
e
=
n
e
w
s
_
i
n
f
o
.
h
t
m
C
o
o
k
i
e
:
P
H
P
S
E
S
S
I
D
=
b
b
4
9
9
d
4
e
1
b
d
d
b
4
c
5
b
2
c
6
c
d
1
6
c
3
9
e
5
c
7
7
U
p
g
r
a
d
e
-
I
n
s
e
c
u
r
e
-
R
e
q
u
e
s
t
s
:
1
t
p
l
_
c
o
n
t
e
n
t
=
<
?
p
h
p
p
h
p
i
n
f
o
(
)
;
?
>
&
t
p
l
_
n
a
m
e
=
p
h
p
.
p
h
p
&
a
c
t
=
d
o
_
e
d
i
t
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页