/** * Calculate Nonce * * @return string The nonce value */ protected function _calcNonce() { // Once subtle consequence of this timeout calculation is that it // actually divides all of time into _nonceTimeout-sized sections, such // that the value of timeout is the point in time of the next // approaching "boundary" of a section. This allows the server to // consistently generate the same timeout (and hence the same nonce // value) across requests, but only as long as one of those // "boundaries" is not crossed between requests. If that happens, the // nonce will change on its own, and effectively log the user out. This // would be surprising if the user just logged in. $timeout = ceil(time() / $this->_nonceTimeout) * $this->_nonceTimeout; $nonce = hash('md5', $timeout . ':' . $this->_request->getServer()->get('HTTP_USER_AGENT') . ':' . __CLASS__); return $nonce; }
public function testRequestAllowsSettingOfParameterContainer() { $request = new Request(); $p = new \Zend\Stdlib\Parameters(); $request->setQuery($p); $request->setPost($p); $request->setFile($p); $request->setServer($p); $request->setEnv($p); $this->assertSame($p, $request->getQuery()); $this->assertSame($p, $request->getPost()); $this->assertSame($p, $request->getFile()); $this->assertSame($p, $request->getServer()); $this->assertSame($p, $request->getEnv()); }
/** * Return browse action from the request. * * @param Zend\Http\Request $request Request * * @return null|string Browse action or null if request is not a browse action */ protected function getBrowseAction($request) { $referer = $request->getServer()->get('HTTP_REFERER'); $match = null; $regex = '/^http[s]?:.*\\/Browse\\/(Database|Journal)[\\/.*]?/'; if (preg_match($regex, $referer, $match)) { return $match[1]; } return null; }
/** * return accessLog instance * * @param string $loginName * @param Zend_Auth_Result $authResult * @param Zend_Controller_Request_Abstract $request * @param string $clientIdString * @return Tinebase_Model_AccessLog */ public function getAccessLogEntry($loginName, Zend_Auth_Result $authResult, \Zend\Http\Request $request, $clientIdString) { if ($header = $request->getHeaders('USER-AGENT')) { $userAgent = substr($header->getFieldValue(), 0, 255); } else { $userAgent = 'unknown'; } $accessLog = new Tinebase_Model_AccessLog(array('ip' => $request->getServer('REMOTE_ADDR'), 'li' => Tinebase_DateTime::now(), 'result' => $authResult->getCode(), 'clienttype' => $clientIdString, 'login_name' => $loginName ? $loginName : $authResult->getIdentity(), 'user_agent' => $userAgent), true); return $accessLog; }
/** * GetRefererUrl * * @return mixed */ public function getRefererURL() { return $this->request->getServer('HTTP_REFERER'); }
private function buildRequest(HttpRequest $httpRequest) { $headers = $httpRequest->getHeaders(); // Marshal content type, so we can seed it into the $_SERVER array $contentType = $headers->has('Content-Type') ? $headers->get('Content-Type')->getFieldValue() : ''; // Get $_SERVER superglobal $server = []; if ($httpRequest instanceof PhpEnvironmentRequest) { $server = $httpRequest->getServer()->toArray(); } elseif (!empty($_SERVER)) { $server = $_SERVER; } $server['REQUEST_METHOD'] = $httpRequest->getMethod(); // Seed headers with HTTP auth information $headers = $headers->toArray(); if (isset($server['PHP_AUTH_USER'])) { $headers['PHP_AUTH_USER'] = $server['PHP_AUTH_USER']; } if (isset($server['PHP_AUTH_PW'])) { $headers['PHP_AUTH_PW'] = $server['PHP_AUTH_PW']; } $bodyParams = $this->getBodyParams($httpRequest); return new OAuthRequest($httpRequest->getQuery()->toArray(), $bodyParams, [], [], [], $server, $httpRequest->getContent(), $headers); }