Estoy usando el nodo js y puse políticas para restringir la precisión de la API en otros navegadores. Para eso puse la siguiente condición
app.route('/students').all(policy.checkHeader).get(courses.list) exports.checkHeader = function(req, res, next) { var headers = req.headers; if ( headers['upgrade-insecure-requests'] || headers['postman-token']) { res.status(401).json('Page not found'); } else { return next(); } }No estoy seguro de si mi proceso es correcto. Estoy buscando el parámetro común (parámetro de encabezado) que existe solo para el navegador. ¿Puede alguien ayudarme? Gracias.
Esto es imposible.
No puede controlar qué tipos de clientes realizan solicitudes HTTP a su servidor HTTP.
No puede identificar de manera confiable qué tipo de cliente ha realizado una solicitud que recibe.
Cualquier cliente personalizado puede enviar (o no enviar) un encabezado de solicitud de actualización insegura con cualquier valor. Ídem cartero-ficha. Lo mismo ocurre con el agente de usuario. Ídem todo lo demás.
La única forma de restringirlo sería exigir algún tipo de secreto en la solicitud. Si desea que los navegadores web normales accedan a él, el secreto se filtrará a través de las herramientas de desarrollo del navegador.
No creo que sea posible bloquear realmente las solicitudes sin Autenticación/Autorización. Sin embargo, puede usar el campo Agente de usuario del encabezado HTTP