【发布时间】:2018-02-09 11:36:08
【问题描述】:
我有一个路由,例如/data,它使用 curl 将数据从 php 带到 nodejs,但是这个路由也可以从客户端获得,所以我想允许这个路由只用于 curl 请求。我该如何实现它?
【问题讨论】:
-
从技术上讲,您可以检查用户代理,但从技术上讲,邪恶的客户端可以伪造他们的用户代理并使用路由。也许您应该考虑一个实际的安全概念。
我有一个路由,例如/data,它使用 curl 将数据从 php 带到 nodejs,但是这个路由也可以从客户端获得,所以我想允许这个路由只用于 curl 请求。我该如何实现它?
【问题讨论】:
你不能,因为 HTTP 是一个开放协议,所有客户端都可以模拟。
但是,可以使用简单的凭据来保护资源,例如/data?password=u8iK9oC -- 除非密码正确,否则不会将/data 资源返回给客户端。如果只有curl客户端知道这个密码,则要求实现。
【讨论】:
使用身份验证或 IP 白名单。因为请求中的任何数据都可以修改。
【讨论】: