Estoy creando un sitio web PHP donde los usuarios, entre otras cosas, pueden iniciar sesión y realizar tareas administrativas. Para sus contraseñas, uso password_hash ($ password) y luego verifico con él, uso password_verify ($ password, $ pass_from_db).
Dado que PHP es un lenguaje del lado del servidor, la contraseña, antes de llegar al servidor, es, en ambos casos, vulnerable para el rastreo, y dado que son de texto claro, fáciles de tomar y usar por el ataque del hombre en el medio. Ya que voy a usar Ajax JS, pensé que primero usaría un cifrado de JavaScript, y luego enviaría el valor de JavaScript cifrado a través de Internet, y luego crearía el hash de la contraseña en el valor cifrado como este:
HTML | password=" 1234 " | - > JS | cifrar (" 1234 ")=" ASU'2j3) k " | - > PHP | password_hash (" ASU'2j3) k ")=" AlD23J '# sC5" P "| - > Insertado en db
HTML | password=" 1234 " | - > JS | cifrar (" 1234 ")=" ASU'2j3) k " | - > PHP | contraseña_verificar (" ASU'2j3) k ", " AlD23J '# sC5" P "-' Obtenido de db ') | ACEPTADO
¿Es una buena idea o debo enviar la contraseña como texto simple?