File "download.php"

Full path: /home/kosmetik/public_html/wp-content/plugins/really-simple-ssl/lets-encrypt/download.php
File size: 2.75 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

define('WP_USE_THEMES', false);
define('BASE_PATH', rsssl_find_wordpress_base_path() . "/");
if (!file_exists(BASE_PATH . 'wp-load.php')) {
    die("WordPress not installed here");
}
require_once BASE_PATH . 'wp-load.php';
require_once BASE_PATH . 'wp-includes/class-phpass.php';
require_once BASE_PATH . 'wp-admin/includes/image.php';
if (!current_user_can('manage_options')) {
    die;
}
if (!isset($_GET["type"])) {
    die;
}
if (!isset($_GET['token'])) {
    die;
}
if (!wp_verify_nonce($_GET['token'], 'rsssl_download_cert')) {
    die;
}
$type = sanitize_title($_GET['type']);
switch ($type) {
    case 'certificate':
        $file = get_option('rsssl_certificate_path');
        $file_name = 'certificate.cert';
        break;
    case 'private_key':
        $file = get_option('rsssl_private_key_path');
        $file_name = 'private.pem';
        break;
    case 'intermediate':
        $file = get_option('rsssl_intermediate_path');
        $file_name = 'intermediate.pem';
        break;
    default:
        $file = false;
}
if (!file_exists($file)) {
    echo __("File missing. Please retry the previous steps.", "really-simple-ssl");
    die;
} else {
    $content = file_get_contents($file);
}
$fp = fopen($file, 'rb');
if ($fp) {
    if (function_exists('mb_strlen')) {
        $fsize = mb_strlen($content, '8bit');
    } else {
        $fsize = strlen($content);
    }
    $path_parts = pathinfo($file);
    header("Content-type: text/plain");
    header("Content-Disposition: attachment; filename=\"" . $file_name . "\"");
    header("Content-length: {$fsize}");
    header("Cache-Control: private", false);
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Transfer-Encoding: binary");
    echo $content;
} else {
    echo "Someting went wrong #2";
}
fclose($fp);
function rsssl_find_wordpress_base_path()
{
    $path = dirname(__FILE__);
    do {
        if (file_exists($path . "/wp-config.php")) {
            if (file_exists($path . '/wp-load.php')) {
                return $path;
            } else {
                if (file_exists($path) && ($handle = opendir($path))) {
                    while (false !== ($file = readdir($handle))) {
                        if ($file != "." && $file != "..") {
                            $file = $path . '/' . $file;
                            if (is_dir($file) && file_exists($file . '/wp-load.php')) {
                                $path = $file;
                                break;
                            }
                        }
                    }
                    closedir($handle);
                }
            }
            return $path;
        }
    } while ($path = realpath("{$path}/.."));
    return false;
}