gpt4 book ai didi

laravel - 如何从 laravel HTTP 请求类获取传入请求的协议(protocol)(http/https)?

转载 作者:行者123 更新时间:2023-12-04 05:23:02 25 4
gpt4 key购买 nike

在我的新应用程序 API 中,我必须检查来自第三方 URL 的请求是否应该在 https 中。如果不是https,我必须将消息返回为“连接不安全”。有人可以帮助我吗?

最佳答案

Daniel Tran 的回答是正确的,只是信息 HTTPS 类型请求有一个额外的字段 HTTPS 根据要求。有时该字段也可以等于 off,但仅此而已。

所以你可以写一个像

if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') { 
doSomething();
}

Laravel 请求类也继承了与 symphony 完全相似的东西。您可以在下面找到;

vendor/symfony/http-foundatiton/Request.php


public function isSecure()
{
if ($this->isFromTrustedProxy() && self::$trustedHeaders[self::HEADER_CLIENT_PROTO] && $proto = $this->headers->get(self::$trustedHeaders[self::HEADER_CLIENT_PROTO])) {
return in_array(strtolower(current(explode(',', $proto))), array('https', 'on', 'ssl', '1'));
}

$https = $this->server->get('HTTPS');

return !empty($https) && 'off' !== strtolower($https);
}

关于laravel - 如何从 laravel HTTP 请求类获取传入请求的协议(protocol)(http/https)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42969285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com