Mysql
 sql >> база данни >  >> RDS >> Mysql

Основна сигурност, PHP mySQl

Няколко неща тук:

  1. Вие всъщност не го криптирате, вие го хеширате. Лесно нещо за начинаещи да объркат, но просто исках да го махна от пътя.

  2. Не използвайте MD5, просто не е много сигурен хеш. Използвайте един от вариантите на SHA вместо това, ако е възможно.

  3. Не просто хеширайте паролата, вие също ще искате да я „посолите“. По принцип това включва добавяне на произволен низ към паролата, преди да я хеширате, и съхраняване на този произволен низ някъде, където можете да го извлечете по-късно (така че да можете да потвърдите хеша, когато потребителят въведе паролата си). Това помага за предотвратяване на атаки срещу предварително изчислени речникови атаки.

Що се отнася до генерирането на паролата, мисля, че сте на прав път - просто бих я генерирал, когато създадат акаунта си, бих им я изпратил по имейл, след това бих я хешировал и съхранил хешираната (и произволна сол) в потребителския запис в DB.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Потърсете цяла таблица в mySQL за низ

  2. pip install mysqlclient връща фатална грешка C1083:Не може да се отвори файл:'mysql.h':Няма такъв файл или директория

  3. какъв е правилният начин за конвертиране между mysql datetime и python timestamp?

  4. Hibernate @OneToMany хвърля MySQLSyntaxErrorException:Имате грешка във вашия SQL синтаксис

  5. MySQL цикъл през таблици