Estou assumindo que você está usando o Apache.
Coloque os dados secretos em uma variável de ambiente em
/etc/apache2/envvars
, defina o proprietário como root e as permissões como 400. Um invasor terá que comprometer o servidor para colocar as mãos em sua chave.
Você também pode preparar um script que pede o segredo quando o Apache é iniciado (irritante, mas ainda mais seguro).
Observe que as pessoas com acesso root sempre ser capaz de obter sua chave e tentar escondê-la deles é apenas um placebo.
Solução placebo:
- Deixe seu aplicativo ocioso por padrão até que você POSTe sua chave em uma página HTTPS dentro do mesmo aplicativo, salve sua chave em uma variável global e prossiga com seus negócios. Você deve considerar o ciclo de vida do processo PHP (quando o processo termina, você deve reenviar sua chave).