0

我目前创建了一个控制台应用程序,该应用程序具有一个 Http 处理程序,供机器人发布有关其位置的信息。我想知道如何在 DART 中强制执行基于 IP 的身份验证,以便只有具有特定 IP 地址的机器人才能访问处理程序,而其他人在访问时会收到 404 错误。

//The handler is registered as acceptInput
server.addRequestHandler((req) => req.path =='/acceptInput',acceptInput);
//Below is the code of the function
void acceptInput(HttpRequest request,HttpResponse response){
     //Some logic
}

我需要添加身份验证机制以确保只有特定的 ip 可以访问此处理程序。

我找不到任何针对此问题的有用资源。

任何帮助表示赞赏。

4

1 回答 1

3

不一定是身份验证,但是您是否尝试过查看HttpRequest'sconnectionInfo.remoteHost

例如:

server.addRequestHandler(validate,acceptInput);

bool validate(req) {
  // only return true if the path + ip match
  return req.path =='/acceptInput' && req.connectionInfo.remoteHost = '1.2.3.4';
}

void acceptInput(HttpRequest request,HttpResponse response){
     //Some logic
}
于 2013-01-24T16:22:31.637 回答