通过cURL请求可靠地检测呼叫者域?

时间:2012-10-20 10:48:46

标签: php web-services security curl dns

好的,所以服务器端安全性不是我的强项。基本上,我正在建立一个服务,用户可以在他们注册时只在他们规定的域上使用(通过SDK)。

SDK通过PHP中的cURL调用我的Web服务。

我是否正确地认为我无法可靠地检测到来电者域名,即强制它与他们在注册时所规定的域名相同?

cURL当然会通过标题发送,但标题总是(?)被伪造。

对于这类事情,是否有更好的行动方案来强制执行域名?

(NB我也已经在使用API​​密钥了 - 我只是想限制域名)

提前致谢

1 个答案:

答案 0 :(得分:1)

您从cURL调用中获得的唯一内容是REMOTE_ADDR环境变量中的远程IP。

AFAIK,非常难以伪造(即,当调用者想要实际接收数据时)。

因此,如果您可以将客户限制为 IP ,那么通过检查该变量,您应该是合理安全的。

然而,当然,这使您无法控制他们使用数据的域。这是不可能的 - 一个IP可以用于多个域。

但是,您可以尝试将域名解析为其IP,并将其与您获得的REMOTE_ADDR进行比较。

我认为这不是一个好主意;看我上面的评论。