錯誤處理

在之前我們在寫程式碼的時候常常會看到:函數名稱寫錯了,忘加分號了,函數被重新定義了都會報各種不同樣的錯。

在開發中,顯示錯誤對我們的開發非常有利。因為,顯示錯誤後能幫我們快速定位錯誤、解決問題。

而在生產環境(即公網)給其他人訪問的的網站、微網站、手機網站、手機介面... ...等等。

如果錯誤顯示出來了,就容易暴露:

  1. 伺服器的檔案路徑和檔案儲存規格
  2. 有些人喜歡用個人名稱命名,透過社會工程學可以反向推理出密碼
  3. 有時還會暴露mysql資料庫伺服器的位址
    ... ... 等等

上面這些資訊特別容易被網路上別有用心的一些人給利用。

例如下面這段程式碼,我們不加分號就全面暴露了我們的伺服器端檔案存放路徑、框架資訊等。如下:

<?php

$fp = fopen('abc.txt','a+')

fwrite($fp,'abc');

fclose($fp);
?>

報錯了:

document/2015-09-22/560126786806a

錯誤提示中文翻譯過來為:
解析錯誤:文法錯誤。意外發生在/home/vagrant/Code/Laravel/public/index.php 檔案的第5行fwrite附近。

那,我們該如何解決了?

——這就需要學習我們的錯誤處理章節。

繼續學習