2010-07-20 275 views
1

我寫了一個從PayPal獲取餘額的函數。 要正確連接,我將用戶,密碼和證書作爲參數傳遞。 每個東西都看起來不錯,直到內部拋出一個Exception並且php在堆棧跟蹤中打印所有參數(在這種情況下爲用戶詳細信息)。 我將所有內容都記錄到文件中,以便用戶無法看到它,但我真的很想知道如何從堆棧跟蹤中隱藏敏感信息。是真實的,我甚至不喜歡有它打印出密碼登錄文件的想法...安全並拋出異常

感謝您的時間和幫助:)

乾杯, 迪奧戈

回答

1

捕捉異常,然後合理處理它而不暴露信息。例如,您可以記錄存在PayPal異常的事實,並向用戶顯示沿着這些行的消息,但不顯示異常字符串本身。

+0

是的,我應該這樣做:)但如果它來自一個你不知道它會拋出異常的地方呢? (例如來自一些API調用) – DiogoNeves 2010-07-21 10:26:29

+1

@Diogo,你的公共php配置應該被設置爲不向用戶顯示異常。您的測試網站可以提供完整的錯誤信息,但不是您的生產網站。 – 2010-07-21 14:02:59

+0

太棒了! :)需要看看它嘿 – DiogoNeves 2010-07-21 19:41:19

5

如果它是拋出一個異常的PHP,你不能在try/catch塊中捕獲它嗎?