在 Blazor 服务器端项目中获取 referer

Get referer in Blazor server side project

提问人:Dominick 提问时间:8/5/2019 更新时间:8/16/2021 访问量:1018

问:

我正在为客户开发 Blazor 服务器端站点,他们正在使用 MailChimp 进行新闻稿注册。当他们填写表单时,MailChimp 会有一个确认页面,之后 MailChimp 将他们重定向到客户端指定的页面,在本例中为 /thanks。但是,我只希望用户能够从MailChimp发送到此页面,而不能直接转到该页面。

我希望能够在 OnInitAsync 方法中获取引用者,并且我将用户从 MailChimp 定向到那里,他们将被重定向到主页。我已经知道如何重定向它们,只是没有获得引用地址。任何指导将不胜感激。

谢谢

.net-core asp.net-core-2.0 blazor-server-side

评论


答:

-2赞 saltyCoder 8/6/2019 #1

您可以使用 HttpRequest.UrlReferrer 来检查它是否来自 MailChimp。https://learn.microsoft.com/en-us/dotnet/api/system.web.httprequest.urlreferrer?view=netframework-4.8

Uri MyUrl = Request.UrlReferrer;
string host = MyUrl .Host;

或者添加查询字符串参数,如 /thanks?r=1234ERTY 如果不存在参数,则重定向。