<span style=
"color: #000000;"
>php
</span><span style=
"color: #0000ff;"
>
class
</span><span style=
"color: #000000;"
> ev
{
</span><span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
$cookie
;
</span><span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
$post
;
</span><span style=
"color: #0000ff;"
>
public
</span> $<span style=
"color: #0000ff;"
>get</span><span style=
"color: #000000;"
>;
</span><span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
$file
;
</span><span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
$url
;
</span><span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
$G
;
</span><span style=
"color: #0000ff;"
>
private
</span><span style=
"color: #000000;"
>
$e
;
</span><span style=
"color: #0000ff;"
>
public
</span>
function
__construct(<span style=
"color: #000000;"
>)
{</span><span style=
"color: #0000ff;"
>
if
</span> (
ini_get
(<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">magic_quotes_gpc</span><span style="color: #800000;">'
</span><span style=
"color: #000000;"
>)) {
$</span><span style=
"color: #0000ff;"
>get</span> = $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>
stripSlashes
(
$_REQUEST
);
$post
</span>= $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>
stripSlashes
(
$_POST
);
$</span><span style=
"color: #0000ff;"
>this</span>->cookie = $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>
stripSlashes
(
$_COOKIE
);
} </span><span style=
"color: #0000ff;"
>
else
</span><span style=
"color: #000000;"
> {
$</span><span style=
"color: #0000ff;"
>get</span> =<span style=
"color: #000000;"
>
$_REQUEST
;
$post
</span>=<span style=
"color: #000000;"
>
$_POST
;
$</span><span style=
"color: #0000ff;"
>this</span>->cookie =<span style=
"color: #000000;"
>
$_COOKIE
;
}
$</span><span style=
"color: #0000ff;"
>this</span>->file =<span style=
"color: #000000;"
>
$_FILES
;
$</span><span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #0000ff;"
>get</span> = $<span style=
"color: #0000ff;"
>this</span>->initData($<span style=
"color: #0000ff;"
>get</span><span style=
"color: #000000;"
>);
$</span><span style=
"color: #0000ff;"
>this</span>->post = $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>initData(
$post
);
$</span><span style=
"color: #0000ff;"
>this</span>->url = $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>parseUrl();
$</span><span style=
"color: #0000ff;"
>this</span>->cookie = $<span style=
"color: #0000ff;"
>this</span>->initData($<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>cookie);
}
</span><span style=
"color: #008000;"
>
<span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
function
parseUrl()
{
</span><span style=
"color: #0000ff;"
>
if
</span>(isset(
$_REQUEST
[<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">route</span><span style="color: #800000;">'
</span><span style=
"color: #000000;"
>]))
{
</span><span style=
"color: #0000ff;"
>
return
</span>
explode
(<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">-</span><span style="color: #800000;">'
</span>,
$_REQUEST
[<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">route</span><span style="color: #800000;">'
</span><span style=
"color: #000000;"
>]);
}
elseif
(isset(
$_SERVER
[</span><span style=
"color: #800000;"
>
'</span><span style="color: #800000;">QUERY_STRING</span><span style="color: #800000;">'
</span><span style=
"color: #000000;"
>]))
{
$tmp
</span>=
explode
(<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">#</span><span style="color: #800000;">'
</span>,
$_SERVER
[<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">QUERY_STRING</span><span style="color: #800000;">'
</span>],<span style=
"color: #800080;"
>2</span><span style=
"color: #000000;"
>);
$tp
</span>=
explode
(<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">&</span><span style="color: #800000;">'
</span>,
$tmp
[<span style=
"color: #800080;"
>0</span>],<span style=
"color: #800080;"
>2</span><span style=
"color: #000000;"
>);
</span><span style=
"color: #0000ff;"
>
return
</span>
explode
(<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">-</span><span style="color: #800000;">'
</span>,
$tp
[<span style=
"color: #800080;"
>0</span><span style=
"color: #000000;"
>]);
}
</span><span style=
"color: #0000ff;"
>
else
</span> <span style=
"color: #0000ff;"
>
return
</span> <span style=
"color: #0000ff;"
>false</span><span style=
"color: #000000;"
>;
}
</span><span style=
"color: #008000;"
>
<span style=
"color: #0000ff;"
>
public
</span>
function
<span style=
"color: #0000ff;"
>get</span><span style=
"color: #000000;"
>(
$par
)
{
</span><span style=
"color: #0000ff;"
>
if
</span>(isset($<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #0000ff;"
>get</span>[
$par
]))<span style=
"color: #0000ff;"
>
return
</span> $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #0000ff;"
>get</span><span style=
"color: #000000;"
>[
$par
];
</span><span style=
"color: #0000ff;"
>
else
</span> <span style=
"color: #0000ff;"
>
return
</span> <span style=
"color: #0000ff;"
>false</span><span style=
"color: #000000;"
>;
}
</span><span style=
"color: #008000;"
>
<span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
function
post(
$par
)
{
</span><span style=
"color: #0000ff;"
>
if
</span>(isset($<span style=
"color: #0000ff;"
>this</span>->post[
$par
]))<span style=
"color: #0000ff;"
>
return
</span> $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>post[
$par
];
</span><span style=
"color: #0000ff;"
>
else
</span> <span style=
"color: #0000ff;"
>
return
</span> <span style=
"color: #0000ff;"
>false</span><span style=
"color: #000000;"
>;
}
</span><span style=
"color: #008000;"
>
<span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
function
url(
$par
)
{
$par
</span>=<span style=
"color: #000000;"
>
intval
(
$par
);
</span><span style=
"color: #0000ff;"
>
if
</span>(isset($<span style=
"color: #0000ff;"
>this</span>->url[
$par
]))<span style=
"color: #0000ff;"
>
return
</span> $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>url[
$par
];
</span><span style=
"color: #0000ff;"
>
else
</span> <span style=
"color: #0000ff;"
>
return
</span> <span style=
"color: #0000ff;"
>false</span><span style=
"color: #000000;"
>;
}
</span><span style=
"color: #008000;"
>
<span style=
"color: #0000ff;"
>
public
</span>
function
setCookie(
$name
,
$value
,
$time
=<span style=
"color: #800080;"
>3600</span><span style=
"color: #000000;"
>)
{
</span><span style=
"color: #0000ff;"
>
if
</span>(
$time
)
$time
= TIME +<span style=
"color: #000000;"
>
$time
;
</span><span style=
"color: #0000ff;"
>
else
</span>
$time
= <span style=
"color: #800080;"
>0</span><span style=
"color: #000000;"
>;
</span><span style=
"color: #0000ff;"
>
if
</span><span style=
"color: #000000;"
>(CDO)setCookie(CH.
$name
,
$value
,
$time
,CP,CDO);
</span><span style=
"color: #0000ff;"
>
else
</span><span style=
"color: #000000;"
> setCookie(CH.
$name
,
$value
,
$time
,CP);
}
</span><span style=
"color: #008000;"
>
<span style=
"color: #0000ff;"
>
public
</span>
function
getCookie(
$par
,
$nohead
= <span style=
"color: #800080;"
>0</span><span style=
"color: #000000;"
>)
{
</span><span style=
"color: #0000ff;"
>
if
</span>(isset($<span style=
"color: #0000ff;"
>this</span>->cookie[CH.
$par
]))<span style=
"color: #0000ff;"
>
return
</span> $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>cookie[CH.
$par
];
elseif
(isset($</span><span style=
"color: #0000ff;"
>this</span>->cookie[
$par
]) &&
$nohead
)<span style=
"color: #0000ff;"
>
return
</span> $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>cookie[
$par
];
</span><span style=
"color: #0000ff;"
>
else
</span> <span style=
"color: #0000ff;"
>
return
</span> <span style=
"color: #0000ff;"
>false</span><span style=
"color: #000000;"
>;
}
</span><span style=
"color: #008000;"
>
<span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
function
getFile(
$par
)
{
</span><span style=
"color: #0000ff;"
>
if
</span>(isset($<span style=
"color: #0000ff;"
>this</span>->file[
$par
]))<span style=
"color: #0000ff;"
>
return
</span> $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>file[
$par
];
</span><span style=
"color: #0000ff;"
>
else
</span> <span style=
"color: #0000ff;"
>
return
</span> <span style=
"color: #0000ff;"
>false</span><span style=
"color: #000000;"
>;
}
</span><span style=
"color: #008000;"
>
<span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
function
initData(
$data
)
{
</span><span style=
"color: #0000ff;"
>
if
</span><span style=
"color: #000000;"
>(
is_array
(
$data
))
{
</span><span style=
"color: #0000ff;"
>
foreach
</span>(
$data
<span style=
"color: #0000ff;"
>
as
</span>
$key
=><span style=
"color: #000000;"
>
$value
)
{
</span><span style=
"color: #0000ff;"
>
if
</span>($<span style=
"color: #0000ff;"
>this</span>->strings->isAllowKey(
$key
) === <span style=
"color: #0000ff;"
>false</span><span style=
"color: #000000;"
>)
{
unset(
$data
[
$key
]);
}
</span><span style=
"color: #0000ff;"
>
else
</span><span style=
"color: #000000;"
>
$data
[
$key
] </span>= $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>initData(
$value
);
}
</span><span style=
"color: #0000ff;"
>
return
</span><span style=
"color: #000000;"
>
$data
;
}
</span><span style=
"color: #0000ff;"
>
else
</span><span style=
"color: #000000;"
>
{
</span><span style=
"color: #0000ff;"
>
if
</span><span style=
"color: #000000;"
>(
is_numeric
(
$data
))
{
</span><span style=
"color: #0000ff;"
>
if
</span>(
$data
[<span style=
"color: #800080;"
>0</span>] === <span style=
"color: #800080;"
>0</span>)<span style=
"color: #0000ff;"
>
return
</span> $<span style=
"color: #0000ff;"
>this</span>->
addSlashes
(htmlspecialchars(
str_replace
(<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">'</span><span style="
color: #800000;
">"
</span>,<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">'</span><span style="
color: #800000;
">"
</span><span style=
"color: #000000;"
>,
$data
)));
</span><span style=
"color: #0000ff;"
>
if
</span>(
strlen
(
$data
) >= <span style=
"color: #800080;"
>11</span>)<span style=
"color: #0000ff;"
>
return
</span> $<span style=
"color: #0000ff;"
>this</span>->
addSlashes
(htmlspecialchars(
str_replace
(<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">'</span><span style="
color: #800000;
">"
</span>,<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">'</span><span style="
color: #800000;
">"
</span><span style=
"color: #000000;"
>,
$data
)));
</span><span style=
"color: #0000ff;"
>
if
</span>(
strpos
(
$data
,<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">.</span><span style="color: #800000;">'
</span>))<span style=
"color: #0000ff;"
>
return
</span><span style=
"color: #000000;"
>
floatval
(
$data
);
</span><span style=
"color: #0000ff;"
>
else
</span> <span style=
"color: #0000ff;"
>
return
</span><span style=
"color: #000000;"
>
intval
(
$data
);
}
</span><span style=
"color: #0000ff;"
>
if
</span>(
is_string
(
$data
))<span style=
"color: #0000ff;"
>
return
</span> $<span style=
"color: #0000ff;"
>this</span>->
addSlashes
(htmlspecialchars(
str_replace
(<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">'</span><span style="
color: #800000;
">"
</span>,<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">'</span><span style="
color: #800000;
">"
</span><span style=
"color: #000000;"
>,
$data
)));
</span><span style=
"color: #0000ff;"
>
if
</span>(
is_bool
(
$data
))<span style=
"color: #0000ff;"
>
return
</span> (<span style=
"color: #0000ff;"
>bool</span><span style=
"color: #000000;"
>)
$data
;
</span><span style=
"color: #0000ff;"
>
return
</span> <span style=
"color: #0000ff;"
>false</span><span style=
"color: #000000;"
>;
}
}
</span><span style=
"color: #008000;"
>
<span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
function
stripSlashes
(
$data
)
{
</span><span style=
"color: #0000ff;"
>
if
</span><span style=
"color: #000000;"
> (
is_array
(
$data
)) {
</span><span style=
"color: #0000ff;"
>
foreach
</span> (
$data
<span style=
"color: #0000ff;"
>
as
</span>
$key
=><span style=
"color: #000000;"
>
$value
) {
$data
[
$key
] </span>= $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>
stripSlashes
(
$value
);
}
} </span><span style=
"color: #0000ff;"
>
else
</span><span style=
"color: #000000;"
> {
$data
</span>=<span style=
"color: #000000;"
>
stripSlashes
(trim(
$data
));
}
</span><span style=
"color: #0000ff;"
>
return
</span><span style=
"color: #000000;"
>
$data
;
}
</span><span style=
"color: #008000;"
>
<span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
function
addSlashes
(
$data
)
{
</span><span style=
"color: #0000ff;"
>
if
</span><span style=
"color: #000000;"
> (
is_array
(
$data
)) {
</span><span style=
"color: #0000ff;"
>
foreach
</span> (
$data
<span style=
"color: #0000ff;"
>
as
</span>
$key
=><span style=
"color: #000000;"
>
$value
) {
$data
[
$key
] </span>= $<span style=
"color: #0000ff;"
>this</span>-><span style=
"color: #000000;"
>
addSlashes
(
$value
);
}
} </span><span style=
"color: #0000ff;"
>
else
</span><span style=
"color: #000000;"
> {
$data
</span>=<span style=
"color: #000000;"
>
addSlashes
(trim(
$data
));
}
</span><span style=
"color: #0000ff;"
>
return
</span><span style=
"color: #000000;"
>
$data
;
}
</span><span style=
"color: #008000;"
>
<span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
function
getClientIp()
{
</span><span style=
"color: #0000ff;"
>
if
</span>(!isset($<span style=
"color: #0000ff;"
>this</span>->e[<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">ip</span><span style="color: #800000;">'
</span><span style=
"color: #000000;"
>]))
{
</span><span style=
"color: #0000ff;"
>
if
</span> (
getenv
(<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">HTTP_CLIENT_IP</span><span style="
color: #800000;
">"
</span>) &&
strcasecmp
(
getenv
(<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">HTTP_CLIENT_IP</span><span style="
color: #800000;
">"
</span>), <span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">unknown</span><span style="
color: #800000;
">"
</span><span style=
"color: #000000;"
>))
$ip
</span>=
getenv
(<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">HTTP_CLIENT_IP</span><span style="
color: #800000;
">"
</span><span style=
"color: #000000;"
>);
</span><span style=
"color: #0000ff;"
>
else
</span> <span style=
"color: #0000ff;"
>
if
</span> (
getenv
(<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">HTTP_X_FORWARDED_FOR</span><span style="
color: #800000;
">"
</span>) &&
strcasecmp
(
getenv
(<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">HTTP_X_FORWARDED_FOR</span><span style="
color: #800000;
">"
</span>), <span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">unknown</span><span style="
color: #800000;
">"
</span><span style=
"color: #000000;"
>))
$ip
</span>=
getenv
(<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">HTTP_X_FORWARDED_FOR</span><span style="
color: #800000;
">"
</span><span style=
"color: #000000;"
>);
</span><span style=
"color: #0000ff;"
>
else
</span> <span style=
"color: #0000ff;"
>
if
</span> (
getenv
(<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">REMOTE_ADDR</span><span style="
color: #800000;
">"
</span>) &&
strcasecmp
(
getenv
(<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">REMOTE_ADDR</span><span style="
color: #800000;
">"
</span>), <span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">unknown</span><span style="
color: #800000;
">"
</span><span style=
"color: #000000;"
>))
$ip
</span>=
getenv
(<span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">REMOTE_ADDR</span><span style="
color: #800000;
">"
</span><span style=
"color: #000000;"
>);
</span><span style=
"color: #0000ff;"
>
else
</span> <span style=
"color: #0000ff;"
>
if
</span> (isset(
$_SERVER
[<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">REMOTE_ADDR</span><span style="color: #800000;">'
</span>]) &&
$_SERVER
[<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">REMOTE_ADDR</span><span style="color: #800000;">'
</span>] &&
strcasecmp
(
$_SERVER
[<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">REMOTE_ADDR</span><span style="color: #800000;">'
</span>], <span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">unknown</span><span style="
color: #800000;
">"
</span><span style=
"color: #000000;"
>))
$ip
</span>=
$_SERVER
[<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">REMOTE_ADDR</span><span style="color: #800000;">'
</span><span style=
"color: #000000;"
>];
</span><span style=
"color: #0000ff;"
>
else
</span><span style=
"color: #000000;"
>
$ip
</span>= <span style=
"color: #800000;"
>
"</span><span style="
color: #800000;
">unknown</span><span style="
color: #800000;
">"
</span><span style=
"color: #000000;"
>;
$</span><span style=
"color: #0000ff;"
>this</span>->e[<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">ip</span><span style="color: #800000;">'
</span>] =<span style=
"color: #000000;"
>
$ip
;
}
</span><span style=
"color: #0000ff;"
>
return
</span> $<span style=
"color: #0000ff;"
>this</span>->e[<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">ip</span><span style="color: #800000;">'
</span><span style=
"color: #000000;"
>];
}
</span><span style=
"color: #008000;"
>
<span style=
"color: #0000ff;"
>
public
</span><span style=
"color: #000000;"
>
function
getSecondDomain()
{
$domain
</span>=
$_SERVER
[<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">HTTP_HOST</span><span style="color: #800000;">'
</span><span style=
"color: #000000;"
>];
$domain
</span>=
str_replace
(
array
(<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">com.cn</span><span style="color: #800000;">'
</span>,<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">net.cn</span><span style="color: #800000;">'
</span>,<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">gov.cn</span><span style="color: #800000;">'
</span>,<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">org.cn</span><span style="color: #800000;">'
</span>),<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">com</span><span style="color: #800000;">'
</span><span style=
"color: #000000;"
>,
$domain
);
$tmp
</span>=
explode
(<span style=
"color: #800000;"
>
'</span><span style="color: #800000;">.</span><span style="color: #800000;">'
</span><span style=
"color: #000000;"
>,
$domain
);
</span><span style=
"color: #0000ff;"
>
if
</span>(
count
(
$tmp
) 3)<span style=
"color: #0000ff;"
>
return
</span> <span style=
"color: #0000ff;"
>false</span><span style=
"color: #000000;"
>;
elseif
(
is_numeric
(
$tmp
[</span><span style=
"color: #800080;"
>0</span>]))<span style=
"color: #0000ff;"
>
return
</span> <span style=
"color: #0000ff;"
>false</span><span style=
"color: #000000;"
>;
</span><span style=
"color: #0000ff;"
>
else
</span> <span style=
"color: #0000ff;"
>
return
</span>
$tmp
[<span style=
"color: #800080;"
>0</span><span style=
"color: #000000;"
>];
}
}
</span>?>