sql >> Databasteknik >  >> RDS >> Mysql

Säkert sätt att lagra krypteringsnycklar - PHP

Jag antar att du använder Apache.

Lägg hemlig data i en miljövariabel i /etc/apache2/envvars , ställ in ägaren på root och behörigheterna till 400.

En angripare måste äventyra servern för att lägga händerna på din nyckel.

Du kan också laga ett skript som frågar efter hemligheten när Apache startar (irriterande, men ännu säkrare).

Observera att personer med root-åtkomst alltid att kunna få din nyckel och försöka dölja den för dem är bara en placebo.

Placebolösning:

  • Gör din applikation inaktiv som standard tills du POSTAR din nyckel till en HTTPS-sida i samma applikation, sparar din nyckel i en global variabel och fortsätter med ditt företag. Du måste ta hänsyn till PHP-processens livscykel (när processen avslutas måste du skicka om din nyckel).


  1. java.sql.SQLException:Ingen databas vald - varför?

  2. randomisera stor datamängd

  3. SQL-syntaxfel med UPDATE-databasfråga

  4. Paginering för att visa maxvärde och begränsa resten