yii2 response 设置http header

本文介绍了在Yii框架中通过配置文件、控制器方法及afterAction钩子设置HTTP响应头的三种方式,实现禁止嵌入框架和允许跨域访问等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 方法1:配置文件中
return [
    ...
    'components' => [
        ...
        'response' => [
            'on beforeSend' => function($event) {
                $event->sender->headers->add('X-Frame-Options', 'DENY');
            },
        ],
        ...
    ],
];


// 方法2:控制器方法中

return \Yii::createObject([
    'class' => 'yii\web\Response',
    'format' => \yii\web\Response::FORMAT_JSON,
    'on beforeSend' => function ($event) {
        $event->sender->headers->add('Access-Control-Allow-Origin', '*');
    },
    'data' => [
        'msg' => 'hello world',
        'code' => 100,
        'aa' => 'bb'
    ],
]);

// 方法3:afterAction中. index和edit方法允许跨域

public function afterAction($action, $result)
{
    if (in_array($action->id, ['index','edit'])) {
        $headers = $result->getHeaders();
        $headers->set('Access-Control-Allow-Origin', '*');
    }
    return $result;
}

 

转载于:https://my.oschina.net/sskill/blog/1605300

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值