论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
代码审计
[14993] 2020-02-09_PHP代码审计之入门实战
文档创建者:
s7ckTeam
浏览次数:
2
最后更新:
2025-01-18
代码审计
2 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前在线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2020-02-09_PHP代码审计之入门实战
P
H
P
代
码
审
计
之
入
门
实
战
国
光
F
r
e
e
B
u
f
2
0
2
0
-
0
2
-
0
9
系
统
介
绍
系
统
介
绍
C
M
S
名
称
名
称
:
新
秀
企
业
网
站
系
统
P
H
P
版
官
网
官
网
:
w
w
w
.
s
i
n
s
i
u
.
c
o
m
版
本
版
本
:
这
里
国
光
用
的
1
.
0
正
式
版
正
式
版
(
官
网
最
新
的
版
本
有
毒
,
网
站
安
装
的
时
候
居
然
默
认
使
用
远
程
数
据
库
?
?
?
迷
之
操
作
那
站
长
的
后
台
密
码
岂
不
是
直
接
泄
露
了
?
疑
似
远
程
数
据
库
地
址
:
s
e
r
v
e
r
.
s
i
n
s
i
u
.
n
e
t
)
下
载
地
址
下
载
地
址
:
蓝
奏
云
W
i
n
d
o
w
s
下
使
用
P
H
P
S
t
u
d
y
可
以
直
接
安
装
,
搭
建
起
来
还
是
很
简
单
的
。
防
护
策
略
防
护
策
略
虽
然
这
是
一
个
不
知
名
的
小
系
统
,
但
是
安
全
加
固
还
是
考
虑
到
的
,
很
多
本
应
该
有
漏
洞
的
地
方
均
被
加
固
修
复
了
,
导
致
国
光
我
一
开
始
一
直
碰
壁
,
=
,
=
废
话
不
多
说
,
下
面
直
接
列
举
本
次
审
计
碰
到
的
一
些
坑
。
伪
造
伪
造
I
P
注
入
过
滤
注
入
过
滤
思
路
思
路
首
先
在
后
台
发
现
有
记
录
用
户
I
P
的
功
能
:
哦
豁
,
会
不
会
有
传
说
中
的
伪
造
I
P
地
址
注
入
攻
击
呢
?
?
?
使
用
数
据
库
监
测
工
具
,
发
现
在
注
册
用
户
发
表
评
论
的
时
候
。
用
户
的
I
P
地
址
也
的
确
被
带
入
S
Q
L
语
句
中
查
询
了
:
V
S
C
o
d
e
走
起
,
根
据
关
键
词
来
查
找
相
关
功
能
代
码
:
i
n
c
l
u
d
e
/
f
u
n
c
t
i
o
n
.
p
h
p
结
果
结
果
获
取
I
P
的
关
键
防
护
代
码
:
获
取
到
的
I
P
值
,
去
除
掉
后
如
果
不
是
数
字
类
型
数
字
类
型
的
话
就
重
置
为
,
扑
街
,
这
条
思
路
行
不
通
,
赶
紧
换
个
思
路
去
s
e
l
e
c
t
*
f
r
o
m
p
h
p
_
s
a
f
e
w
h
e
r
e
s
a
f
_
i
p
=
'
1
0
.
2
1
1
.
5
5
.
2
'
a
n
d
s
a
f
_
a
c
t
i
o
n
=
'
m
e
s
s
a
g
e
'
/
/
获
取
客
户
端
I
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
'
)
&
&
s
t
r
c
a
s
e
c
m
p
(
g
e
t
e
n
v
(
'
H
T
T
P
_
C
L
I
E
N
T
_
I
P
'
)
,
'
u
n
k
n
o
w
n
'
)
)
{
$
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
'
)
&
&
s
t
r
c
a
s
e
c
m
p
(
g
e
t
e
n
v
(
'
H
T
T
P
_
X
_
F
O
R
W
A
R
D
E
D
_
F
O
R
'
)
,
'
u
n
k
n
o
w
n
'
)
)
{
$
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
'
)
;
}
e
l
s
e
i
f
(
g
e
t
e
n
v
(
'
R
E
M
O
T
E
_
A
D
D
R
'
)
&
&
s
t
r
c
a
s
e
c
m
p
(
g
e
t
e
n
v
(
'
R
E
M
O
T
E
_
A
D
D
R
'
)
,
'
u
n
k
n
o
w
n
'
)
)
{
$
i
p
=
g
e
t
e
n
v
(
'
R
E
M
O
T
E
_
A
D
D
R
'
)
;
}
e
l
s
e
i
f
(
i
s
s
e
t
(
$
_
S
E
R
V
E
R
[
'
R
E
M
O
T
E
_
A
D
D
R
'
]
)
&
&
$
_
S
E
R
V
E
R
[
'
R
E
M
O
T
E
_
A
D
D
R
'
]
&
&
s
t
r
c
a
s
e
c
m
p
(
$
_
S
E
R
V
E
R
[
'
R
E
M
O
T
E
_
A
D
D
R
'
]
,
'
u
n
k
n
o
w
n
'
)
)
{
$
i
p
=
$
_
S
E
R
V
E
R
[
'
R
E
M
O
T
E
_
A
D
D
R
'
]
;
}
e
l
s
e
{
$
i
p
=
'
0
.
0
.
0
.
0
'
;
}
i
f
(
!
i
s
_
n
u
m
e
r
i
c
(
s
t
r
_
r
e
p
l
a
c
e
(
'
.
'
,
'
'
,
$
i
p
)
)
)
{
$
i
p
=
'
0
.
0
.
0
.
0
'
;
}
r
e
t
u
r
n
$
i
p
;
}
i
f
(
!
i
s
_
n
u
m
e
r
i
c
(
s
t
r
_
r
e
p
l
a
c
e
(
'
.
'
,
'
'
,
$
i
p
)
)
)
{
$
i
p
=
'
0
.
0
.
0
.
0
'
;
}
.
0
.
0
.
0
.
0
存
储
型
存
储
型
X
S
S
过
滤
过
滤
思
路
思
路
网
站
前
台
有
留
言
功
能
,
留
言
就
会
想
到
存
储
型
X
S
S
,
2
3
3
3
嗝
:
结
果
结
果
定
位
到
留
言
函
数
的
代
码
:
i
n
d
e
x
/
m
o
d
u
l
e
/
i
n
f
o
_
m
a
i
n
.
p
h
p
可
以
看
到
前
台
用
户
传
入
的
数
据
经
过
了
函
数
,
追
踪
到
函
数
的
定
义
处
:
i
n
c
l
u
d
e
/
f
u
n
c
t
i
o
n
.
p
h
p
?
?
?
继
续
找
到
的
定
义
处
:
i
n
c
l
u
d
e
/
f
u
n
c
t
i
o
n
.
p
h
p
f
u
n
c
t
i
o
n
a
d
d
_
m
e
s
s
a
g
e
(
)
{
s
a
f
e
(
'
m
e
s
s
a
g
e
'
)
;
g
l
o
b
a
l
$
g
l
o
b
a
l
,
$
s
m
a
r
t
y
,
$
l
a
n
g
;
$
m
e
s
_
e
m
a
i
l
=
p
o
s
t
(
'
e
m
a
i
l
'
)
;
$
m
e
s
_
t
y
p
e
=
p
o
s
t
(
'
t
y
p
e
'
)
;
$
m
e
s
_
t
i
t
l
e
=
p
o
s
t
(
'
t
i
t
l
e
'
)
;
$
m
e
s
_
t
e
x
t
=
p
o
s
t
(
'
t
e
x
t
'
)
;
$
m
e
s
_
s
h
o
w
=
p
o
s
t
(
'
s
h
o
w
'
)
;
i
f
(
$
m
e
s
_
e
m
a
i
l
=
=
'
'
|
|
$
m
e
s
_
t
y
p
e
=
=
'
'
|
|
$
m
e
s
_
t
i
t
l
e
=
=
'
'
|
|
$
m
e
s
_
t
e
x
t
=
=
'
'
)
{
$
i
n
f
o
_
t
e
x
t
=
$
l
a
n
g
[
'
s
u
b
m
i
t
_
e
r
r
o
r
_
i
n
f
o
'
]
;
}
e
l
s
e
{
$
m
e
s
_
a
d
d
_
t
i
m
e
=
t
i
m
e
(
)
;
i
f
(
$
m
e
s
_
s
h
o
w
!
=
'
2
'
)
{
$
m
e
s
_
s
h
o
w
=
'
0
'
;
}
$
o
b
j
=
n
e
w
m
e
s
s
a
g
e
(
)
;
$
o
b
j
-
>
s
e
t
_
v
a
l
u
e
(
'
m
e
s
_
u
s
e
r
_
i
d
'
,
$
g
l
o
b
a
l
[
'
u
s
e
r
_
i
d
'
]
)
;
$
o
b
j
-
>
s
e
t
_
v
a
l
u
e
(
'
m
e
s
_
t
y
p
e
'
,
$
m
e
s
_
t
y
p
e
)
;
$
o
b
j
-
>
s
e
t
_
v
a
l
u
e
(
'
m
e
s
_
e
m
a
i
l
'
,
$
m
e
s
_
e
m
a
i
l
)
;
$
o
b
j
-
>
s
e
t
_
v
a
l
u
e
(
'
m
e
s
_
t
i
t
l
e
'
,
$
m
e
s
_
t
i
t
l
e
)
;
$
o
b
j
-
>
s
e
t
_
v
a
l
u
e
(
'
m
e
s
_
t
e
x
t
'
,
$
m
e
s
_
t
e
x
t
)
;
$
o
b
j
-
>
s
e
t
_
v
a
l
u
e
(
'
m
e
s
_
a
d
d
_
t
i
m
e
'
,
$
m
e
s
_
a
d
d
_
t
i
m
e
)
;
$
o
b
j
-
>
s
e
t
_
v
a
l
u
e
(
'
m
e
s
_
s
h
o
w
'
,
$
m
e
s
_
s
h
o
w
)
;
$
o
b
j
-
>
s
e
t
_
v
a
l
u
e
(
'
m
e
s
_
l
a
n
g
'
,
S
_
L
A
N
G
)
;
$
o
b
j
-
>
a
d
d
(
)
;
i
f
(
i
n
t
v
a
l
(
g
e
t
_
v
a
r
i
a
(
'
s
e
n
t
m
a
i
l
'
)
)
)
{
$
e
m
a
i
l
_
t
i
t
l
e
=
'
您
的
网
站
有
了
新
的
留
言
'
;
$
e
m
a
i
l
_
t
e
x
t
=
"
[
$
m
e
s
_
t
y
p
e
]
$
m
e
s
_
t
i
t
l
e
<
b
r
/
>
$
m
e
s
_
t
e
x
t
"
;
c
a
l
l
_
s
e
n
d
_
e
m
a
i
l
(
$
e
m
a
i
l
_
t
i
t
l
e
,
$
e
m
a
i
l
_
t
e
x
t
,
$
g
l
o
b
a
l
[
'
u
s
e
r
_
i
d
'
]
,
$
m
e
s
_
e
m
a
i
l
)
;
}
$
i
n
f
o
_
t
e
x
t
=
$
l
a
n
g
[
'
s
u
b
m
i
t
_
m
e
s
s
a
g
e
'
]
;
}
$
s
m
a
r
t
y
-
>
a
s
s
i
g
n
(
'
i
n
f
o
_
t
e
x
t
'
,
$
i
n
f
o
_
t
e
x
t
)
;
$
s
m
a
r
t
y
-
>
a
s
s
i
g
n
(
'
l
i
n
k
_
t
e
x
t
'
,
$
l
a
n
g
[
'
g
o
_
b
a
c
k
'
]
)
;
$
s
m
a
r
t
y
-
>
a
s
s
i
g
n
(
'
l
i
n
k
_
h
r
e
f
'
,
u
r
l
(
a
r
r
a
y
(
'
c
h
a
n
n
e
l
'
=
>
'
m
e
s
s
a
g
e
'
)
)
)
;
}
p
o
s
t
(
)
p
o
s
t
(
)
f
u
n
c
t
i
o
n
p
o
s
t
(
$
v
a
l
,
$
f
i
l
t
e
r
=
'
s
t
r
i
c
t
'
)
{
r
e
t
u
r
n
$
f
i
l
t
e
r
(
i
s
s
e
t
(
$
_
P
O
S
T
[
$
v
a
l
]
)
?
$
_
P
O
S
T
[
$
v
a
l
]
:
'
'
)
;
}
s
t
r
i
c
t
/
/
严
格
过
滤
字
符
串
中
的
危
险
符
号
f
u
n
c
t
i
o
n
s
t
r
i
c
t
(
$
s
t
r
)
{
i
f
(
S
_
M
A
G
I
C
_
Q
U
O
T
E
S
_
G
P
C
)
{
$
s
t
r
=
s
t
r
i
p
s
l
a
s
h
e
s
(
$
s
t
r
)
;
可
以
发
现
我
们
的
存
储
X
S
S
所
用
到
的
尖
括
号
完
全
被
过
滤
掉
了
:
这
也
导
致
了
管
理
员
后
台
可
以
直
接
看
到
X
S
S
P
a
y
l
o
a
d
,
场
面
一
度
非
常
尴
尬
:
用
户
评
论
的
核
心
代
码
也
被
过
滤
了
:
i
n
d
e
x
/
m
o
d
u
l
e
/
i
n
f
o
_
m
a
i
n
.
p
h
p
存
储
X
S
S
扑
g
a
i
~
前
台
用
户
前
台
用
户
C
S
R
F
判
断
判
断
思
路
思
路
网
站
有
留
言
板
和
文
章
评
论
,
如
何
存
在
C
S
R
F
越
权
的
话
可
以
在
评
论
或
者
留
言
处
贴
构
造
好
的
C
S
R
F
链
接
,
来
进
行
C
S
R
F
攻
击
。
2
3
3
3
3
感
觉
稳
了
!
定
位
到
相
关
功
能
代
码
:
i
n
d
e
x
/
m
o
d
u
l
e
/
u
s
e
r
/
d
e
a
l
.
p
h
p
结
果
结
果
i
n
d
e
x
/
m
o
u
d
l
e
/
u
s
e
r
/
d
e
a
l
.
p
h
p
$
s
t
r
=
s
t
r
i
p
s
l
a
s
h
e
s
(
$
s
t
r
)
;
}
$
s
t
r
=
s
t
r
_
r
e
p
l
a
c
e
(
'
<
'
,
'
&
#
6
0
;
'
,
$
s
t
r
)
;
$
s
t
r
=
s
t
r
_
r
e
p
l
a
c
e
(
'
>
'
,
'
&
#
6
2
;
'
,
$
s
t
r
)
;
$
s
t
r
=
s
t
r
_
r
e
p
l
a
c
e
(
'
?
'
,
'
&
#
6
3
;
'
,
$
s
t
r
)
;
$
s
t
r
=
s
t
r
_
r
e
p
l
a
c
e
(
'
%
'
,
'
&
#
3
7
;
'
,
$
s
t
r
)
;
$
s
t
r
=
s
t
r
_
r
e
p
l
a
c
e
(
c
h
r
(
3
9
)
,
'
&
#
3
9
;
'
,
$
s
t
r
)
;
$
s
t
r
=
s
t
r
_
r
e
p
l
a
c
e
(
c
h
r
(
3
4
)
,
'
&
#
3
4
;
'
,
$
s
t
r
)
;
$
s
t
r
=
s
t
r
_
r
e
p
l
a
c
e
(
c
h
r
(
1
3
)
.
c
h
r
(
1
0
)
,
'
<
b
r
/
>
'
,
$
s
t
r
)
;
r
e
t
u
r
n
$
s
t
r
;
}
$
s
t
r
=
s
t
r
_
r
e
p
l
a
c
e
(
'
<
'
,
'
&
#
6
0
;
'
,
$
s
t
r
)
;
$
s
t
r
=
s
t
r
_
r
e
p
l
a
c
e
(
'
>
'
,
'
&
#
6
2
;
'
,
$
s
t
r
)
;
f
u
n
c
t
i
o
n
a
d
d
_
c
o
m
m
e
n
t
(
)
{
s
a
f
e
(
'
c
o
m
m
e
n
t
'
)
;
g
l
o
b
a
l
$
g
l
o
b
a
l
,
$
s
m
a
r
t
y
,
$
l
a
n
g
;
$
c
h
a
n
n
e
l
=
p
o
s
t
(
'
c
h
a
n
n
e
l
'
)
;
$
c
o
m
_
p
a
g
e
_
i
d
=
p
o
s
t
(
'
p
a
g
e
_
i
d
'
)
;
$
c
o
m
_
e
m
a
i
l
=
p
o
s
t
(
'
e
m
a
i
l
'
)
;
$
c
o
m
_
r
a
n
k
=
p
o
s
t
(
'
r
a
n
k
'
)
;
$
c
o
m
_
t
e
x
t
=
p
o
s
t
(
'
t
e
x
t
'
)
;
i
f
(
$
c
h
a
n
n
e
l
=
=
'
'
|
|
$
c
o
m
_
p
a
g
e
_
i
d
=
=
'
'
|
|
$
c
o
m
_
r
a
n
k
=
=
'
'
|
|
$
c
o
m
_
e
m
a
i
l
=
=
'
'
|
|
$
c
o
m
_
t
e
x
t
=
=
'
'
)
{
$
i
n
f
o
_
t
e
x
t
=
$
l
a
n
g
[
'
s
u
b
m
i
t
_
e
r
r
o
r
_
i
n
f
o
'
]
;
}
.
.
.
.
.
.
}
f
u
n
c
t
i
o
n
e
d
i
t
_
p
w
d
(
)
{
s
a
f
e
(
'
e
d
i
t
_
p
w
d
'
)
;
g
l
o
b
a
l
$
g
l
o
b
a
l
,
$
s
m
a
r
t
y
,
$
l
a
n
g
;
$
o
l
d
_
p
w
d
=
p
o
s
t
(
'
o
l
d
_
p
w
d
'
)
;
$
n
e
w
_
p
w
d
=
p
o
s
t
(
'
n
e
w
_
p
w
d
'
)
;
$
r
e
_
p
w
d
=
p
o
s
t
(
'
r
e
_
p
w
d
'
)
;
i
f
(
s
t
r
l
e
n
(
$
o
l
d
_
p
w
d
)
<
6
|
|
s
t
r
l
e
n
(
$
o
l
d
_
p
w
d
)
>
1
5
|
|
s
t
r
l
e
n
(
$
n
e
w
_
p
w
d
)
<
6
|
|
s
t
r
l
e
n
(
$
n
e
w
_
p
w
d
)
>
1
5
|
|
$
n
e
w
_
p
w
d
!
=
$
r
e
_
p
w
d
)
{
$
i
n
f
o
_
t
e
x
t
=
$
l
a
n
g
[
'
s
u
b
m
i
t
_
e
r
r
o
r
_
i
n
f
o
'
]
;
}
e
l
s
e
{
$
u
s
e
_
p
a
s
s
w
o
r
d
=
m
d
5
(
$
o
l
d
_
p
w
d
)
;
$
o
b
j
=
n
e
w
u
s
e
r
s
(
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
'
u
s
e
_
i
d
=
'
.
$
g
l
o
b
a
l
[
'
u
s
e
r
_
i
d
'
]
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
"
u
s
e
_
p
a
s
s
w
o
r
d
=
'
$
u
s
e
_
p
a
s
s
w
o
r
d
'
"
)
;
i
f
(
$
o
b
j
-
>
g
e
t
_
c
o
u
n
t
(
)
>
0
)
{
$
u
s
e
_
p
a
s
s
w
o
r
d
=
m
d
5
(
$
n
e
w
_
p
w
d
)
;
$
o
b
j
-
>
s
e
t
_
v
a
l
u
e
(
'
u
s
e
_
p
a
s
s
w
o
r
d
'
,
$
u
s
e
_
p
a
s
s
w
o
r
d
)
;
.
.
.
.
.
.
}
没
有
旧
密
码
是
不
可
能
改
密
码
的
,
所
以
C
S
R
F
攻
击
其
他
用
户
的
想
法
G
G
可
控
变
量
过
滤
可
控
变
量
过
滤
虽
然
作
为
一
个
C
M
S
,
用
户
可
控
变
量
很
多
,
文
章
浏
览
等
功
能
不
可
避
免
地
要
进
行
数
据
库
操
作
,
但
是
该
系
统
基
本
上
把
所
以
可
控
变
量
都
给
过
滤
了
。
s
e
s
s
i
o
n
过
滤
过
滤
使
用
了
严
格
模
式
,
关
于
函
数
细
节
可
以
参
考
文
章
上
面
贴
的
代
码
:
i
n
c
l
u
d
e
/
f
u
n
c
t
i
o
n
.
p
h
p
c
o
o
k
i
e
过
滤
过
滤
i
n
c
l
u
d
e
/
f
u
n
c
t
i
o
n
.
p
h
p
管
理
员
登
录
过
滤
管
理
员
登
录
过
滤
a
d
m
i
n
/
m
o
d
u
l
e
/
i
n
f
o
_
m
a
i
n
.
p
h
p
普
通
用
户
登
录
过
滤
普
通
用
户
登
录
过
滤
i
n
d
e
x
/
m
o
d
u
l
e
/
i
n
f
o
_
m
a
i
n
.
p
h
p
/
/
这
里
需
要
提
供
旧
密
码
$
u
s
e
_
p
a
s
s
w
o
r
d
=
m
d
5
(
$
o
l
d
_
p
w
d
)
;
$
o
b
j
=
n
e
w
u
s
e
r
s
(
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
'
u
s
e
_
i
d
=
'
.
$
g
l
o
b
a
l
[
'
u
s
e
r
_
i
d
'
]
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
"
u
s
e
_
p
a
s
s
w
o
r
d
=
'
$
u
s
e
_
p
a
s
s
w
o
r
d
'
"
)
;
i
f
(
$
o
b
j
-
>
g
e
t
_
c
o
u
n
t
(
)
>
0
)
$
f
i
l
t
e
r
=
'
s
t
r
i
c
t
'
s
t
r
i
c
t
f
u
n
c
t
i
o
n
s
e
t
_
s
e
s
s
i
o
n
(
$
n
a
m
e
,
$
v
a
l
u
e
,
$
f
i
l
t
e
r
=
'
s
t
r
i
c
t
'
)
{
i
f
(
S
_
S
E
S
S
I
O
N
)
{
$
_
S
E
S
S
I
O
N
[
$
n
a
m
e
]
=
$
f
i
l
t
e
r
(
$
v
a
l
u
e
)
;
}
e
l
s
e
{
s
e
t
c
o
o
k
i
e
(
$
n
a
m
e
,
$
f
i
l
t
e
r
(
$
v
a
l
u
e
)
)
;
}
}
/
/
获
取
s
e
s
s
i
o
n
f
u
n
c
t
i
o
n
g
e
t
_
s
e
s
s
i
o
n
(
$
n
a
m
e
,
$
f
i
l
t
e
r
=
'
s
t
r
i
c
t
'
)
{
i
f
(
S
_
S
E
S
S
I
O
N
)
{
r
e
t
u
r
n
$
f
i
l
t
e
r
(
i
s
s
e
t
(
$
_
S
E
S
S
I
O
N
[
$
n
a
m
e
]
)
?
$
_
S
E
S
S
I
O
N
[
$
n
a
m
e
]
:
'
'
)
;
}
e
l
s
e
{
r
e
t
u
r
n
$
f
i
l
t
e
r
(
i
s
s
e
t
(
$
_
C
O
O
K
I
E
[
$
n
a
m
e
]
)
?
$
_
C
O
O
K
I
E
[
$
n
a
m
e
]
:
'
'
)
;
}
}
/
/
获
取
c
o
o
k
i
e
f
u
n
c
t
i
o
n
g
e
t
_
c
o
o
k
i
e
(
$
n
a
m
e
,
$
f
i
l
t
e
r
=
'
s
t
r
i
c
t
'
)
{
r
e
t
u
r
n
$
f
i
l
t
e
r
(
i
s
s
e
t
(
$
_
C
O
O
K
I
E
[
$
n
a
m
e
]
)
?
$
_
C
O
O
K
I
E
[
$
n
a
m
e
]
:
'
'
)
;
}
f
u
n
c
t
i
o
n
a
d
m
i
n
_
l
o
g
i
n
(
)
{
s
a
f
e
(
'
a
d
m
i
n
_
l
o
g
i
n
'
)
;
g
l
o
b
a
l
$
s
m
a
r
t
y
,
$
l
a
n
g
;
$
u
s
e
r
n
a
m
e
=
s
u
b
s
t
r
(
p
o
s
t
(
'
u
s
e
r
n
a
m
e
'
)
,
0
,
3
0
)
;
$
p
a
s
s
w
o
r
d
=
s
u
b
s
t
r
(
p
o
s
t
(
'
p
a
s
s
w
o
r
d
'
)
,
0
,
3
0
)
;
i
f
(
$
u
s
e
r
n
a
m
e
=
=
'
'
|
|
$
p
a
s
s
w
o
r
d
=
=
'
'
)
{
u
n
s
e
t
_
s
e
s
s
i
o
n
(
'
a
d
m
i
n
_
u
s
e
r
n
a
m
e
'
)
;
u
n
s
e
t
_
s
e
s
s
i
o
n
(
'
a
d
m
i
n
_
p
a
s
s
w
o
r
d
'
)
;
$
i
n
f
o
_
t
e
x
t
=
'
对
不
起
,
用
户
名
和
密
码
不
能
为
空
'
;
$
l
i
n
k
_
t
e
x
t
=
'
返
回
重
新
登
录
'
;
}
.
.
.
.
.
.
}
f
u
n
c
t
i
o
n
u
s
e
r
_
l
o
g
i
n
(
)
{
s
a
f
e
(
'
u
s
e
r
_
l
o
g
i
n
'
)
;
g
l
o
b
a
l
$
g
l
o
b
a
l
,
$
s
m
a
r
t
y
,
$
l
a
n
g
;
$
i
n
f
o
_
t
e
x
t
=
p
o
s
t
(
'
i
n
f
o
_
t
e
x
t
'
)
;
$
l
i
n
k
_
t
e
x
t
=
p
o
s
t
(
'
l
i
n
k
_
t
e
x
t
'
)
;
$
l
i
n
k
_
h
r
e
f
=
p
o
s
t
(
'
l
i
n
k
_
h
r
e
f
'
)
;
$
u
s
e
r
n
a
m
e
=
p
o
s
t
(
'
u
s
e
r
n
a
m
e
'
)
;
$
p
a
s
s
w
o
r
d
=
p
o
s
t
(
'
p
a
s
s
w
o
r
d
'
)
;
.
.
.
大
致
就
这
么
多
防
护
了
,
接
下
来
开
始
真
正
地
来
进
行
漏
洞
挖
掘
。
漏
洞
分
析
漏
洞
分
析
后
台
任
意
文
件
删
除
后
台
任
意
文
件
删
除
漏
洞
分
析
漏
洞
分
析
漏
洞
文
件
:
d
e
a
l
.
p
h
p
这
里
核
心
看
这
处
代
码
:
这
是
个
删
除
文
件
的
函
数
定
义
,
删
除
文
件
用
了
白
名
单
策
略
,
必
须
只
能
删
除
:
这
3
个
目
录
下
的
文
件
,
使
用
了
从
的
0
位
置
开
始
往
后
判
断
,
只
校
验
了
前
面
是
否
在
白
名
单
内
部
,
但
是
却
忽
略
了
白
名
单
后
面
后
面
的
路
径
可
能
使
用
的
这
种
形
式
来
穿
越
目
录
。
漏
洞
利
用
漏
洞
利
用
抓
取
这
个
操
作
的
数
据
包
,
具
体
如
下
:
.
.
.
.
.
.
}
a
d
m
i
n
/
d
e
a
l
.
p
h
p
f
u
n
c
t
i
o
n
d
e
l
_
f
i
l
e
(
)
{
$
p
a
t
h
=
p
o
s
t
(
'
p
a
t
h
'
)
;
$
f
l
a
g
=
f
a
l
s
e
;
$
d
i
r
[
0
]
=
'
d
a
t
a
/
b
a
c
k
u
p
/
'
;
$
d
i
r
[
1
]
=
'
i
m
a
g
e
s
/
'
;
$
d
i
r
[
2
]
=
'
r
e
s
o
u
r
c
e
/
'
;
f
o
r
(
$
i
=
0
;
$
i
<
c
o
u
n
t
(
$
d
i
r
)
;
$
i
+
+
)
{
i
f
(
s
u
b
s
t
r
(
$
p
a
t
h
,
0
,
s
t
r
l
e
n
(
$
d
i
r
[
$
i
]
)
)
=
=
$
d
i
r
[
$
i
]
)
{
$
f
l
a
g
=
t
r
u
e
;
}
}
i
f
(
$
f
l
a
g
)
{
i
f
(
u
n
l
i
n
k
(
$
p
a
t
h
)
)
{
$
r
e
s
u
l
t
=
1
;
}
}
e
c
h
o
i
s
s
e
t
(
$
r
e
s
u
l
t
)
?
$
r
e
s
u
l
t
:
0
;
}
i
f
(
s
u
b
s
t
r
(
$
p
a
t
h
,
0
,
s
t
r
l
e
n
(
$
d
i
r
[
$
i
]
)
)
=
=
$
d
i
r
[
$
i
]
)
{
$
f
l
a
g
=
t
r
u
e
;
}
$
d
i
r
[
0
]
=
'
d
a
t
a
/
b
a
c
k
u
p
/
'
;
$
d
i
r
[
1
]
=
'
i
m
a
g
e
s
/
'
;
$
d
i
r
[
2
]
=
'
r
e
s
o
u
r
c
e
/
'
;
s
u
b
s
t
r
$
p
a
t
h
$
p
a
t
h
.
.
/
删
除
P
O
S
T
/
a
d
m
i
n
.
p
h
p
?
/
d
e
a
l
/
H
T
T
P
/
1
.
1
H
o
s
t
:
1
0
.
2
1
1
.
5
5
.
1
2
C
o
n
t
e
n
t
-
L
e
n
g
t
h
:
3
3
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
_
2
)
A
p
p
l
e
W
e
b
K
i
t
/
5
3
7
.
3
6
(
K
H
T
M
L
,
l
i
k
e
G
e
c
k
o
)
C
h
r
o
m
e
/
7
9
.
0
.
3
9
4
5
.
1
3
0
S
a
f
a
r
i
/
5
3
7
.
3
6
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
A
c
c
e
p
t
:
*
/
*
O
r
i
g
i
n
:
h
t
t
p
:
/
/
1
0
.
2
1
1
.
5
5
.
1
2
R
e
f
e
r
e
r
:
h
t
t
p
:
/
/
1
0
.
2
1
1
.
5
5
.
1
2
/
a
d
m
i
n
.
p
h
p
?
/
f
i
l
e
/
m
o
d
-
p
i
c
_
l
i
s
t
s
/
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
A
c
c
e
p
t
-
L
a
n
g
u
a
g
e
:
z
h
-
C
N
,
z
h
;
q
=
0
.
9
,
e
n
;
q
=
0
.
8
,
z
h
-
T
W
;
q
=
0
.
7
C
o
o
k
i
e
:
P
H
P
S
E
S
S
I
D
=
7
e
2
o
f
b
2
s
b
e
5
p
0
b
h
v
8
r
c
g
f
g
5
n
8
4
C
o
n
n
e
c
t
i
o
n
:
c
l
o
s
e
c
m
d
=
d
e
l
_
f
i
l
e
&
p
a
t
h
=
i
m
a
g
e
s
/
.
.
/
1
.
p
h
p
通
过
在
白
名
单
目
录
后
面
使
用
可
以
实
现
跨
目
录
任
意
文
件
删
除
,
删
除
成
功
返
回
后
台
盲
注
后
台
盲
注
后
台
盲
注
有
好
几
处
点
,
虽
然
可
控
变
量
基
本
上
都
被
过
滤
了
,
但
是
却
忽
略
数
字
型
盲
注
数
字
型
盲
注
不
需
要
闭
合
单
引
号
就
可
以
直
接
拼
接
S
Q
L
语
句
导
致
盲
注
的
产
生
,
下
面
就
找
一
个
典
型
的
例
子
来
分
析
。
漏
洞
分
析
漏
洞
分
析
删
除
管
理
员
账
号
这
里
存
在
数
字
型
盲
注
,
下
面
来
看
下
细
节
代
码
:
a
d
m
i
n
/
m
o
d
u
l
e
/
b
a
s
i
c
/
d
e
a
l
.
p
h
p
比
较
关
键
的
两
处
代
码
是
:
为
了
进
一
步
分
析
,
使
用
B
u
r
p
s
u
i
t
e
来
抓
取
修
改
密
码
的
数
据
包
,
具
体
如
下
:
因
为
代
码
里
面
只
返
回
1
所
以
这
里
注
入
的
话
只
能
使
用
数
字
型
基
于
时
间
的
盲
注
数
字
型
基
于
时
间
的
盲
注
了
:
.
.
/
1
f
u
n
c
t
i
o
n
d
e
l
_
a
d
m
i
n
(
)
{
g
l
o
b
a
l
$
g
l
o
b
a
l
;
$
a
d
m
_
i
d
=
p
o
s
t
(
'
i
d
'
)
;
$
o
b
j
=
n
e
w
a
d
m
i
n
(
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
'
a
d
m
_
i
d
=
'
.
$
g
l
o
b
a
l
[
'
a
d
m
i
n
_
i
d
'
]
)
;
$
a
=
$
o
b
j
-
>
g
e
t
_
o
n
e
(
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
'
'
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
"
a
d
m
_
i
d
=
$
a
d
m
_
i
d
"
)
;
$
b
=
$
o
b
j
-
>
g
e
t
_
o
n
e
(
)
;
i
f
(
$
o
b
j
-
>
g
e
t
_
c
o
u
n
t
(
)
)
{
i
f
(
$
a
[
'
a
d
m
_
g
r
a
d
e
'
]
<
$
b
[
'
a
d
m
_
g
r
a
d
e
'
]
)
{
$
o
b
j
-
>
d
e
l
(
)
;
s
e
t
_
c
o
o
k
i
e
(
'
r
e
s
u
l
t
'
,
1
)
;
}
}
e
c
h
o
1
;
}
/
/
a
d
m
i
n
_
i
d
用
户
可
控
虽
然
经
过
p
o
s
t
过
滤
了
$
a
d
m
_
i
d
=
p
o
s
t
(
'
a
d
m
_
i
d
'
)
;
/
/
p
o
s
t
过
滤
后
直
接
带
入
数
据
库
操
作
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
'
a
d
m
_
i
d
=
'
.
$
g
l
o
b
a
l
[
'
a
d
m
i
n
_
i
d
'
]
)
;
P
O
S
T
/
a
d
m
i
n
.
p
h
p
?
/
d
e
a
l
/
d
i
r
-
b
a
s
i
c
/
H
T
T
P
/
1
.
1
H
o
s
t
:
1
0
.
2
1
1
.
5
5
.
1
2
C
o
n
t
e
n
t
-
L
e
n
g
t
h
:
1
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
_
2
)
A
p
p
l
e
W
e
b
K
i
t
/
5
3
7
.
3
6
(
K
H
T
M
L
,
l
i
k
e
G
e
c
k
o
)
C
h
r
o
m
e
/
7
9
.
0
.
3
9
4
5
.
1
3
0
S
a
f
a
r
i
/
5
3
7
.
3
6
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
A
c
c
e
p
t
:
*
/
*
O
r
i
g
i
n
:
h
t
t
p
:
/
/
1
0
.
2
1
1
.
5
5
.
1
2
R
e
f
e
r
e
r
:
h
t
t
p
:
/
/
1
0
.
2
1
1
.
5
5
.
1
2
/
a
d
m
i
n
.
p
h
p
?
/
b
a
s
i
c
/
m
o
d
-
a
d
m
i
n
_
l
i
s
t
/
i
n
d
e
x
.
h
t
m
l
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
A
c
c
e
p
t
-
L
a
n
g
u
a
g
e
:
z
h
-
C
N
,
z
h
;
q
=
0
.
9
,
e
n
;
q
=
0
.
8
,
z
h
-
T
W
;
q
=
0
.
7
C
o
o
k
i
e
:
P
H
P
S
E
S
S
I
D
=
7
e
2
o
f
b
2
s
b
e
5
p
0
b
h
v
8
r
c
g
f
g
5
n
8
4
;
u
s
e
r
_
u
s
e
r
n
a
m
e
=
1
1
1
1
1
1
;
u
s
e
r
_
p
a
s
s
w
o
r
d
=
9
6
e
7
9
2
1
8
9
6
5
e
b
7
2
c
9
2
a
5
4
9
d
d
5
a
3
3
0
1
1
2
C
o
n
n
e
c
t
i
o
n
:
c
l
o
s
e
c
m
d
=
d
e
l
_
a
d
m
i
n
&
i
d
=
2
e
c
h
o
1
;
数
据
库
监
控
工
具
来
看
一
下
后
台
执
行
了
什
么
样
的
S
Q
L
语
句
:
先
延
时
再
验
证
一
下
:
后
台
S
Q
L
语
句
:
然
鹅
测
试
发
现
并
没
有
延
时
反
应
,
因
为
这
里
是
删
除
用
户
,
当
这
个
用
户
的
I
D
被
删
掉
以
后
,
用
a
n
d
语
句
前
提
是
两
边
都
是
真
才
可
以
,
所
以
这
里
得
把
a
n
d
换
成
o
r
语
句
:
延
时
貌
似
误
差
比
较
大
,
实
际
延
时
的
时
长
大
概
是
理
论
延
时
的
两
倍
左
右
。
既
然
知
道
有
注
入
的
话
,
下
面
开
始
验
证
吧
。
漏
洞
利
用
漏
洞
利
用
手
工
验
证
手
工
验
证
手
工
延
时
盲
注
是
个
细
心
的
活
,
下
面
只
举
个
基
本
例
子
:
S
Q
L
M
a
p
注
入
注
入
为
啥
不
自
己
写
脚
本
来
注
入
呢
?
?
?
因
为
S
Q
L
M
a
p
本
身
很
强
大
,
这
里
不
需
要
造
轮
子
,
很
多
人
不
了
解
S
Q
L
M
a
p
,
认
为
现
在
基
本
上
S
Q
L
M
a
p
注
入
不
出
来
啥
,
实
际
上
还
是
他
们
不
够
了
解
,
S
Q
L
M
a
p
灵
活
程
度
非
常
高
,
远
比
自
己
造
轮
子
写
脚
本
快
的
多
。
下
面
直
接
上
关
键
的
用
法
参
数
吧
:
注
入
结
果
注
入
结
果
s
e
l
e
c
t
*
f
r
o
m
p
h
p
_
a
d
m
i
n
w
h
e
r
e
a
d
m
_
i
d
=
3
c
m
d
=
d
e
l
_
a
d
m
i
n
&
i
d
=
3
a
n
d
s
l
e
e
p
(
1
0
)
s
e
l
e
c
t
*
f
r
o
m
p
h
p
_
a
d
m
i
n
w
h
e
r
e
a
d
m
_
i
d
=
3
a
n
d
s
l
e
e
p
(
1
0
)
#
判
断
当
前
数
据
库
长
度
#
当
前
数
据
库
长
度
是
否
为
1
没
有
延
时
不
是
c
m
d
=
d
e
l
_
a
d
m
i
n
&
i
d
=
3
o
r
i
f
(
l
e
n
g
t
h
(
d
a
t
a
b
a
s
e
(
)
)
=
1
,
s
l
e
e
p
(
3
)
,
0
)
#
延
时
表
明
当
前
数
据
库
长
度
为
6
c
m
d
=
d
e
l
_
a
d
m
i
n
&
i
d
=
3
o
r
i
f
(
l
e
n
g
t
h
(
d
a
t
a
b
a
s
e
(
)
)
=
6
,
s
l
e
e
p
(
3
)
,
0
)
#
当
前
数
据
库
第
1
个
字
母
的
a
s
c
i
i
码
是
否
为
9
7
没
有
延
时
不
是
c
m
d
=
d
e
l
_
a
d
m
i
n
&
i
d
=
3
o
r
i
f
(
a
s
c
i
i
(
m
i
d
(
d
a
t
a
b
a
s
e
(
)
,
1
,
1
)
)
=
9
7
,
s
l
e
e
p
(
3
)
,
0
)
#
延
时
表
明
当
前
数
据
库
第
1
个
字
母
的
a
s
c
i
i
码
为
1
1
5
即
'
s
'
c
m
d
=
d
e
l
_
a
d
m
i
n
&
i
d
=
3
o
r
i
f
(
a
s
c
i
i
(
m
i
d
(
d
a
t
a
b
a
s
e
(
)
,
1
,
1
)
)
=
1
1
5
,
s
l
e
e
p
(
3
)
,
0
)
#
当
前
数
据
库
第
2
个
字
母
的
a
s
c
i
i
码
是
否
为
9
7
没
有
延
时
不
是
c
m
d
=
d
e
l
_
a
d
m
i
n
&
i
d
=
3
o
r
i
f
(
a
s
c
i
i
(
m
i
d
(
d
a
t
a
b
a
s
e
(
)
,
2
,
1
)
)
=
9
7
,
s
l
e
e
p
(
3
)
,
0
)
#
延
时
表
明
当
前
数
据
库
第
2
个
字
母
的
a
s
c
i
i
码
为
1
0
5
即
'
i
'
c
m
d
=
d
e
l
_
a
d
m
i
n
&
i
d
=
3
o
r
i
f
(
a
s
c
i
i
(
m
i
d
(
d
a
t
a
b
a
s
e
(
)
,
2
,
1
)
)
=
1
0
5
,
s
l
e
e
p
(
3
)
,
0
)
.
.
.
s
q
l
m
a
p
-
u
"
h
t
t
p
:
/
/
1
0
.
2
1
1
.
5
5
.
1
2
/
/
a
d
m
i
n
.
p
h
p
?
/
d
e
a
l
/
d
i
r
-
b
a
s
i
c
/
"
-
-
c
o
o
k
i
e
=
"
P
H
P
S
E
S
S
I
D
=
7
e
2
o
f
b
2
s
b
e
5
p
0
b
h
v
8
r
c
g
f
g
5
n
8
4
;
"
-
-
d
a
t
a
=
"
c
m
d
=
d
e
l
_
a
d
m
i
n
&
i
d
=
3
"
-
p
"
i
d
"
-
-
t
e
c
h
n
i
q
u
e
=
T
-
-
r
a
n
d
o
m
-
a
g
e
n
t
-
v
细
节
实
际
上
也
可
以
保
存
数
据
包
为
文
本
,
然
后
,
文
本
里
面
手
动
标
星
号
因
为
这
个
是
后
台
盲
注
,
所
以
这
里
需
要
C
o
o
k
i
e
认
证
一
下
手
动
写
入
P
O
S
T
数
据
包
,
将
请
求
中
提
供
对
应
发
送
的
数
据
隐
式
地
将
G
E
T
改
成
P
O
S
T
手
动
指
出
存
在
注
入
的
参
数
手
动
指
定
时
间
型
盲
注
时
间
型
盲
注
的
检
测
技
术
,
S
Q
L
M
a
p
默
认
检
测
技
术
为
好
习
惯
,
随
机
u
s
e
r
-
a
g
e
n
t
国
光
自
己
的
习
惯
,
显
示
已
注
入
的
p
a
y
l
o
a
d
s
,
国
光
习
惯
看
S
Q
L
M
a
p
的
p
a
y
l
o
a
d
,
看
多
有
助
于
学
习
先
进
的
手
工
注
入
技
术
因
为
这
个
网
站
过
滤
了
尖
括
号
,
所
以
介
个
插
件
,
作
用
是
替
换
大
于
号
,
替
换
等
于
号
日
常
操
作
,
这
里
大
家
应
该
很
熟
悉
了
,
国
光
就
不
再
B
B
了
管
理
员
管
理
员
C
S
R
F
漏
洞
分
析
漏
洞
分
析
修
改
管
理
员
密
码
,
没
有
验
证
就
密
码
,
直
接
提
供
新
密
码
,
而
且
没
有
T
o
k
e
n
验
证
来
防
御
C
S
R
F
攻
击
:
a
d
m
i
n
/
m
o
u
d
l
e
/
b
a
s
i
c
/
d
e
a
l
.
p
h
p
-
u
"
h
t
t
p
:
/
/
1
0
.
2
1
1
.
5
5
.
1
2
/
/
a
d
m
i
n
.
p
h
p
?
/
d
e
a
l
/
d
i
r
-
b
a
s
i
c
/
"
-
r
-
-
c
o
o
k
i
e
=
"
P
H
P
S
E
S
S
I
D
=
7
e
2
o
f
b
2
s
b
e
5
p
0
b
h
v
8
r
c
g
f
g
5
n
8
4
;
"
-
-
d
a
t
a
=
"
c
m
d
=
d
e
l
_
a
d
m
i
n
&
i
d
=
3
"
-
p
"
i
d
"
-
-
t
e
c
h
n
i
q
u
e
=
T
B
E
U
S
T
Q
-
-
r
a
n
d
o
m
-
a
g
e
n
t
-
v
3
-
-
t
a
m
p
e
r
=
"
b
e
t
w
e
e
n
"
N
O
T
B
E
T
W
E
E
N
0
A
N
D
#
>
B
E
T
W
E
E
N
#
A
N
D
#
=
-
D
'
s
i
n
s
i
u
'
-
T
'
p
h
p
_
a
d
m
i
n
'
-
C
'
a
d
m
_
i
d
,
a
d
m
_
u
s
e
r
n
a
m
e
,
a
d
m
_
p
a
s
s
w
o
r
d
'
-
-
d
u
m
p
f
u
n
c
t
i
o
n
e
d
i
t
_
a
d
m
i
n
(
)
{
g
l
o
b
a
l
$
g
l
o
b
a
l
,
$
s
m
a
r
t
y
;
$
a
d
m
_
i
d
=
p
o
s
t
(
'
a
d
m
_
i
d
'
)
;
$
a
d
m
_
p
a
s
s
w
o
r
d
=
p
o
s
t
(
'
a
d
m
_
p
a
s
s
w
o
r
d
'
)
;
$
r
e
_
p
a
s
s
w
o
r
d
=
p
o
s
t
(
'
r
e
_
p
a
s
s
w
o
r
d
'
)
;
$
o
b
j
=
n
e
w
a
d
m
i
n
(
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
'
a
d
m
_
i
d
=
'
.
$
g
l
o
b
a
l
[
'
a
d
m
i
n
_
i
d
'
]
)
;
$
a
=
$
o
b
j
-
>
g
e
t
_
o
n
e
(
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
'
'
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
"
a
d
m
_
i
d
=
$
a
d
m
_
i
d
"
)
;
$
b
=
$
o
b
j
-
>
g
e
t
_
o
n
e
(
)
;
$
s
u
c
c
e
s
s
=
0
;
i
f
(
$
o
b
j
-
>
g
e
t
_
c
o
u
n
t
(
)
)
{
i
f
(
$
a
[
'
a
d
m
_
i
d
'
]
=
=
$
b
[
'
a
d
m
_
i
d
'
]
|
|
$
a
[
'
a
d
m
_
g
r
a
d
e
'
]
<
$
b
[
'
a
d
m
_
g
r
a
d
e
'
]
)
{
i
f
(
s
t
r
l
e
n
(
$
a
d
m
_
p
a
s
s
w
o
r
d
)
>
=
5
&
&
$
a
d
m
_
p
a
s
s
w
o
r
d
=
=
$
r
e
_
p
a
s
s
w
o
r
d
)
{
$
o
b
j
-
>
s
e
t
_
v
a
l
u
e
(
'
a
d
m
_
p
a
s
s
w
o
r
d
'
,
m
d
5
(
$
a
d
m
_
p
a
s
s
w
o
r
d
)
)
;
$
o
b
j
-
>
e
d
i
t
(
)
;
$
s
u
c
c
e
s
s
=
1
;
}
}
}
i
f
(
$
s
u
c
c
e
s
s
)
{
$
i
n
f
o
_
t
e
x
t
=
'
修
改
密
码
成
功
'
;
$
l
i
n
k
_
t
e
x
t
=
'
返
回
列
表
页
'
;
$
l
i
n
k
_
h
r
e
f
=
u
r
l
(
a
r
r
a
y
(
'
c
h
a
n
n
e
l
'
=
>
'
b
a
s
i
c
'
,
'
m
o
d
'
=
>
'
a
d
m
i
n
_
l
i
s
t
'
)
)
;
}
e
l
s
e
{
同
理
添
加
管
理
员
也
是
这
样
:
a
d
m
i
n
/
m
o
u
d
l
e
/
b
a
s
i
c
/
d
e
a
l
.
p
h
p
漏
洞
利
用
漏
洞
利
用
修
改
管
理
员
密
码
为
:
P
a
s
s
w
0
r
d
构
造
以
下
H
T
M
L
页
面
:
下
面
实
际
来
模
拟
一
下
攻
击
场
景
攻
击
者
将
上
述
h
t
m
l
保
存
到
外
网
上
,
引
诱
管
理
员
点
击
,
然
后
自
动
触
发
C
S
R
F
攻
击
:
管
理
员
在
后
台
使
用
当
前
浏
览
器
去
访
问
这
个
地
址
的
时
候
就
中
招
了
,
这
个
h
t
m
l
里
面
的
修
改
密
码
表
单
会
自
动
触
发
,
G
G
前
台
盲
注
前
台
盲
注
前
面
漏
洞
要
么
需
要
拿
到
后
台
,
要
么
需
要
社
工
来
C
S
R
F
攻
击
管
理
员
,
需
要
一
些
运
气
成
分
,
但
是
这
个
洞
就
不
需
要
了
,
这
个
洞
产
生
点
在
网
站
的
前
台
,
可
以
直
接
进
行
注
入
。
漏
洞
分
析
漏
洞
分
析
i
n
d
e
x
/
m
o
d
u
l
e
/
s
e
a
r
c
h
_
m
a
i
n
.
p
h
p
}
e
l
s
e
{
$
i
n
f
o
_
t
e
x
t
=
'
修
改
密
码
失
败
'
;
$
l
i
n
k
_
t
e
x
t
=
'
返
回
上
一
页
'
;
$
l
i
n
k
_
h
r
e
f
=
u
r
l
(
a
r
r
a
y
(
'
c
h
a
n
n
e
l
'
=
>
'
b
a
s
i
c
'
,
'
m
o
d
'
=
>
'
a
d
m
i
n
_
e
d
i
t
'
)
)
;
}
$
s
m
a
r
t
y
-
>
a
s
s
i
g
n
(
'
i
n
f
o
_
t
e
x
t
'
,
$
i
n
f
o
_
t
e
x
t
)
;
$
s
m
a
r
t
y
-
>
a
s
s
i
g
n
(
'
l
i
n
k
_
t
e
x
t
'
,
$
l
i
n
k
_
t
e
x
t
)
;
$
s
m
a
r
t
y
-
>
a
s
s
i
g
n
(
'
l
i
n
k
_
h
r
e
f
'
,
$
l
i
n
k
_
h
r
e
f
)
;
}
f
u
n
c
t
i
o
n
a
d
d
_
a
d
m
i
n
(
)
{
g
l
o
b
a
l
$
g
l
o
b
a
l
,
$
s
m
a
r
t
y
;
$
a
d
m
_
u
s
e
r
n
a
m
e
=
p
o
s
t
(
'
a
d
m
_
u
s
e
r
n
a
m
e
'
)
;
$
a
d
m
_
p
a
s
s
w
o
r
d
=
p
o
s
t
(
'
a
d
m
_
p
a
s
s
w
o
r
d
'
)
;
$
r
e
_
p
a
s
s
w
o
r
d
=
p
o
s
t
(
'
r
e
_
p
a
s
s
w
o
r
d
'
)
;
$
o
b
j
=
n
e
w
a
d
m
i
n
(
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
'
a
d
m
_
i
d
=
'
.
$
g
l
o
b
a
l
[
'
a
d
m
i
n
_
i
d
'
]
)
;
$
o
n
e
=
$
o
b
j
-
>
g
e
t
_
o
n
e
(
)
;
$
a
d
m
_
g
r
a
d
e
=
$
o
n
e
[
'
a
d
m
_
g
r
a
d
e
'
]
+
1
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
'
'
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
"
a
d
m
_
u
s
e
r
n
a
m
e
=
'
$
a
d
m
_
u
s
e
r
n
a
m
e
'
"
)
;
i
f
(
$
o
b
j
-
>
g
e
t
_
c
o
u
n
t
(
)
=
=
0
&
&
s
t
r
l
e
n
(
$
a
d
m
_
u
s
e
r
n
a
m
e
)
>
=
5
&
&
s
t
r
l
e
n
(
$
a
d
m
_
p
a
s
s
w
o
r
d
)
>
=
5
&
&
$
a
d
m
_
p
a
s
s
w
o
r
d
=
=
$
r
e
_
p
a
s
s
w
o
r
d
)
{
$
o
b
j
-
>
s
e
t
_
v
a
l
u
e
(
'
a
d
m
_
u
s
e
r
n
a
m
e
'
,
$
a
d
m
_
u
s
e
r
n
a
m
e
)
;
$
o
b
j
-
>
s
e
t
_
v
a
l
u
e
(
'
a
d
m
_
p
a
s
s
w
o
r
d
'
,
m
d
5
(
$
a
d
m
_
p
a
s
s
w
o
r
d
)
)
;
$
o
b
j
-
>
s
e
t
_
v
a
l
u
e
(
'
a
d
m
_
g
r
a
d
e
'
,
$
a
d
m
_
g
r
a
d
e
)
;
$
o
b
j
-
>
a
d
d
(
)
;
$
i
n
f
o
_
t
e
x
t
=
'
添
加
管
理
员
帐
号
成
功
'
;
$
l
i
n
k
_
t
e
x
t
=
'
返
回
列
表
页
'
;
$
l
i
n
k
_
h
r
e
f
=
u
r
l
(
a
r
r
a
y
(
'
c
h
a
n
n
e
l
'
=
>
'
b
a
s
i
c
'
,
'
m
o
d
'
=
>
'
a
d
m
i
n
_
l
i
s
t
'
)
)
;
}
e
l
s
e
{
$
i
n
f
o
_
t
e
x
t
=
'
添
加
管
理
员
帐
号
失
败
'
;
$
l
i
n
k
_
t
e
x
t
=
'
返
回
上
一
页
'
;
$
l
i
n
k
_
h
r
e
f
=
u
r
l
(
a
r
r
a
y
(
'
c
h
a
n
n
e
l
'
=
>
'
b
a
s
i
c
'
,
'
m
o
d
'
=
>
'
a
d
m
i
n
_
a
d
d
'
)
)
;
}
$
s
m
a
r
t
y
-
>
a
s
s
i
g
n
(
'
i
n
f
o
_
t
e
x
t
'
,
$
i
n
f
o
_
t
e
x
t
)
;
$
s
m
a
r
t
y
-
>
a
s
s
i
g
n
(
'
l
i
n
k
_
t
e
x
t
'
,
$
l
i
n
k
_
t
e
x
t
)
;
$
s
m
a
r
t
y
-
>
a
s
s
i
g
n
(
'
l
i
n
k
_
h
r
e
f
'
,
$
l
i
n
k
_
h
r
e
f
)
;
}
<
h
t
m
l
>
<
b
o
d
y
>
<
s
c
r
i
p
t
>
h
i
s
t
o
r
y
.
p
u
s
h
S
t
a
t
e
(
'
'
,
'
'
,
'
/
'
)
<
/
s
c
r
i
p
t
>
<
f
o
r
m
a
c
t
i
o
n
=
"
h
t
t
p
:
/
/
1
0
.
2
1
1
.
5
5
.
1
2
/
a
d
m
i
n
.
p
h
p
?
/
b
a
s
i
c
/
i
n
d
e
x
.
h
t
m
l
"
m
e
t
h
o
d
=
"
P
O
S
T
"
>
<
i
n
p
u
t
t
y
p
e
=
"
h
i
d
d
e
n
"
n
a
m
e
=
"
c
m
d
"
v
a
l
u
e
=
"
e
d
i
t
&
#
9
5
;
a
d
m
i
n
"
/
>
<
i
n
p
u
t
t
y
p
e
=
"
h
i
d
d
e
n
"
n
a
m
e
=
"
a
d
m
&
#
9
5
;
i
d
"
v
a
l
u
e
=
"
1
"
/
>
<
i
n
p
u
t
t
y
p
e
=
"
h
i
d
d
e
n
"
n
a
m
e
=
"
a
d
m
&
#
9
5
;
p
a
s
s
w
o
r
d
"
v
a
l
u
e
=
"
P
a
s
s
w
0
r
d
"
/
>
<
i
n
p
u
t
t
y
p
e
=
"
h
i
d
d
e
n
"
n
a
m
e
=
"
r
e
&
#
9
5
;
p
a
s
s
w
o
r
d
"
v
a
l
u
e
=
"
P
a
s
s
w
0
r
d
"
/
>
<
/
f
o
r
m
>
<
s
c
r
i
p
t
>
d
o
c
u
m
e
n
t
.
f
o
r
m
s
[
0
]
.
s
u
b
m
i
t
(
)
;
<
/
s
c
r
i
p
t
>
<
/
b
o
d
y
>
<
/
h
t
m
l
>
这
里
首
先
进
行
U
R
L
解
码
:
然
后
就
直
接
带
入
数
据
库
查
询
了
:
?
?
?
不
明
白
为
啥
这
里
大
意
了
,
明
明
其
他
地
方
过
滤
都
很
严
格
的
.
.
.
漏
洞
利
用
漏
洞
利
用
知
道
代
码
仅
仅
经
过
一
次
U
R
L
解
码
,
所
以
尝
试
一
下
使
用
,
解
码
后
就
是
来
闭
合
后
面
的
语
句
:
U
R
L
解
码
为
:
使
用
M
y
S
Q
L
监
控
工
具
查
看
日
志
:
成
功
了
,
那
么
接
下
来
使
用
S
Q
L
M
a
p
来
进
注
入
吧
。
因
为
这
里
国
光
我
使
用
给
S
Q
L
M
a
p
预
留
好
了
,
然
后
S
Q
L
M
a
p
直
接
注
入
即
可
:
理
论
情
况
理
论
情
况
这
部
分
纯
理
论
测
试
,
实
际
情
况
下
一
般
没
写
入
权
限
,
但
是
还
是
记
录
一
下
吧
。
如
果
有
大
佬
可
以
审
计
出
后
台
g
e
t
s
h
e
l
l
的
话
欢
迎
评
论
区
留
言
这
样
就
可
以
一
条
龙
攻
击
了
~
~
~
M
y
S
Q
L
新
版
下
字
段
用
来
限
制
M
y
S
Q
L
对
目
录
的
操
作
权
限
。
先
查
看
一
下
本
地
我
们
的
M
y
S
Q
L
是
否
有
作
限
制
<
?
p
h
p
f
u
n
c
t
i
o
n
m
o
d
u
l
e
_
s
e
a
r
c
h
_
m
a
i
n
(
)
{
g
l
o
b
a
l
$
g
l
o
b
a
l
,
$
s
m
a
r
t
y
;
$
g
l
o
b
a
l
[
'
k
e
y
'
]
=
r
a
w
u
r
l
d
e
c
o
d
e
(
$
g
l
o
b
a
l
[
'
k
e
y
'
]
)
;
$
o
b
j
=
n
e
w
g
o
o
d
s
(
)
;
$
o
b
j
-
>
s
e
t
_
f
i
e
l
d
(
'
g
o
o
_
i
d
,
g
o
o
_
t
i
t
l
e
,
g
o
o
_
x
_
i
m
g
'
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
"
g
o
o
_
t
i
t
l
e
l
i
k
e
'
%
"
.
$
g
l
o
b
a
l
[
'
k
e
y
'
]
.
"
%
'
"
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
'
g
o
o
_
c
h
a
n
n
e
l
_
i
d
=
'
.
g
e
t
_
i
d
(
'
c
h
a
n
n
e
l
'
,
'
c
h
a
_
c
o
d
e
'
,
'
g
o
o
d
s
'
)
)
;
$
l
e
n
=
g
e
t
_
v
a
r
i
a
(
'
i
m
g
_
l
i
s
t
_
l
e
n
'
)
;
$
o
b
j
-
>
s
e
t
_
p
a
g
e
_
s
i
z
e
(
$
l
e
n
?
$
l
e
n
:
1
2
)
;
$
o
b
j
-
>
s
e
t
_
p
a
g
e
_
n
u
m
(
$
g
l
o
b
a
l
[
'
p
a
g
e
'
]
)
;
$
s
h
e
e
t
=
$
o
b
j
-
>
g
e
t
_
s
h
e
e
t
(
)
;
f
o
r
(
$
i
=
0
;
$
i
<
c
o
u
n
t
(
$
s
h
e
e
t
)
;
$
i
+
+
)
{
$
s
h
e
e
t
[
$
i
]
[
'
s
h
o
r
t
_
t
i
t
l
e
'
]
=
c
u
t
_
s
t
r
(
$
s
h
e
e
t
[
$
i
]
[
'
g
o
o
_
t
i
t
l
e
'
]
,
1
0
)
;
}
s
e
t
_
l
i
n
k
(
$
o
b
j
-
>
g
e
t
_
p
a
g
e
_
s
u
m
(
)
)
;
$
s
m
a
r
t
y
-
>
a
s
s
i
g
n
(
'
s
e
a
r
c
h
'
,
$
s
h
e
e
t
)
;
}
/
/
新
秀
?
>
$
g
l
o
b
a
l
[
'
k
e
y
'
]
=
r
a
w
u
r
l
d
e
c
o
d
e
(
$
g
l
o
b
a
l
[
'
k
e
y
'
]
)
;
$
o
b
j
-
>
s
e
t
_
w
h
e
r
e
(
"
g
o
o
_
t
i
t
l
e
l
i
k
e
'
%
"
.
$
g
l
o
b
a
l
[
'
k
e
y
'
]
.
"
%
'
"
)
;
%
2
3
#
h
t
t
p
:
/
/
1
0
.
2
1
1
.
5
5
.
1
2
/
?
/
s
e
a
r
c
h
/
i
n
d
e
x
.
h
t
m
l
/
k
e
y
-
%
2
7
%
2
0
a
n
d
%
2
0
s
l
e
e
p
(
2
)
%
2
0
%
2
3
/
%
2
7
a
n
d
%
2
0
s
l
e
e
p
(
2
)
%
2
0
%
2
3
'
a
n
d
s
l
e
e
p
(
2
)
#
s
e
l
e
c
t
g
o
o
_
i
d
,
g
o
o
_
t
i
t
l
e
,
g
o
o
_
x
_
i
m
g
f
r
o
m
p
h
p
_
g
o
o
d
s
w
h
e
r
e
g
o
o
_
l
a
n
g
=
'
z
h
-
c
n
'
a
n
d
g
o
o
_
s
h
o
w
=
1
a
n
d
g
o
o
_
t
i
t
l
e
l
i
k
e
'
%
'
a
n
d
s
l
e
e
p
(
2
)
#
%
'
a
n
d
g
o
o
_
c
h
a
n
n
e
l
_
i
d
=
1
o
r
d
e
r
b
y
g
o
o
_
t
o
p
d
e
s
c
,
g
o
o
_
i
n
d
e
x
d
e
s
c
,
g
o
o
_
i
d
d
e
s
c
s
q
l
m
a
p
-
u
"
h
t
t
p
:
/
/
1
0
.
2
1
1
.
5
5
.
1
2
/
?
/
s
e
a
r
c
h
/
i
n
d
e
x
.
h
t
m
l
/
k
e
y
-
%
2
7
*
%
2
0
%
2
3
/
"
-
v
3
-
-
t
e
c
h
n
i
q
u
e
=
T
-
D
'
s
i
n
s
i
u
'
-
T
'
p
h
p
_
a
d
m
i
n
'
-
C
'
a
d
m
_
i
d
,
a
d
m
_
u
s
e
r
n
a
m
e
,
a
d
m
_
p
a
s
s
w
o
r
d
'
-
-
d
u
m
p
k
e
y
-
%
2
7
*
%
2
0
%
2
3
*
s
e
c
u
r
e
-
f
i
l
e
-
p
r
i
v
m
y
s
q
l
>
s
h
o
w
g
l
o
b
a
l
v
a
r
i
a
b
l
e
s
l
i
k
e
'
%
s
e
c
u
r
e
%
'
;
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
+
|
V
a
r
i
a
b
l
e
_
n
a
m
e
|
V
a
l
u
e
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
+
|
s
e
c
u
r
e
_
a
u
t
h
|
O
F
F
|
|
s
e
c
u
r
e
_
f
i
l
e
_
p
r
i
v
|
N
U
L
L
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
+
2
r
o
w
s
i
n
s
e
t
(
0
.
0
0
s
e
c
)
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页