Cuando solo estás utilizando la contraseña, sabemos que las contraseñas se pueden descifrar. Cuando estás utilizando tokens que proporcionan acceso de lectura y escritura, bueno, si obtienen acceso a ese token, tienen acceso a prácticamente lo que necesitan. Podrían cambiar el código de tu motor de autenticación personalizado y nadie sabría quién lo hizo.
Pero la mayoría de las veces, estos tokens solo se utilizan en tus canalizaciones de CI/CD, o tal vez tienes algún tipo de archivo de entorno que utilizas localmente o en diferentes entornos. Entonces, cuando sabes que solo estás utilizando tu paquete npm en algún lugar, no estás tratando de publicar cambios con este token, simplemente usa el de solo lectura. Te ahorrará tiempo. Te dará un poco más de tranquilidad por la noche y sabrás exactamente quién tiene el acceso correcto a tus aplicaciones.
Bien, ahora pasemos a manejar tus data. Porque data es realmente este vasto y místico fenómeno en nuestro mundo. Pero algo que debes hacer antes de agregar nuevos data a tu database, es asegurarte de que hayas pre-sanitizado estos valores. No quieres agregar una declaración SQL a tu database. Solo sabes qué tipos esperas que se ingresen en cada columna de tu database. Asegúrate de que el valor coincida con eso. No debería haber números intentando escribirse en columnas de texto o correos electrónicos guardados en campos de dirección. Solo realiza una verificación adicional y asegúrate de que estos data coincidan con lo que esperas.
Y una de las formas en que hacemos esto en Node es simplemente tipificar tu esquema. La mayoría de los ORMs que utilizamos, como Mongoose u otros, olvidé el que viene con Postgres, pero da igual. Conoces los tipos exactos. Conoces los nombres de los valores. Conoces todo lo que necesitas saber para hacer que sea imposible guardar un tipo diferente de data en tu database. Y solo necesitas un paquete rápido. Simplemente usa validator.js. Esto facilita agregar esa validation a tus aplicaciones Node sin tener que crear tus propias funciones de validation. Tienen cosas para correos electrónicos, números de teléfono, contraseñas, y todo eso. Y solicitudes y respuestas.
Esto es algo de lo que creo que todos debemos estar definitivamente conscientes. Asegúrate de usar Helmet.js para tus encabezados. Esto agrega diferentes configuraciones de security a tus encabezados que honestamente nunca había pensado hasta que usé esta biblioteca. Pero básicamente ayuda con cualquier problema de CORS, bloquea las diferencias entre las solicitudes GET y POST y se encarga de muchas cosas detrás de escena que no necesariamente piensas mientras escribes tu código.
Y luego, cuando se trata de manejar los datos del usuario, anteriormente estaba hablando de asegurarse de que todo estuviera cifrado, bueno, usa Crypto.js.
Comments