访问URL时发送授权标头

时间:2019-06-10 21:21:57

标签: html node.js express pug

我想在查看本地IoT设备(http://deviceip)的网页时发送授权标头。该设备使用以基本编码的授权标头。

我已经使用Node.js和Express.js创建了一个Web服务器,并带有指向该设备的URL链接,但是我无法正确设置授权标头并最终出现登录提示。

我已经能够通过使用单独的代理服务器使其工作,该代理服务器根据请求发送标头,并将网络服务器的链接更改为发送授权标头的代理。

proxy.on('proxyReq', function(proxyReq, req, res, options) { // allows you to alter the proxyreq request object to send authentication before connection
  proxyReq.setHeader('Authorization', auth); // sends Authorazition header auth
});

单击URL而不是使用代理,是否可以使用Web服务器中的功能发送授权标头?

1 个答案:

答案 0 :(得分:1)

“当单击URL而不是使用代理时,是否可以使用Web服务器中的功能发送授权标头?”

否,不可能。原因是:

  1. 从浏览器内部向请求添加标头(“单击URL”)的唯一方法是使用XmlHttpRequest(Ajax)。[source]
  2. 如果这是Ajax请求,则无法获取html响应,然后重新呈现整个页面。否则,将带来巨大的安全问题-浏览器中的任何JavaScript代码都可以发送Ajax请求并向用户显示一个全新的页面,这非常适合网络钓鱼攻击。