160 lines
2.8 KiB
PHP
160 lines
2.8 KiB
PHP
![]() |
<?php
|
|||
|
|
|||
|
|
|||
|
class ResponseHandler {
|
|||
|
|
|||
|
/** <20><>Կ */
|
|||
|
var $key;
|
|||
|
|
|||
|
/** Ӧ<><D3A6><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD> */
|
|||
|
var $parameters;
|
|||
|
|
|||
|
/** debug<75><67>Ϣ */
|
|||
|
var $debugInfo;
|
|||
|
|
|||
|
function __construct() {
|
|||
|
$this->ResponseHandler();
|
|||
|
}
|
|||
|
|
|||
|
function ResponseHandler() {
|
|||
|
$this->key = "";
|
|||
|
$this->parameters = array();
|
|||
|
$this->debugInfo = "";
|
|||
|
|
|||
|
/* GET */
|
|||
|
foreach($_GET as $k => $v) {
|
|||
|
$this->setParameter($k, $v);
|
|||
|
}
|
|||
|
/* POST */
|
|||
|
foreach($_POST as $k => $v) {
|
|||
|
$this->setParameter($k, $v);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
*<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Կ
|
|||
|
*/
|
|||
|
function getKey() {
|
|||
|
return $this->key;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ
|
|||
|
*/
|
|||
|
function setKey($key) {
|
|||
|
$this->key = $key;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
*<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
*/
|
|||
|
function getParameter($parameter) {
|
|||
|
return $this->parameters[$parameter];
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
*/
|
|||
|
function setParameter($parameter, $parameterValue) {
|
|||
|
$this->parameters[$parameter] = $parameterValue;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
*<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*@return array
|
|||
|
*/
|
|||
|
function getAllParameters() {
|
|||
|
return $this->parameters;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
*<EFBFBD>Ƿ<EFBFBD><EFBFBD>Ƹ<EFBFBD>ͨǩ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>a-z<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD>ǩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*true:<EFBFBD><EFBFBD>
|
|||
|
*false:<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
function isTenpaySign() {
|
|||
|
$signPars = "";
|
|||
|
ksort($this->parameters);
|
|||
|
foreach($this->parameters as $k => $v) {
|
|||
|
if("sign" != $k && "" != $v) {
|
|||
|
$signPars .= $k . "=" . $v . "&";
|
|||
|
}
|
|||
|
}
|
|||
|
$signPars .= "key=" . $this->getKey();
|
|||
|
|
|||
|
$sign = strtolower(md5($signPars));
|
|||
|
|
|||
|
$tenpaySign = strtolower($this->getParameter("sign"));
|
|||
|
|
|||
|
//debug<75><67>Ϣ
|
|||
|
$this->_setDebugInfo($signPars . " => sign:" . $sign .
|
|||
|
" tenpaySign:" . $this->getParameter("sign"));
|
|||
|
|
|||
|
return $sign == $tenpaySign;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
*<EFBFBD><EFBFBD>ȡdebug<EFBFBD><EFBFBD>Ϣ
|
|||
|
*/
|
|||
|
function getDebugInfo() {
|
|||
|
return $this->debugInfo;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
*<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*@param $show_url <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>url<EFBFBD><EFBFBD>ַ,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>url<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ(http://www.xxx.com/xxx.php)<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
function doShow($show_url) {
|
|||
|
$strHtml = "<html><head>\r\n" .
|
|||
|
"<meta name=\"TENCENT_ONLINE_PAYMENT\" content=\"China TENCENT\">" .
|
|||
|
"<script language=\"javascript\">\r\n" .
|
|||
|
"window.location.href='" . $show_url . "';\r\n" .
|
|||
|
"</script>\r\n" .
|
|||
|
"</head><body></body></html>";
|
|||
|
|
|||
|
echo $strHtml;
|
|||
|
|
|||
|
exit;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* <EFBFBD>Ƿ<EFBFBD><EFBFBD>Ƹ<EFBFBD>ͨǩ<EFBFBD><EFBFBD>
|
|||
|
* @param signParameterArray ǩ<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return boolean
|
|||
|
*/
|
|||
|
function _isTenpaySign($signParameterArray) {
|
|||
|
|
|||
|
$signPars = "";
|
|||
|
foreach($signParameterArray as $k) {
|
|||
|
$v = $this->getParameter($k);
|
|||
|
if("sign" != $k && "" != $v) {
|
|||
|
$signPars .= $k . "=" . $v . "&";
|
|||
|
}
|
|||
|
}
|
|||
|
$signPars .= "key=" . $this->getKey();
|
|||
|
|
|||
|
$sign = strtolower(md5($signPars));
|
|||
|
|
|||
|
$tenpaySign = strtolower($this->getParameter("sign"));
|
|||
|
|
|||
|
//debug<75><67>Ϣ
|
|||
|
$this->_setDebugInfo($signPars . " => sign:" . $sign .
|
|||
|
" tenpaySign:" . $this->getParameter("sign"));
|
|||
|
|
|||
|
return $sign == $tenpaySign;
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>debug<EFBFBD><EFBFBD>Ϣ
|
|||
|
*/
|
|||
|
function _setDebugInfo($debugInfo) {
|
|||
|
$this->debugInfo = $debugInfo;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
?>
|