ウェブサイトのセキュリティ検出を使用してブログをスキャンしたところ、脆弱性が見つかりました。実際、テーマのパスに直接アクセスすると、get_header() 関数が有効にならず (未定義関数 get_header() の呼び出し)、WordPress が有効になります。完全なエラー メッセージが出力され、機密性の高い名前のディレクトリ構造が公開されますが、これは通常のアクセスには影響しませんが、一部のユーザーに悪用される可能性があります。ブログのバックエンドにあるさまざまなブログのパスやファイルをスキャンしている人をよく見かけます。できるだけ多くの脆弱性を解決することで、Web サイトのセキュリティが大幅に強化されます。私のブログの安全性は100点で、表面的なものですが、一つ一つ解決策を見つけていきます。
以下は、参考のために私が遭遇した問題と解決策の詳細な説明です。
環境: Linux vps + lnmp
完全なエラー メッセージは次のとおりです:
致命的なエラー: /websiterootpath/izhangheng/wp-content/主題/twentytwelve/ の 10 行目で未定義関数 get_header() を呼び出します
解決策:
WEB アプリケーションに独自のエラー処理/管理システムが付属している場合は、その機能がオンになっていることを確認してください。そうでない場合は、言語と環境に応じて個別に処理してください。 PHPアプリケーション/Apacheサーバーの場合は、phpスクリプトを修正し、php.iniとhttpd.confの設定項目を設定することでエラーメッセージを抑制できます。
1.1. php.ini の設定行を変更します: display_errors = off
2.2. httpd.conf/apache2.conf の設定行を変更します: php_flag display_errors off
3.3. PHP スクリプトを変更し、次のコード行を追加します: ini_set(‘display_errors’, false);
この問題については、エラーメッセージを表示しないだけでは完全ではありません。エラー後にホームページにジャンプすることでトラフィックの損失を回避できます。私の環境では、デフォルトでエラーメッセージの表示がオフになっているので、脆弱なページのソースコードの前に WordPress 関数を呼び出すだけで済みます。まず、WordPress バックエンドの外観を入力します。たとえば、index.php ホームページ テンプレートを編集している場合は、ヘッダー コードがすべて英語であることに注意してください。
コードは次のとおりです | |
/** |