【发布时间】:2012-10-20 10:48:46
【问题描述】:
好的,所以服务器端的安全性不是我的强项。基本上,我正在构建一个服务,用户只能在他们注册时规定的域上使用(通过 SDK)。
SDK 通过 PHP 中的 cURL 调用我的 Web 服务。
我是否认为我无法可靠地检测到调用者域,即强制它与他们在注册时规定的域相同?
cURL 当然会通过标头发送此信息,但标头总是可以(?)被伪造。
有没有更好的行动方案来为这类事情强制执行域?
(注意,我也已经在使用 API 密钥了 - 只是我也想限制域)
提前致谢
【问题讨论】:
-
社论:如果你问我,我不会这样做。在某些情况下,域和 IP 可以更改(基于云的服务、负载平衡器、代理、紧急服务器移动、紧急 IP 地址更改......)。有了这样的东西,你会让客户面临很多麻烦。我个人会避免购买您的产品,如果它附带一张支票,如果我的情况发生变化,可以冻结我的网站的运营。如果因为是周末或您所在时区的晚上而无法联系到您怎么办?
-
这是一个公平的观点 - 谢谢。不过,同样地,我有兴趣防止我的服务被跨多个域共享而被滥用。这只是我应该和别人一起生活和信任的东西吗?毕竟,仔细想想,这不像是我将我的 API 密钥分发给我使用的服务,让其他人自费使用......
-
我想这取决于您的业务范围和客户群。在涉及规模合理的组织时,我往往会更加信任。作弊对他们来说是有风险的:一个心怀不满的实习生可能会把一切都搞砸。不过,较小的客户,我不知道。这真的取决于你的情况。
-
我认为您可以做的是每天使用脚本分析数据以检查 ips 到 api 的映射,看看它是否与初始设置不匹配。我认为它会在大多数情况下匹配案例..
-
因为 IP 域映射不经常改变
标签: php web-services security curl dns