【发布时间】:2018-08-24 12:24:57
【问题描述】:
我想通过 api.php 更新数据库中的记录。我通过从另一台特定服务器向服务器上的 API 发送 GET 请求来做到这一点。
我尝试将 CORS 限制为仅适用于该特定服务器,但仍接受来自浏览器的 GET 请求。我还尝试设置一个条件以将服务器的 IP 与 API 中指定的 IP 匹配,如果它为假则中止。但是,我担心这是一个轻率的举动,因为我在这些类型的情况下经验不足。
我可以安全地限制 api 只允许来自这个特定服务器地址的 GET 请求吗?
系统架构
- 网络服务器:Nginx
- 应用语言:php(5.3)、javascript、html、css
- 数据库:Mysql
【问题讨论】:
-
旁白:
GET不应用于更新资源 -
你可以。您可以做的事情有很多场景。现在,问题显然是——知识水平。在我看来,处理这些限制的最好方法是在网络服务器上(我个人的选择是
nginx),而不是应用程序语言。您可以选择加入 IP 限制,您可以选择基于用户名/密码、承载令牌、api 密钥、公钥等对人员进行身份验证。我想您可以说您的问题非常广泛。不如先用网络服务器软件扩展问题? -
使用 IP 地址进行授权或身份验证总是有问题的。我建议您改为查看客户端证书。
标签: php security get webserver server-to-server