标签: referer

ASPNET MVC:找出引用者的路线(原文如此)的方法?

我的控制器上有一些POST动作,它们来自一对GET动作.验证失败时,我想呈现POST来自的操作的视图.例如:

〜/ accounts POST到〜/ accounts/disable - 渲染验证错误的"索引"视图〜/ accounts/profile POST到〜/ accounts/disable - 渲染验证错误的"profile"视图

我可以从服务器变量中获取referer(sic)并解析它以找出操作,但是希望有一些内置的内容可以实现我想要的,或者其他人已经完成了我可以做到的事情.

看起来ControllerContext.RouteData属性只有当前请求的信息,而不是引用(sic)请求......?

我正在使用ASP.NET MVC测试版.

asp.net-mvc redirect routing referer

7
推荐指数
1
解决办法
2064
查看次数

如果使用location.href =重定向到新网页,是否设置了REFERER?

如果使用javascript将用户重定向到新网页location.href = <url>,目标Web服务器会看到哪些REFERER标头?

javascript http referer

7
推荐指数
2
解决办法
8785
查看次数

重定向时未发送 Cookie。罪魁祸首是Referer吗?

我有一个实现 OpenID Connect 客户端的 HTTP 服务器。OpenID Connect 协议涉及许多重定向,其中之一给我带来了麻烦,可能是由于 Referer 标头的存在。Firefox、Chrome 和 IE 都会出现此问题。

  1. 一个请求到达我的服务器。浏览器被重定向到 OpenID 提供商。
  2. OpenID 提供程序对最终用户进行身份验证并将浏览器重定向到我的服务器上的端点。
  3. 我的服务器与 OpenID 提供程序交互以确定最终用户的身份并为用户建立会话。
  4. 浏览器被重定向回我的服务器以重新执行原始请求,这次使用 cookie 中的会话 ID。

我创建了一个简单的 OpenID Connect Provider 实现用于测试,一切正常。但使用 salesforce.com 进行测试时,步骤 4 中的最终重定向存在问题。使用 salesforce.com 时,最终请求不包含 Cookie 标头。


使用我的 OpenID Connect 提供商进行测试

步骤 4 中发送到用户浏览器的响应:

HTTP/1.1 302 Found
Set-Cookie: session=c925f5006beb15cab779b292fe37e727; path=/; secure; HttpOnly
Location: https://localhost:21201/targetService
Content-Type: text/html; charset=UTF-8
Content-Length: 75
Run Code Online (Sandbox Code Playgroud)

浏览器返回:

GET /targetService HTTP/1.1
Host: localhost:21201
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, …
Run Code Online (Sandbox Code Playgroud)

cookies redirect http referer

7
推荐指数
1
解决办法
2660
查看次数

Google Analytics,安装跟踪Android

我想使用谷歌分析为我的应用程序提供track install referer.
我不想使用跟踪网页浏览量和事件功能,只能安装.
所以我在我的应用程序中添加了sdk jar,将这些行添加到清单中:

<receiver android:name="com.google.android.apps.analytics.AnalyticsReceiver"
      android:exported="true">
      <intent-filter>
          <action android:name="com.android.vending.INSTALL_REFERRER" />
      </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

并发布应用程序.
但怎么能看到统计数据?我从未输入我的UA-xxxxxxx id.

对于网页浏览量和事件跟踪,它在这里:

tracker.start("UA-YOUR-ACCOUNT-HERE", this);
Run Code Online (Sandbox Code Playgroud)

但正如自述文件所说:( 注意:如果使用引荐跟踪,请不要在Application onCreate()方法中启动GoogleAnalyticsTracker).

但是有了引用者我在哪里可以放入我的身份证明?
什么是在谷歌分析控制台中观看的网址?

谢谢

android install google-analytics referer

6
推荐指数
1
解决办法
4735
查看次数

.htaccess - 检查Referer匹配主机没有硬编码?

我想做一个典型的事情,你确保一个引用者标题与你的主机匹配,使用htaccess.但是我想在不对域名进行硬编码的情况下这样做,因此htaccess代码可以很容易地在许多站点中重用.

我知道这是典型的做法.想象一下,我在WWW.example.com上有一个主服务器,在IMG.example.com上有一个图像服务器:

RewriteCond %{HTTP_HOST} !^(www\.)
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !https?://(([^\.]+)\.)?example\.com/    [NC]
RewriteRule DO SOMETHING HERE [L]
Run Code Online (Sandbox Code Playgroud)

但是,如果不将'example.com'硬编码到Rewrite条件下,我怎么能以某种方式做到这一点?我想在某种程度上尝试在引用者重写条件中使用%{HTTP_HOST},但我不确定如何匹配最后一个/域部分并将其置于其中.也许有一些方法我可以匹配主机,将结果放入变量,然后能够在下一个RewriteCond线上使用该变量?

我有点失落.谢谢你的帮助!

.htaccess rewrite referer referrer hotlinking

6
推荐指数
1
解决办法
2026
查看次数

PHP驱动的API如何验证真正的客户端(referer)跨域(知道标头可以被欺骗)?

使用PHP,你如何安全的身份验证API调用,跨域,用以下标准:

  1. 必须从给定的域名/页面调用(没有其他域名)
  2. 必须有一个给定的密钥

一些背景:请在回答之前仔细阅读......

我的Web应用程序将通过下面的调用在客户端的网站上显示一个javascript小部件.因此,我们讨论的是对要提供的脚本进行跨域身份验证,但仅针对真正的客户端和仅针对给定的URL!

目前,CLIENT的网站可以通过单行javascript包含小部件.

示例client-website.com/page/with/my-widget

<head>
...
<script src="//ws.my-webappserver.com/little-widget/?key=api_key"></script>
...
</head>
Run Code Online (Sandbox Code Playgroud)

现在,实际上这不是直接调用javascript而是在我的远程服务器上的PHP脚本,它位于实际的javascript前面,用于进行一些身份验证.

上面调用背后的PHP脚本首先执行此操作:

  1. 检查API密钥($ _REQUEST ["key"])是否与数据库中的用户记录匹配.
  2. 检查引用者的URL($ _SERVER ['HTTP_REFERER'])对数据库***中的记录.

这是简化的,但实质上服务器看起来像:

if ($_SERVER['HTTP_REFERER'] !== "http://client-website.com/page/with/my-widget")
  && $_REQUEST["Key"] == "the_long_api_key") {
    header("Content-type: application/x-javascript");
    echo file_get_contents($thewidgetJS_in_secret_location_on_server);
} else {
  //pretend to be a 404 page not found or some funky thing like that
}
Run Code Online (Sandbox Code Playgroud)

***小部件只允许在某些网站/页面上运行

现在,问题出在这里:

  1. 关键是在客户端,所以任何人都可以查看源和获取密钥
  2. 例如,引用者可以被欺骗(通过cURL)

还有一点障碍:我无法告诉客户将密钥粘贴在服务器上的php脚本中,因为它们可以运行任何服务器端语言!

那么如何才能使我的Web服务安全并且只能由给定的域/页访问?

任何帮助将非常感激!

ps:小部件上传到一种下拉框 - 所以安全性在这里是关键!

javascript authentication widget cross-domain referer

6
推荐指数
1
解决办法
493
查看次数

如何仅允许iframe嵌入白名单网站?

我有一个表格,我想嵌入一个网站,这是在我的白名单上.

试图嵌入它的其他网站应该只获得一个错误页面.

<iframe src="https://domain.tld/getForm.php?embed=1&formId=123456"></iframe>
Run Code Online (Sandbox Code Playgroud)

我希望我可以用$_SERVER['HTTP_REFERER']getForm.php检查embeding网站,但它不工作.

有谁知道最佳做法或任何解决方法?

提前致谢!

html php forms iframe referer

6
推荐指数
2
解决办法
8550
查看次数

Amazon S3 存储桶策略引用器

我正在尝试编辑我的 S3 存储桶配置,以便第 3 方站点无法链接到其中的内容。还有一个额外的好处是他们只能访问我域中的内容,而不是补充 s3bucket.amazon-east.amazonaws.com 或类似的东西。

该文档有一个完全适用于此的示例,但是当我在下面为我的网站复制/粘贴/修改时它不起作用?我仍然收到 403 错误。当我只取出条件部分时,它允许完全访问,所以只有引用部分有问题。

这是一段如此短的代码,我正在用头撞墙……希望第二组眼睛可以启发我了解我遗漏的可能很明显的东西?

或者,这可能没有任何问题,并且其他地方可能还有我尚未设置/考虑的其他配置?

谢谢阅读。

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Sid": "fml",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::www.mysite.com/*",
            "Condition": {
                "StringLike": {
                    "aws:Referer": [
                        "http://mysite.com/*",
                        "http://www.mysite.com/*"
                    ]
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

policy amazon-s3 referer bucket amazon-web-services

5
推荐指数
1
解决办法
2102
查看次数

邮差接收标题不在请求中

我正在使用带有Interceptor扩展的Postman来执行POST请求.

我的请求包含一个Origin头,以避免CORS错误.的Content-Type就是application/x-www-form-urlencoded和我收到的JSON,所以我不得不添加Accept header与价值application/json.

我调用的API也要我添加Referer标头,所以我这样做.当我发送请求时,Accept header它不在原始请求中.当我删除时Referer header,Accept header显示在原始请求中.

这是Postman/Interceptor中的一个错误,还是我在针对发送http请求的"规则"做些什么?

json referer interceptor postman

5
推荐指数
0
解决办法
7245
查看次数

如何在Android应用程序中获取Google Play引荐来源网址

我们正在开发一个Android应用程序。我们想跟踪我们的能力。基本上,我们想知道用户是从哪里到达Google Play的,方法是与合作伙伴在Google Play URL中放置一个单词,然后在应用程序中检索该单词,然后将其发送到我们的服务器。

我们已经在应用程序中安装了Google Analytics(分析),我们可以在Google统计板上跟踪用户在应用程序中的操作。但是,我们如何使用它来实现我们真正想要的呢?我们确实需要用该词链接用户数据库。

我听说过INSTALL_REFERER,但我真的不知道如何使用它。

android referer google-play-services

5
推荐指数
1
解决办法
5850
查看次数