Requests_Cookie::domain_matches() WordPress Method
The Requests_Cookie::domain_matches() method is used to check if a given domain matches the domain of a given cookie. This is useful for checking if a cookie should be sent to a given domain.
Requests_Cookie::domain_matches( string $string ) #
Check if a cookie is valid for a given domain
Parameters
- $string
(string)(Required)Domain to check
Return
(boolean) Whether the cookie is valid for the given domain
Source
File: wp-includes/Requests/Cookie.php
public function domain_matches($string) { if (!isset($this->attributes['domain'])) { // Cookies created manually; cookies created by Requests will set // the domain to the requested domain return true; } $domain_string = $this->attributes['domain']; if ($domain_string === $string) { // The domain string and the string are identical. return true; } // If the cookie is marked as host-only and we don't have an exact // match, reject the cookie if ($this->flags['host-only'] === true) { return false; } if (strlen($string) <= strlen($domain_string)) { // For obvious reasons, the string cannot be a suffix if the domain // is shorter than the domain string return false; } if (substr($string, -1 * strlen($domain_string)) !== $domain_string) { // The domain string should be a suffix of the string. return false; } $prefix = substr($string, 0, strlen($string) - strlen($domain_string)); if (substr($prefix, -1) !== '.') { // The last character of the string that is not included in the // domain string should be a %x2E (".") character. return false; } // The string should be a host name (i.e., not an IP address). return !preg_match('#^(.+\.)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$#', $string); }
Expand full source codeCollapse full source codeView on TracView on GitHub