最近我做了一个程序。我忘记删除2行代码。这个错误每天使我每天损失$ 800。
我当时在用PHP编程。如果访问者使用代理,它将重定向到其他地方。使用调试器是不可能的,因为某些代码包含ioncube。由于该程序无论如何都只是重定向到其他地方,因此很难看到代码的哪一部分被执行。
所以我到处都放了一堆调试信息。我以为我以后还是要删除它们。
当然,最自然的调试方法是将调试信息放入文件中。问题是我经常使用代理。因此,在更改程序后,我经常必须使用filezilla下载文本文件。通常,文本文件没有显示我认为应该显示的内容。最后,我决定只在网络上显示错误。
我考虑过使用调试模式。但是,恐怕我会忘记删除调试信息。
例如,如果用户执行?debuggingmode = 1,我考虑使用调试模式。但是,我对自己的竞争对手以某种方式可以猜出secret关键字感到疑惑。
我删除了大多数调试信息。我忘记删除一个,并且只有在用户使用来自正确国家/地区的代理服务器时才会显示一个。原来我没有来自正确国家/地区的代理,也没有意识到这一点。该程序运行24小时后,我将其上传到了我的主域。
我的竞争对手,使用代理,请参阅调试代码。他抄袭了这个主意,这就是我每天损失800美元的原因。
回想起来,我真的很难知道我哪里出了问题。我一直非常小心。却发生了。
如何在不向竞争对手公开秘密的情况下安全地调试PHP Web应用程序?