Fix compromise detection

Compromise detection has inverted logic handling response_code and did not honor the settingsFilename variable.
This commit is contained in:
Kevin Otte 2020-01-08 20:25:46 -05:00 committed by GitHub
parent 5fdd91ce4c
commit 3396c25002
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 2 deletions

View File

@ -49,11 +49,11 @@ register_module([
if(!$settings->disable_peppermint_access_check &&
php_sapi_name() !== "cli-server") { // The CLI server is single threaded, so it can't support loopback requests
$request_url = full_url();
$request_url = preg_replace("/\/(index.php)?\?.*$/", "/peppermint.json", $request_url);
$request_url = preg_replace("/\/(index.php)?\?.*$/", "/".$settingsFilename, $request_url);
@file_get_contents($request_url);
// $http_response_header is a global reserved variable. More information: https://devdocs.io/php/reserved.variables.httpresponseheader
$response_code = intval(explode(" ", $http_response_header[0])[1]);
if($response_code >= 200 || $response_code < 300) {
if($response_code >= 200 && $response_code < 300) {
file_put_contents("$settingsFilename.compromised", "compromised");
http_response_code(307);
header("location: index.php");