MediaWiki  1.30.0
Cookie Class Reference

Public Member Functions

 __construct ( $name, $value, $attr)
 
 serializeToHttpRequest ( $path, $domain)
 Serialize the cookie jar into a format useful for HTTP Request headers. More...
 
 set ( $value, $attr)
 Sets a cookie. More...
 

Static Public Member Functions

static validateCookieDomain ( $domain, $originDomain=null)
 Return the true if the cookie is valid is valid. More...
 

Protected Member Functions

 canServeDomain ( $domain)
 
 canServePath ( $path)
 
 isUnExpired ()
 

Protected Attributes

 $domain
 
 $expires
 
 $isSessionKey = true
 
 $name
 
 $path
 
 $value
 

Detailed Description

Definition at line 24 of file Cookie.php.

Constructor & Destructor Documentation

◆ __construct()

Cookie::__construct (   $name,
  $value,
  $attr 
)

Definition at line 36 of file Cookie.php.

References $name, $value, and name.

Member Function Documentation

◆ canServeDomain()

Cookie::canServeDomain (   $domain)
protected
Parameters
string$domain
Returns
bool

Definition at line 175 of file Cookie.php.

References $domain.

Referenced by serializeToHttpRequest().

◆ canServePath()

Cookie::canServePath (   $path)
protected
Parameters
string$path
Returns
bool

Definition at line 198 of file Cookie.php.

References $path.

Referenced by serializeToHttpRequest().

◆ isUnExpired()

Cookie::isUnExpired ( )
protected
Returns
bool

Definition at line 205 of file Cookie.php.

Referenced by serializeToHttpRequest().

◆ serializeToHttpRequest()

Cookie::serializeToHttpRequest (   $path,
  $domain 
)

Serialize the cookie jar into a format useful for HTTP Request headers.

Parameters
string$pathThe path that will be used. Required.
string$domainThe domain that will be used. Required.
Returns
string

Definition at line 159 of file Cookie.php.

References $domain, $path, $ret, $value, canServeDomain(), canServePath(), isUnExpired(), and name.

◆ set()

Cookie::set (   $value,
  $attr 
)

Sets a cookie.

Used before a request to set up any individual cookies. Used internally after a request to parse the Set-Cookie headers.

Parameters
string$valueThe value of the cookie
array$attrPossible key/values: expires A date string path The path this cookie is used on domain Domain this cookie is used on
Exceptions
InvalidArgumentException

Definition at line 53 of file Cookie.php.

References $value, and value.

◆ validateCookieDomain()

static Cookie::validateCookieDomain (   $domain,
  $originDomain = null 
)
static

Return the true if the cookie is valid is valid.

Otherwise, false. The uses a method similar to IE cookie security described here: http://kuza55.blogspot.com/2008/02/understanding-cookie-security.html A better method might be to use a blacklist like http://publicsuffix.org/

Todo:

fixme fails to detect 3-letter top-level domains

fixme fails to detect 2-letter top-level domains for single-domain use (probably not a big problem in practice, but there are test cases)

Parameters
string$domainThe domain to validate
string$originDomain(optional) the domain the cookie originates from
Returns
bool

Definition at line 92 of file Cookie.php.

References $domain, and captcha-old\count.

Referenced by CookieJar\parseCookieResponseHeader(), and HttpTest\testValidateCookieDomain().

Member Data Documentation

◆ $domain

Cookie::$domain
protected

Definition at line 29 of file Cookie.php.

Referenced by canServeDomain(), serializeToHttpRequest(), and validateCookieDomain().

◆ $expires

Cookie::$expires
protected

Definition at line 27 of file Cookie.php.

◆ $isSessionKey

Cookie::$isSessionKey = true
protected

Definition at line 30 of file Cookie.php.

◆ $name

Cookie::$name
protected

Definition at line 25 of file Cookie.php.

Referenced by __construct().

◆ $path

Cookie::$path
protected

Definition at line 28 of file Cookie.php.

Referenced by canServePath(), and serializeToHttpRequest().

◆ $value

Cookie::$value
protected

Definition at line 26 of file Cookie.php.

Referenced by __construct(), serializeToHttpRequest(), and set().


The documentation for this class was generated from the following file: