Recentemente ho creato un programma. Ho dimenticato di cancellare 2 linee di codici. Quell'errore mi è costato $ 800 al giorno ogni giorno.
Stavo programmando con PHP. Se un visitatore utilizza il proxy, reindirizza da qualche altra parte. Usare il debugger era impossibile perché alcuni codici contengono ioncube. Poiché il programma semplicemente reindirizza da qualche altra parte, non importa cosa, è difficile vedere quale parte del codice viene eseguita.
Quindi ho messo un mucchio di informazioni di debug ovunque. Ho pensato di eliminarli comunque.
Il modo più naturale per eseguire il debug è ovviamente quello di inserire informazioni di debug in un file. Il problema è che uso spesso il proxy. Quindi, dopo aver cambiato il programma, devo spesso scaricare il file di testo con filezilla. Spesso il file di testo non mostra quello che penso dovrebbe mostrare. Alla fine ho deciso di visualizzare solo l'errore sul web.
Ho considerato di avere la modalità di debug. Tuttavia, temo che dimenticherò di cancellare le informazioni di debug.
Ho considerato di avere la modalità di debug se l'utente fa? debuggingmode = 1 per esempio. Tuttavia, ero paranoico che in qualche modo il mio concorrente potesse indovinare la parola chiave segreta.
Ho cancellato la maggior parte delle informazioni di debug. Ho dimenticato di cancellare uno e questo si mostra solo se gli utenti utilizzano il proxy dal paese giusto. Si scopre che non ho procura 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. Copia 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 dovrebbe eseguire il debug di un'applicazione Web PHP in modo sicuro senza esporre i segreti ai concorrenti?