最近、一部の Web サイト開発者が問題を発見しました。TP5 フレームワークを使用して開発された Web サイトでは、tp5index.php 内のファイルを非表示にする保護手段が失敗しています。この記事では、この問題の背後にある理由と、この脆弱性を修正する方法について説明します。
まず、tp5index.php とは何かを理解する必要があります。 tp5index.php は TP5 フレームワークのデフォルトのエントリファイルであり、このファイルは何も処理せずに URL 経由で Web サイトのルートディレクトリに直接アクセスできます。これはハッカーにとって非常に便利であり、このファイルが存在すると、このファイルを通じて Web サイトのルート ディレクトリを簡単に見つけることができ、その後の攻撃を開始することが可能になります。
この種の攻撃を防ぐために、TP5 の開発者は tp5index.php ファイルを隠す方法を考え出しました。具体的な操作は次のとおりです:
1. tp5index.php ファイルをコピーし、名前をindex.php
2. 新しくコピーしたindex.php ファイルに次のコードを追加します。 ##
<?php //定义变量以便于跳转时识别 define('APP_DEBUG', false); define('APP_PATH', './application/'); //隐藏tp5index.php define('BUILD_DIR_SECURE', true); // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php';
location ~ .php$ { if ($request_uri ~* "tp5index.php") { return 404; } fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
以上がtp5index.phpの隠れた失敗の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。