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