好的,所以服务器端安全性不是我的强项。基本上,我正在建立一个服务,用户可以在他们注册时只在他们规定的域上使用(通过SDK)。
SDK通过PHP中的cURL调用我的Web服务。
我是否正确地认为我无法可靠地检测到来电者域名,即强制它与他们在注册时所规定的域名相同?
cURL当然会通过标题发送,但标题总是(?)被伪造。
对于这类事情,是否有更好的行动方案来强制执行域名?
(NB我也已经在使用API密钥了 - 我只是想限制域名)
提前致谢
答案 0 :(得分:1)
您从cURL调用中获得的唯一内容是REMOTE_ADDR
环境变量中的远程IP。
AFAIK,非常难以伪造(即,当调用者想要实际接收数据时)。
因此,如果您可以将客户限制为 IP ,那么通过检查该变量,您应该是合理安全的。
然而,当然,这使您无法控制他们使用数据的域。这是不可能的 - 一个IP可以用于多个域。
但是,您可以尝试将域名解析为其IP,并将其与您获得的REMOTE_ADDR
进行比较。
我认为这不是一个好主意;看我上面的评论。