我们的一个应用将被在iframe运行,内部销售人员和我在与访问引荐烦恼。他们希望我们做一些引用者的检查,以确保该请求被从Salesforce来了,我们一直在考虑的IP地址来核对。

我的问题是,任何时候我试图通过以下两种方法来访问引用者:

HttpContext.Current.Request.ServerVariables["HTTP_REFERER"]
HttpContext.Current.Request.UrlReferrer

它返回箱为空。

任何想法如何,我可以得到引荐的保持?

PS:我知道,你可以欺骗引用者,但它的需求部分。

有帮助吗?

解决方案

如果我理解正确的问题,你有一个由点嵌入的IFrame在他们的网页到您的网站是指你的网站的客户端站点。要“确保”的要求从主页这本身就是一组指定的网站的一部分未来。该组指定地点由一组IP地址的描述。这是否覆盖它?

棘手。首先让我们假设你已经有了一个引荐。您将需要从它的AQUIRE主机名(很容易的使用Uri型)。然后,你需要使用DNS解析主机名的IP地址(又不是太与.NET框架的困难)。

当然你需要得到引荐,这是最棘手位。浏览器不始终把请求一个参照标头。这是尤其如此,当裁判地址不在同一个域中的引荐,这是这里的情况。 IOW,这是一个的搅局

要解决这个问题(并且不容易出现欺骗)一种更好的方法是使用一些基于散列的认证。不必太复杂(如果原来的要求感到引荐测试就足够了呢)。

其他提示

一个引荐仅那里,如果通过一个链接请求的页面。当一个页被打开由地址直接输入从在浏览器的地址栏说(或在您的情况下,y设定src中的IFRAME的。),该引用者将是空的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top