Jump to content

Esconder passwords no código


Recommended Posts

rocks

Boa tarde,

Alguém sabe se é possível no próprio código ou editor é possível substituir carateres por *  .

Eu tenho algumas passwords num ficheiro de configuração mas gostava de ao abrir o editor e vez da password fosse tipo asteriscos . Eu uso o Visual Studio Code

Como está/Como queria 

<?php
$pw = 'password1234';
?>
  
  <?php
$pw = '********';
?>

 

Link to post
Share on other sites
M6

A resposta simples é: não. Um ficheiro de texto é isso mesmo, texto.

Podes é utilizar outras estratégias, por exemplo ter todo o ficheiro encriptado e desencriptar o mesmo quando o fores ler ou ter apenas as passwords encriptadas e desencriptá-las quando necessitares delas.
Nota que uma abordagem deste tipo implica que tenhas uma forma de poderes atualizar a informação do ficheiro, por exemplo ter uma aplicação stand-alone que leia e escreva o ficheiro de configuração.

  • Vote 1
10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to post
Share on other sites
Ivo Vicente

Como diz o @M6 são ficheiros de texto, e neles irás sempre ter as variáveis legíveis.

Agora existem algumas maneiras de usares variáveis e não serem conhecidas para outros programadores, no entanto sem o contexto da tua necessidade de esconder o ficheiro não é fácil aconselhar, mas ficam as dicas

  • Se tens acesso ao webserver (desenvolvimento local) podes passar variáveis de ambiente
    • # Exemplo no Apache
      SetEnv ENV_PASSWD Password!1

      Neste caso terás depois de carregar a variável com 

    • $passwd = getenv('ENV_PASSWD');

       

  • Podes ainda se estiveres a usar o Composer, instalar um pacote de gestão de ficheiros de ambiente
    • Ex, mais conhecido https://packagist.org/packages/vlucas/phpdotenv
    • Uma parte das frameworks PHP usam esta solução
  • Por último podes criar o teu ficheiro de ambiente, e carregas esse ficheiros sempre que precisas dessa variável
    • Sempre que possível numa pasta sem o acesso publico do projeto
  • // File: .env.php
    
    $ENV_PASSWD="Password!1";
    //or
    define("ENV_PASSWD", "Password!1"); // Fica exposto no Global Vars
    
    // File: /public/index.php
    include ("../.env.php");

São várias opções, umas dão mais trabalho, outra são mais seguras ainda existem modos de serem mais seguras, mas com estas dicas já deves conseguir "esconder" informação.

Se usares Git, é boa pratica adicionares o ficheiro de configuração ao .gitignore.

Edited by Ivo Vicente
  • Thanks 1

Feito é melhor que perfeito

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.