我打算通过curl
将一些数据从服务器A发送到服务器B.我有点担心攻击者(服务器C)会伪装成服务器A的情况:
A->B : Hello, I am server A;
C->B : Hello, I am server A;
服务器B如何知道谁是服务器A或哪些数据来自服务器A?
我是PHP的新手。我真的很感激任何帮助。
答案 0 :(得分:0)
您可以使用$_SERVER['REMOTE_ADDR']
获取客户端IP。
只需获取服务器A的IP地址,然后在服务器B上检查$_SERVER['REMOTE_ADDR']
是否等于服务器A IP。
虽然服务器C与服务器A位于同一子网中,但它将具有相同的地址。
在这种情况下,您可以让A向服务器B发送密钥,B可以验证它。
例如:A ==== data='blabla' ==== key='654zd87zda32z1d68zad7' ===> B
在B方面,检查该密钥是否等于654zd87zda32z1d68zad7。您可以定期更改此密钥以提高安全性(和/或使用更复杂的密钥)。
在node.js上,它的预处理也很简单,为了获得客户端IP(使用express),请使用:req.ip
。