首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel PHP获取referer

Laravel PHP获取referer
EN

Stack Overflow用户
提问于 2017-12-12 16:27:39
回答 2查看 2.8K关注 0票数 1

我在子域中有一个登录按钮,它在主域上调用AJAX请求。为了使CORS工作,我必须有提出请求的正确的域,以便在主域上验证它。

我不能使用精确的子域,因为我有超过3k个子域,它们都是有效的,我也不能动态地将它们全部添加到每个请求中,因为这会给它带来不必要的负担。

我想要的是一种从请求中拉出referer的方法,但$_SERVER['HTTP_REFERER']并不总是起作用。

有没有什么方法可以每次都无异常地获取referer,这样我就可以确定设置了referer?

如果没有,有没有办法强制将referer报头附加到请求?

EN

回答 2

Stack Overflow用户

发布于 2017-12-12 20:48:09

是的,有一种简单的方法可以强制将referer标头附加到请求。它只需要对前端代码进行很小的更改,并且非常简单:

只需通过将其添加为URL参数来显式地发送referer。

代码语言:javascript
复制
http://www.yourdomain.com/login?referer=sub.yourdomain.com

查询参数已经在印前检查请求中发送,可以由后台评估以设置正确的CORS头部。

票数 0
EN

Stack Overflow用户

发布于 2019-12-11 10:43:48

您可以根据自己的喜好使用以下内容

代码语言:javascript
复制
//Get the current URL without the query string.
url()->current();

//Get the current URL including the query string.
url()->full();

//Get the full URL for the previous request or the http refer er.
url()->previous();

这些方法中的每一个也可以通过URL外观访问:

代码语言:javascript
复制
use Illuminate\Support\Facades\URL;
URL::current();
URL::full();
URL::previous();

Laravel Doc

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47768152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档