Ostatnio stworzyłem program. Zapomniałem usunąć 2 linie kodów. Ten błąd kosztował mnie 800 USD dziennie.
Programowałem z PHP. Jeśli użytkownik korzysta z serwera proxy, przekierowuje go w inne miejsce. Korzystanie z debuggera było niemożliwe, ponieważ część kodu zawiera moduł jonowy. Ponieważ program po prostu przekierowuje gdzie indziej, bez względu na wszystko, trudno jest zobaczyć, która część kodu jest wykonywana.
Dlatego wszędzie umieszczam informacje o debugowaniu. Pomyślałem, że i tak je usunę.
Najbardziej naturalnym sposobem debugowania jest oczywiście umieszczenie informacji debugujących w pliku. Problem w tym, że często używam proxy. Dlatego po zmianie programu często muszę pobrać plik tekstowy za pomocą filezilla. Często plik tekstowy nie pokazuje tego, co moim zdaniem powinien pokazać. W końcu postanowiłem po prostu wyświetlić błąd w sieci.
Rozważałem tryb debugowania. Obawiam się jednak, że zapomnę usunąć informacje debugowania.
Zastanawiałem się nad trybem debugowania, jeśli użytkownik na przykład? Tryb debugowania = 1. Byłem jednak paranoikiem, że mój konkurent może odgadnąć tajne słowo kluczowe.
Usunąłem większość informacji debugujących. Zapominam usunąć jeden, a ten pojawia się tylko wtedy, gdy użytkownicy korzystają z serwera proxy z właściwego kraju. Okazuje się, że nie mam pełnomocnika z właściwego kraju i nie zdawałem sobie z tego sprawy. Po 24 godzinach działania programu przesłałem go do mojej głównej domeny.
Mój konkurent, używając proxy, widzi kod debugowania. Kopiuje pomysł i tak traciłem 800 $ dziennie.
Z perspektywy czasu naprawdę trudno mi zrozumieć, gdzie popełniłem błąd. Byłem bardzo ostrożny. Ale to się stało.
Jak bezpiecznie debugować aplikację internetową PHP bez ujawniania tajemnic konkurencji?