Il metodo standard consiste nel mettere le credenziali in un file di configurazione e tentare di proteggere il file di configurazione dall'essere più leggibile rispetto al file perl. Questo offre un moderato aumento della sicurezza; per esempio, il codice potrebbe essere nel controllo del codice sorgente e accessibile agli sviluppatori, il file di configurazione non lo sarebbe. Il codice deve essere nella radice cgi del web server, ed eventualmente scaricabile in determinate configurazioni errate, e il file di configurazione non deve essere presente.
Il modo ambizioso è di crittografare in modo reversibile le credenziali e inserirle in un file di configurazione. Ovviamente, qualsiasi cosa criptata in modo reversibile può essere decifrata. L'applicazione BladeLogic ha fatto questo, ed è stato banale (< 1 giorno) per me per de-compilare il loro Java abbastanza per scoprire la funzione per decrittografare le credenziali e usarlo per decrittografarle in modo soddisfacente. Non un marchio contro di loro; è solo il nome del gioco crittografato in modo reversibile.
Un'altra opzione è quella di utilizzare l'autorizzazione basata sul sistema operativo insieme a restrizioni del database strettamente limitate. Ad esempio, limitare l'accesso dell'utente del client del database a un insieme di stored procedure per limitare il potenziale di abuso e consentire all'utente di accedere al database senza password. Questo non funziona se stai facendo client-server attraverso la rete, il che limita la frequenza con cui è utile. Inoltre, le persone tendono ad apparire più bisognose per l'accesso agli utenti del sistema operativo "senza password" di quanto non facciano scrivendo la password, volenti o nolenti. Non è del tutto logico, ma ci sono degli standard che dicono che tutti gli utenti del database devono avere password, quindi basta.