0

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

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

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

cURL 当然会通过标头发送此信息,但标头总是可以(?)被伪造。

是否有更好的行动方案来强制执行此类事情的域?

(注意,我也已经在使用 API 密钥了——我也想限制域)

提前致谢

4

1 回答 1

1

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

AFAIK,这很难有意义地伪造(即当调用者想要实际接收数据时。)

因此,如果您可以忍受将客户限制为IP,则通过检查该变量应该是相当安全的。

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

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

总的来说,我认为这不是一个好主意。见我上面的评论。

于 2012-10-20T10:54:25.230 回答