我可以限制 Citrix Xenapp 用户在其浏览器中仅查看某些站点或域吗

我可以限制 Citrix Xenapp 用户在其浏览器中仅查看某些站点或域吗

我想允许某些用户通过 Citrix 访问我们的网络。我们使用 XenApp 5.0,并且允许使用 Internet Explorer,但希望限制他们可以访问的站点。例如,我想允许浏览内部网站点 A,但不允许浏览站点 B 或 C,或任何外部站点。

这种事情可以通过 Citrix 来控制吗?

答案1

您可以使用 GPO 强制这些用户使用代理脚本。

代理脚本是一个简单的 JavaScript,允许您通过不同的代理或直接进行直接连接。

创建脚本,以便允许的站点直接发送或通过网络上使用的代理发送(如果有),但任何未定义的站点都会发送到虚假的代理地址。

它可能是这样的:

var local_ip = myIpAddress();

function FindProxyForURL(url, host) 
{

    // Resolve host to IP address
    var resolved_ip = dnsResolve(host);


    // --- BEGIN ALLOWED DESTINATIONS ---

    // Hosts and domains
    if (localHostOrDomainIs(host,   "intranet")                     ||
        localHostOrDomainIs(host,   "servicedesk")                  ||
        localHostOrDomainIs(host,   "serverfault.com"))
    return "DIRECT";

    // IP addresses
    if ((resolved_ip == "10.11.12.13")  ||
        (resolved_ip == "60.61.62.63")  ||  
        (resolved_ip == "80.81.82.83")) 
    return "DIRECT";

    // IP ranges
    if (isInNet(resolved_ip,    "10.0.0.0", "255.0.0.0")    ||
        isInNet(resolved_ip,    "172.16.0.0",   "255.240.0.0")  ||
        isInNet(resolved_ip,    "192.168.0.0",  "255.255.0.0")  ||
        isInNet(resolved_ip,    "127.0.0.0",    "255.255.255.0"))
    return "DIRECT";

    // --- END ALLOWED DESTINATIONS ---

    // Default to bogus proxy server on same subnet as client!
    return "PROXY 10.10.10.10:9999";

    // --------------------------------------------------

}

如果使用代理,请将“DIRECT”替换为“PROXY ProxyIP:ProxyPort”。将虚假代理“PROXY 10.10.10.10:9999”替换为与 Citrix 服务器位于同一站点的 IP 地址,以保持 LAN 上的死端流量。

如果您愿意,您可以添加更复杂的条件,例如对“url”或“host”变量进行正则表达式匹配。

使用以下方法测试你自己的脚本http://code.google.com/p/pactester/

将脚本放在带有 .pac 扩展名的内部 Web 服务器上,并将 URL 放在 GPO 中。确保将 .pac 文件扩展名作为“text/javascript”添加到 Web 服务器的 MIME 类型列表中。

我从来没有将 PAC 文件用于此目的,因此您可能希望确保当 Internet Explorer 无法使用虚假代理服务器时,它不会以某种方式回退到 DIRECT。

只是一个想法。

相关内容