エラー処理
これまで、コードを書いていたときに、関數(shù)名が間違って書かれたり、セミコロンが忘れられたり、関數(shù)が再定義されたときにさまざまなエラーが報(bào)告されたりすることがよくありました。
開発において、エラーの表示は開発にとって非常に有益です。エラーを表示すると、エラーを迅速に特定して問題を解決するのに役立つためです。
実稼働環(huán)境 (つまり、パブリック ネットワーク) では、Web サイト、マイクロサイト、モバイル Web サイト、モバイル インターフェイスなどに他のユーザーがアクセスできます。
エラーが表示された場合、次のことが簡単に暴露されます:
- サーバーのファイルパスとファイルストレージの仕様
- 個(gè)人名を使用することを好む人もいますが、パスワードはソーシャルエンジニアリングを通じて逆に推測される可能性があります
- Mysqlデータベースサーバーのアドレス
…など
上記の情報(bào)は、インターネット上で特に下心を持つ人々によって悪用されやすいものです。
たとえば、次のコードでは、セミコロンを追加せずに、サーバー側(cè)のファイルストレージパス、フレームワーク情報(bào)などを完全に公開しています。以下のように:
<?php $fp = fopen('abc.txt','a+') fwrite($fp,'abc'); fclose($fp); ?>
がエラーを報(bào)告しました:
エラー プロンプトの中國語訳は次のとおりです:
解析エラー: 構(gòu)文エラー。この事故は、/home/vagrant/Code/Laravel/public/index.php ファイルの fwrite の 5 行目付近で発生しました。
では、どうやって解決すればいいのでしょうか?
——これには、エラー処理の章を?qū)W習(xí)する必要があります。