0

您好我需要检查 http_referer 是否与当前站点相同。

我有以下代码

Dim strReferer As String

strReferer = Request.ServerVariables("HTTP_REFERER")
If strReferer.Contains(Request.ServerVariables("HTTP_HOST")) then
   'do task
End If

这是抛出一个错误说 - “对象引用未设置为对象的实例。 ”并将 if 行标记为有问题的代码行。

有什么想法我哪里出错了吗?

我的解决方案:

strReferer = "" & Request.ServerVariables("HTTP_REFERER")

意味着字符串总是有一个值,即使它什么都没有。

4

2 回答 2

3

因为HTTP_REFERER并不总是填充 - 仅当您单击了链接时。因此,如果您直接浏览到某个页面,则该标题将为空。

于 2010-11-24T13:53:05.087 回答
1

有可能Request.ServerVariables("HTTP_REFERER")null,所以你应该在分配变量时检查这一点。

If Not String.IsNullOrEmpty(Request.ServerVariables("HTTP_REFERER"))
    'do your stuff
于 2010-11-24T13:54:05.783 回答