1

如何从 crossdomain.xml 文件中隐藏 IP 地址并授予对所有客户端 IP 的访问权限以从 Web 服务器应用程序访问服务器数据。

这是一个例子

以下是客户端IP 121.171.1.181 121.171.1.182 121.171.1.183 121.171.1.184

以上所有客户端都安装了 demo.swf,其中包含以下 url http://www.test.com/data.txt文件以获取要在 demo.swf 文件中使用的数据

注意:(我在生产场景中有100个客户端IP)

Web 服务器www.test.com和以下 crossdomain.xml 位于根目录

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">  
<cross-domain-policy>
    <allow-access-from domain="121.171.1.181" secure="false" to-ports="80" />
    <allow-access-from domain="121.171.1.182" secure="false" to-ports="80" />
    <allow-access-from domain="121.171.1.183" secure="false" to-ports="80"  />
    <allow-access-from domain="121.171.1.184" secure="false" to-ports="80"  />
        <allow-http-request-headers-from domain="121.171.1.181" headers="*"  secure="false"/>
        <allow-http-request-headers-from domain="121.171.1.182" headers="*" secure="false" />
        <allow-http-request-headers-from domain="121.171.1.183" headers="*" secure="false" />
        <allow-http-request-headers-from domain="121.171.1.184" headers="*" secure="false" />
</cross-domain-policy> 

问题:安全扫描软件扫描显示 crossdomain.xml 文件中标识的内部 IP 地址。

如何在 crossdomain.xml 文件中隐藏 IP 地址并允许所有客户端访问http://www.test.com/data.txt文件。

4

1 回答 1

0

所以,我不太确定为什么您的安全扫描软件会关心该文件中的 IP 地址,但我会假设它确实如此,并尝试给您一个可能的答案。

不必使用 IP 地址的一种方法是创建 DNS 记录作为标识符,而不是使用 IP 地址。DNS 在生活中的目的是让您输入诸如“www.microsoft.com”而不是“65.55.57.27”之类的内容。

因此,如果您有权访问 DNS 服务器,理论上您可以将 DNS 地址分配给那些讨厌的 IP 地址,然后将 DNS 名称而不是 IP 地址放入文件中。

因此,如果您将 DNS 设置为映射:

 121.171.1.181 to node1.mydomain.com
 121.171.1.182 to node2.mydomain.com

等等...然后您的 XML 可能如下所示:

<?xml version="1.0"?>
 <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">  
 <cross-domain-policy>
     <allow-access-from domain="node1.mydomain.com" secure="false" to-ports="80" />
     <allow-access-from domain="node2.mydomain.com" secure="false" to-ports="80" />
     <allow-access-from domain="node3.mydomain.com" secure="false" to-ports="80"  />
     <allow-access-from domain="node4.mydomain.com" secure="false" to-ports="80"  />
         <allow-http-request-headers-from domain="node1.mydomain.com" headers="*"  secure="false"/>
         <allow-http-request-headers-from domain="node2.mydomain.com" headers="*" secure="false" />
         <allow-http-request-headers-from domain="node3.mydomain.com" headers="*" secure="false" />
         <allow-http-request-headers-from domain="node4.mydomain.com" headers="*" secure="false" />
 </cross-domain-policy> 

祝你好运,亚当霍夫曼

http://www.stratospher.es - 我的 Windows Azure 博客 @stratospher_es - Twittererer

于 2012-12-14T19:09:03.003 回答