获取服务器的IP地址

And*_*y J 1 coldfusion

在这种情况下,我们有一个由第三方供应商托管和更新的网站.我提供了在我们的服务器上托管的其他资源的链接.客户端将访问供应商站点并单击链接以访问我们的其他资源.要验证请求来自我们的第三方供应商,我需要获取供应商服务器的IP地址.

我的问题是,有没有办法使用ColdFusion获取供应商服务器的IP地址?我不能使用客户端IP地址,我需要客户端使用的供应商服务器地址.

Ser*_*gii 5

你必须与第三方合作才能实现这一目标,这是肯定的.

我可以在这里看到至少两种或多或少的工作方法.

(1)在链接上附加某种保护令牌.您的供应商生成加密的字符串或哈希,包括您只知道的一些信息,因此您可以解密(或生成相同的哈希)并对其进行验证.

散列示例:

moment = DateConvert("local2utc", Now());
token = Hash("SecretSaultYouBothKnow" & DateFormat(moment, "yyyy-mm-dd") & TimeFormat(moment, "-HH-mm"));
Run Code Online (Sandbox Code Playgroud)

此令牌与链接一起传递并快速过期以防止共享/泄漏.

您可以生成并验证它.

这是一个原始的想法,可能存在验证问题,以及避免客户端的无效链接(也可能跳过"mm"掩码).

加密/解密字符串的工作方式类似.你们俩现在只需要秘密密钥.

顺便说一句,您的供应商可以加密他们的服务器IP地址或其他标识符,以便根据您的数据库进行检查,并可能应用其他一些操作.

(2)您的供应商可以为您设置简单的Web服务来验证传入的链接(它可以用0/1或其他简单的方式响应).

确切的实施可能会有所不同.同样,它可能是您发送回来进行验证的URL中的一些令牌.

这与Jason建议的解决方案类似:供应商可以通过链接点击将服务器到服务器请求发送到您的服务器,然后重新定位到资源.但这可能很复杂,因为您必须确保在客户端到达时已经处理了第一个请求.

希望这些想法有意义.