2013-01-17 42 views
0

我們在項目中拋出的異常包含存儲過程和類的名稱。偶爾它們包含表格的名稱,但我們應該捕獲任何其他重要信息。在ajax中處理異常的重要方法是僅將錯誤代碼與ajax一起發送,但作爲程序員,如果您在ajax中傳遞消息(通過網絡面板可以看到它們),則更容易調試和維護代碼)。在ajax中返回php異常消息是否安全

有關大型項目的最佳做法是什麼?

+5

SANDBOX env。 =發送消息,PRODUCTION =您可以將其記錄到文件中 – Peter

+0

在開發系統上,確保:使開發人員更容易。這是有點點。但在生產系統上,沒有。不要讓開發者容易,因爲黑客也是開發者。設置起來很容易,因此開發系統會顯示原始錯誤,而產品系統不會。 – SDC

+0

順便說一句 - 爲了增加Dev awesomeness,你應該看看FirePHP,它可以讓你從你的PHP代碼直接發送消息到瀏覽器的控制檯。在開始生產時還需要關閉,但對於開發工作非常有用。 – SDC

回答

0

不幸的是,沒有任何東西作爲DEBUG語句。看看here 雖然有關於如何實現項目範圍解決方案來區分DEBUG和代碼生產的討論,但事實是,您應該爲性能(看起來here)和安全性。

攻擊者當然希望獲得關於您的數據庫和實施實踐的一些信息。表名和字段將爲他提供例如他需要在UNION SQL注入查詢中使用的字段數。

+0

在這種情況下,不是更大的問題,因爲某人可以首先執行SQL注入? –

+0

絕對,但無論你做什麼,sql注入都會成爲問題。但現有的注入點並不總是被找到。在那裏的許多漏洞需要表格的列數或一些這樣的信息。只要看看sqlmap工具的執行情況,它就是選項,你會發現大多數迭代只是具有不同選項的相同的SQL注入技術。另外,您絕對不應該放棄您正在使用的dbms技術或任何其他技術。大多數攻擊從特定技術的Google搜索開始。 –