Di recente ho realizzato un programma. Ho dimenticato di eliminare 2 righe di codice. Quell'errore mi è costato $ 800 al giorno ogni giorno.
Stavo programmando con PHP. Se un visitatore utilizza proxy, reindirizza altrove. L'uso del debugger era impossibile perché alcuni codici contengono ioncube. Poiché il programma reindirizza semplicemente da qualche altra parte, non importa quale sia, è difficile vedere quale parte del codice viene eseguita.
Quindi ho messo un sacco di informazioni di debug ovunque. Ho pensato di eliminarli comunque.
Il modo più naturale per eseguire il debug è ovviamente quello di mettere le informazioni di debug in un file. Il problema è che uso spesso proxy. Quindi, dopo aver modificato il programma, spesso devo scaricare il file di testo con filezilla. Spesso il file di testo non mostra ciò che penso dovrebbe mostrare. Alla fine ho deciso di visualizzare l'errore sul Web.
Ho considerato di avere la modalità di debug. Tuttavia, temo che dimenticherò di eliminare le informazioni di debug.
Ho considerato di avere la modalità di debug se l'utente lo fa? Debuggingmode = 1 per esempio. Tuttavia, ero paranoico che in qualche modo il mio concorrente potesse indovinare la parola chiave segreta.
Ho eliminato la maggior parte delle informazioni di debug. Ho dimenticato di eliminarne uno e quello viene visualizzato solo se gli utenti utilizzano il proxy dal paese giusto. Si scopre che non ho proxy dal paese giusto e non me ne sono reso conto. Dopo che il programma ha funzionato per 24 ore, l'ho caricato sul mio dominio principale.
Il mio concorrente, usando il proxy, vede il codice di debug. Ha copiato l'idea ed è così che ho perso $ 800 al giorno.
In retrospettiva, ho davvero difficoltà a vedere dove ho sbagliato. Sono stato molto attento. Eppure è successo.
Come si può eseguire il debug di un'applicazione Web PHP in modo sicuro senza esporre segreti ai concorrenti?