有没有办法拦截节点中的浏览器调用?

时间:2017-11-05 18:27:32

标签: node.js

我的应用程序托管在xxx.com上,该网站从yyy.com获取数据。所有API请求都是从客户端触发的。

有没有办法拦截节点中的请求或响应?

1 个答案:

答案 0 :(得分:0)

不,是的。

对于您的客户提出的请求,您必须对发送回客户端的数据进行一些控制,以便拦截它。

假设一个场景:

  

客户端-----(请求)----->第三方应用服务器-------(响应)----->客户端

在这种情况下,由于后端服务器从未有机会进入图片,因此服务器无法更改数据。当然,那就是服务器没有进入画面的时候。

相反,如果您将请求发送到节点服务器本身(将请求转发给第三方应用服务器),您显然可以控制响应接收,因此,您可以操纵请求和响应,或者只是记录它(无论你的用例是什么)。

  

客户端-----(请求)-----> NODE_SERVER ---->第三方应用服务器-------(响应)-----> Node_Server ---->客户端

一些开发人员拦截客户端请求的做法是,他们编写一些客户端JavaScript代码并将其嵌入到浏览器中(某种身份验证)。 虽然这可以在正常请求的情况下正常工作,但具有恶意意图的人可能只是禁用您的前端拦截代码并直接从第三方应用程序接收响应。

因此,如果您确实需要访问请求和响应, 您必须将请求转发给您已控制的APP服务器

P.S。这不仅仅是关于nodejs。