public function giveXML($fields = array()) { /** @var $error Error */ $error = Error::getInstance(); $fields['code'] = $error->currentErrorCode; $fields['message'] = $error->getErrorMessage($fields['code']); $this->generate($fields); $this->_xmlSign = Signature::getInstance()->sign($this->_unSignedXml); $this->_signedXml = str_replace("</response>", '<sign>' . urlencode($this->_xmlSign) . '</sign></response>', $this->_unSignedXml); $this->savePropertiesToLog(); DBLog::getInstance()->saveToDB(); header('Content-Type: application/xml; charset=' . $this->_encoding); echo $this->_signedXml; // $file = __DIR__ . '/log/' . time() . '.xml'; // file_put_contents( $file, $this->_signedXml ); die; }
<?php /** * Created by PhpStorm. * User: cherepakha * Date: 06.02.15 * Time: 12:14 */ spl_autoload_extensions(".php"); spl_autoload_register(); $config = __DIR__ . '/config/config.php'; use core\Core; use core\signature\Signature; Core::getInstance()->setConfig($config); //var_dump($_SERVER); $var = $_SERVER['HTTP_HOST'] . '/index.php?' . $_SERVER['QUERY_STRING']; $sign = Signature::getInstance()->sign($var); echo urlencode($sign);
public function checkSign() { /** * @var $signature Signature * @var $error Error */ $signature = Signature::getInstance(); if (!$signature->verifySign($this->_url, urldecode($this->_sign))) { $error = Error::getInstance(); $error->catchError(Error::ERROR_SIGNATURE_VERIFICATION); } }