錯誤處理
在之前我們在寫代碼的時候經常會看到:函數(shù)名寫錯了,忘加分號了,函數(shù)被重新定義了都會報各種不同樣的錯。
在開發(fā)中,顯示錯誤對我們的開發(fā)非常有利。因為,顯示錯誤后能幫我們快速定位錯誤、解決問題。
而在生產環(huán)境(即公網)給其他人訪問的的網站、微網站、手機網站、手機接口... ...等等。
如果錯誤顯示出來了,就容易暴露:
- 服務器的文件路徑和文件存儲規(guī)范
- 有些人喜歡用個人名命名,通過社會工程學可以反向推理出密碼
- 有時還會暴露mysql數(shù)據(jù)庫服務器的地址
... ... 等等
上面這些信息特別容易被網上別有用心的一些人給利用。
例如下面這段代碼,我們不加分號就全面暴露了我們的服務器端文件存放路徑、框架信息等。如下:
<?php $fp = fopen('abc.txt','a+') fwrite($fp,'abc'); fclose($fp); ?>
報錯了:
錯誤提示中文翻譯過來為:
解析錯誤:語法錯誤。意外發(fā)生在/home/vagrant/Code/Laravel/public/index.php 文件的第5行fwrite附近。
那,我們該如何解決了?
——這就需要學習我們的錯誤處理章節(jié)。