View file adred.ru/fetch.php

File size: 4.82Kb
<?php
define('BASE_DIR', $_SERVER['DOCUMENT_ROOT']);
define('TIME', time());

require_once(BASE_DIR . '/inc/init.php');

// logs 26.10.2025
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($_POST)) {

    if (!is_dir($_SERVER['DOCUMENT_ROOT'].'/logs/'.date('H')))
    mkdir($_SERVER['DOCUMENT_ROOT'].'/logs/'.date('H'), 0755, true);
    
    $log_entry = "IP:".$_SERVER['REMOTE_ADDR']."\nURL: ".$_SERVER['REQUEST_URI']."\nREF: ".$_SERVER['HTTP_REFERER']."\nPOST данные:\n" . print_r($_POST, true) . "\n\n";
    file_put_contents($_SERVER['DOCUMENT_ROOT'].'/logs/'.date('H').'/post_'.date('Y-m-d H:i:s').'.txt', $log_entry, FILE_APPEND);
}
//

if (isset($_SERVER['HTTP_X_REQUESTED_WITH'])) {
    if (isset($_POST['mode'])) {
        switch ($_POST['mode']) {
            case 'count_domains':
                $wapids = (int)$_POST['wapids'];
                $login = clear($_POST['login']);
                $url = filter_var($_POST['url'], FILTER_VALIDATE_URL);
                if (($wapids != 1 && $wapids != 2) || !$login || !$url) exit('1000');
                $query = $mysqli->query("SELECT `id` FROM `" . PREFIX . "_block` WHERE `type` = '" . $wapids . "' and `login` = '" . $login . "' and `url` = '" . $url . "' LIMIT 1");
                if ($query->num_rows) { exit($query->num_rows); }
                break;

            case 'check_auth':
                if (isset($_POST['login']) && isset($_POST['pass']) && isset($_POST['captcha'])) {
                    $login = clear($_POST['login']);
                    $captcha = clear($_POST['captcha']);
                    
                    if (!isset($_SESSION['captcha_auth']) || $_SESSION['captcha_auth'] !== $captcha) {
                        exit('wrongcaptcha');
                    }
                    
                    $query = $mysqli->query("SELECT `id`, `password` FROM `" . PREFIX . "_users` WHERE `login` = '" . $login . "' LIMIT 1");
                    
                    if (!$query->num_rows) {
                        exit('wrong');
                    } else {
                        $res = $query->fetch_assoc();
                        $pass = clear(base64_decode($_POST['pass']));
                        if (md5(md5($pass . HASH_MD5)) != $res['password']) {
                            exit('wrong');
                        }
                    }
                }
                break;

            case 'check_lost':
                break;

            case 'check_captchalost':
                if (isset($_POST['captchalost'])) {
                    $captchalost = clear($_POST['captchalost']);
                    
                    if (!isset($_SESSION['captcha_lost']) || $captchalost != $_SESSION['captcha_lost']) {
                        exit('taken');
                    } else {
                        exit('free');
                    }
                }
                break;

            case 'check_captchareg':
                if (isset($_POST['captchareg'])) {
                    $captchareg = clear($_POST['captchareg']);
                    
                    if (!isset($_SESSION['captcha_reg']) || $captchareg != $_SESSION['captcha_reg']) {
                        exit('taken');
                    } else {
                        exit('free');
                    }
                }
                break;

            case 'check_login':
                if (isset($_POST['login'])) {
                    $login = clear($_POST['login']);
                    
                    $query = $mysqli->query("SELECT id FROM `" . PREFIX . "_users` WHERE `login` = '" . $login . "' LIMIT 1");
                    if ($query->num_rows) {
                        exit('taken');
                    } else {
                        exit('free');
                    }
                }
                break;

            case 'check_email':
                if (isset($_POST['email'])) {
                    $email = clear($_POST['email']);
                    $query = $mysqli->query("SELECT id FROM `" . PREFIX . "_users` WHERE `email` = '" . $email . "' LIMIT 1");
                    if ($query->num_rows) {
                        exit('taken');
                    } else {
                        exit('free');
                    }
                }
                break;

            case 'check_pair':
                if (isset($_POST['email'])) {
                    if (isMail($_POST['email'])) {
                        $email = clear($_POST['email']);
                        $query = $mysqli->query("SELECT id FROM `" . PREFIX . "_users` WHERE `email` = '" . $email . "' and `login` != '" . $users_info['login'] . "' LIMIT 1");
                        if ($query->num_rows) {
                            exit('taken');
                        }
                    } else {
                        exit('wrong');
                    }
                }
                break;
        }
    }
}