yii\web\Request类继承yii\base\Request类。
- web Request类表示一个HTTP请求。
- 它封装了$_SERVER变量,并解决了不同Web服务器之间的不一致性。
- 它还提供了从$_POST, $_GET, $_COOKIES和REST检索请求参数的接口
1. 属性
- CSRF_HEADER CSRF token键名
- CSRF_MASK_LENGTH CSRF token掩码长度
- $enableCsrfValidation 是否启用csrf验证
- $csrfParam 用于阻止csrf的token的名称
- $csrfCookie 生成csrf的配置
- $enableCsrfCookie 是否持久化csrf token
- $enableCookieValidation 是否验证cookie,确保未被篡改
- $cookieValidationKey 用于cookie验证的密钥
- $methodParam 指示一个请求的名称
- $parsers 请求转换解析器
- $trustedHosts 信任头配置
- $secureHeaders 头列表
- $ipHeaders 存储真实客户端IP的代理头列表
- $secureProtocolHeaders 用于检查是否通过HTTPS建立连接的头列表
- $_cookies cookie集合
- $_headers 请求头集合
//CSRF token键名
const CSRF_HEADER = 'X-CSRF-Token';
//CSRF token掩码长度
const CSRF_MASK_LENGTH = 8;
// 是否启用csrf验证
public $enableCsrfValidation = true;
//用于阻止csrf的token的名称
public $csrfParam = '_csrf';
// 生成csrf的配置
public $csrfCookie = ['httpOnly' => true];
// 是否持久化csrf token
public $enableCsrfCookie = true;
// 是否验证cookie,确保未被篡改
public $enableCookieValidation = true;
//用于cookie验证的密钥
public $cookieValidationKey;
//指示一个请求的名称
public $methodParam = '_method';
//请求转换解析器
public $parsers = [];
/**
* 信任头配置
* [
* '192.168.0.0/24',
* '10.0.0.1' => ['X-Forwarded-For']
* ]
*/
public $trustedHosts = [];
//头列表
public $secureHeaders = [
// Common:
'X-Forwarded-For',
'X-Forwarded-Host',
'X-Forwarded-Proto',
// Microsoft:
'Front-End-Https',
'X-Rewrite-Url',
// ngrok:
'X-Original-Host',
];
//存储真实客户端IP的代理头列表
public $ipHeaders = [
'X-Forwarded-For', // Common
];
//用于检查是否通过HTTPS建立连接的头列表
public $secureProtocolHeaders = [
'X-Forwarded-Proto' => ['https'], // Common
'Front-End-Https' => ['on'], // Microsoft
];
//cookie集合
private $_cookies;
//请求头集合
private $_headers;