HEX
Server: nginx/1.16.1
System: Linux iZ7xv2zauie3qihz0jlnrxZ 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: www (1000)
PHP: 7.2.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/shzthfdcpg.com/wp-content/plugins/baidusubmit/inc/setting.php
<?php

/**
 * Administrator operate this file.
 */

class BaidusubmitSetting
{
    const UPDATED_COOKIE_NAME = 'bds_setting_updated';

    static public $isUpdated = false;

    static function showJson($var)
    {
        echo json_encode($var);
        exit;
    }

    static function authSite()
    {
        require_once dirname(__FILE__).DIRECTORY_SEPARATOR.'options.php';
        require_once dirname(__FILE__).DIRECTORY_SEPARATOR.'sitemap.php';
        BaidusubmitOptions::setOption('siteurl', $_POST['siteurl']);

        $config = include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'const.php';

        $site = $_POST['siteurl'];
        //去站长平台获取随机串
        $result = BaidusubmitSitemap::httpSend($config['zzplatform'] . '/getCheckSign?siteurl=' . urlencode($site) . '&sitetype=' . $config['siteTypeKey']);
        $data = json_decode($result);

        if (isset($data->status) && '0' != $data->status) {
            self::showJson(array(
                'error' => 1,
                'msg' => __('Failed to get Checksign'),
            ));
        }

        BaidusubmitOptions::setOption('siteurl', $data->siteurl);
        BaidusubmitOptions::setOption('checksign', $data->checksign);

        //站长平台回调的URL
        $siteurl = BaidusubmitOptions::getOption('siteurl');
        $url = $siteurl . BAIDUSUBMIT_PLUGIN_PATH . 'baidusubmit/checksign.php?checksign=' . $data->checksign;
        $sigurl = $config['zzplatform'] . '/auth?checksign=' . $data->checksign . '&checkurl=' . urlencode($url) . '&siteurl=' . urlencode($siteurl);

        $authData = BaidusubmitSitemap::httpSend($sigurl);   //去站长平台进行验证
        BaidusubmitOptions::deleteOption('checksign');
        $output = json_decode($authData);

        if (isset($output->status) && '0' == $output->status) {
            //token
            $token = $output->token;

            //保存下旧密码
            $old_sppasswd = BaidusubmitOptions::getOption('sppasswd');

            //只有初次安装时才提交sitemap
            if (empty($old_sppasswd)) {
                $sppasswd = BaidusubmitSitemap::genSitemapPasswd();

                $result = 0;
                $sign = md5($siteurl.$token);
                //提交全量索引
                $allreturnjson = BaidusubmitSitemap::submitIndex('add', BaidusubmitSitemap::TYPE_ALL, $siteurl, $sppasswd, $sign);
                $allresult = json_decode($allreturnjson['body']);
                if (!isset($allresult->status) || '0' != $allresult->status) {
                    self::showJson(array(
                        'error' => 1,
                        'msg' => __('Sitemap submission failed', 'sitemap') . "[URL:{$allreturnjson['url']}]",
                    ));
                }
                $result += (int)$allresult->status;

                //提交增量索引
                $incresultjson = BaidusubmitSitemap::submitIndex('add', BaidusubmitSitemap::TYPE_INC, $siteurl, $sppasswd, $sign);
                $incresult = json_decode($incresultjson['body']);
                if (!isset($incresult->status) || '0' != $allresult->status) {
                    self::showJson(array(
                        'error' => 1,
                        'msg' => __('Sitemap submission failed', 'sitemap') . '[URL:' . $incresultjson['url'] . ']',
                    ));
                }
                $result += (int)$incresult->status;

                if ($result === 0) {
                    //tid节点
                    BaidusubmitOptions::setOption('installmaxtid', BaidusubmitSitemap::getMaxTid());
                    //保存sppasswd
                    BaidusubmitOptions::setOption('sppasswd', $sppasswd);
                    //为了避免提交sitemap超时,把token放在下。提交成功后再写token.
                    BaidusubmitOptions::setOption('pingtoken', $token);

                    self::showJson(array(
                        'error' => 0,
                        'msg' => __('Verification successful', 'sitemap'),
                    ));
                } else {
                    // delete sppassword
                    BaidusubmitOptions::setOption('sppasswd', '');
                    self::showJson(array(
                        'error' => 1,
                        'msg' => __('Sitemap submission failed', 'sitemap'),
                    ));
                }
            }
            else {
                //为了避免提交sitemap超时,把token放在下。提交成功后再写token.
                BaidusubmitOptions::setOption('pingtoken', $token);
                self::showJson(array(
                    'error' => 0,
                    'msg' => __('Verification successful', 'sitemap'),
                ));
            }

        }
        elseif (in_array($output->status, array(1, 2001, 2002, 2003,2008))) {
            $e = array(
                1    => __('Parameter error', 'sitemap'),
                2    => __('No site information', 'sitemap'),
                100  => __('System error', 'sitemap'),
                2001 => __('Checksign does not exists', 'sitemap'),
                2002 => __('Sign detection failed', 'sitemap'),
                2003 => __('Checkurl request failed', 'sitemap'),
                2008 => __('Checkurl does not belong to siteurl', 'sitemap'),
            );
            self::showJson(array(
                'error' => 1,
                'msg' => $e[$output->status],
            ));
        }
        else {
            self::showJson(array(
                'error' => 1,
                'msg' => __('Verification failed, please try again', 'sitemap'),
            ));
        }

    }

    static function saveSettings()
    {
        if ('POST' === $_SERVER['REQUEST_METHOD']) {
            require_once dirname(__FILE__).DIRECTORY_SEPARATOR.'options.php';
            BaidusubmitOptions::setOption('openping', (int)(bool)$_POST['openping']);
            setcookie(self::UPDATED_COOKIE_NAME, 1, time()+300);
            header('Location: admin.php?page=baidu_admin');
        }
    }

    static function checkUpdated()
    {
        self::$isUpdated = isset($_COOKIE[self::UPDATED_COOKIE_NAME]);
        if (self::$isUpdated) {
            setcookie(self::UPDATED_COOKIE_NAME, '', time()-86400*10);
        }
    }

    static function showAdminPage()
    {
        require_once dirname(__FILE__).DIRECTORY_SEPARATOR.'options.php';

        $siteurl = BaidusubmitOptions::getOption('siteurl');
        $openping = BaidusubmitOptions::getOption('openping');
        $token = BaidusubmitOptions::getOption('pingtoken');

        self::showHeader('admin');

        if (self::$isUpdated) {
            echo '<div class="updated"><strong><p>', __('Configuration saved', 'sitemap'), '</p></strong></div>';
        }

        echo '<div class="titlebar">', __('Introduction & Description', 'sitemap'), '</div>';
        echo '<ul>
            <li>', __('After installing Baidu Sitemaps, you can quickly and completely submit webpages and content to Baidu. It helps you with the following:', 'sitemap'), '</li>
            <li>
                ', __('1) Baidu Spider will better understand and include your site', 'sitemap'), '
            </li>
            <li>
                ', __('2) Baidu Search will better display results from your site', 'sitemap'), '
            </li>
            <!--<li>
                ', __('You can also go to Baidu Webmaster Platform and submit: Sitemap | Structured Data | Broken Link Submission', 'sitemap'), '
            </li>-->
            <li>
                ', __('When using our products, please send any comments or suggestions to the Baidu Webmaster Feedback Center', 'sitemap'), '
            </li>
            </ul>';
?>
<script type="text/javascript">
function baidu_ajaxpost2(formid, showid, submitid)
{
    var $ = jQuery;
    $('#'+showid).html('<?php echo __('Verifying...', 'sitemap'); ?>');
    var curform = $('#'+formid)[0];

    $('#'+submitid)[0].disabled = true;
    $('#'+showid)[0].className = '';

    var postdata = {
        'siteurl' : curform.elements['siteurl'].value
    };

    $.post(curform.action, postdata, function(s) {
        s = eval('(' + s + ')');
        $('#'+showid).html(s.msg);
        if (s.error === 0) {
            $('#'+showid)[0].className = authStatus.success.msgclass;
            $('#'+submitid)[0].value = authStatus.success.btntext;
            $('#siteurl')[0].disabled = true;
            $('#siteurl')[0].className = authStatus.success.inputclass;
            //打开全局
            bds_isExist = 1;
        } else {
            $('#'+showid)[0].className = authStatus.failed.msgclass;
            $('#'+submitid)[0].value = authStatus.failed.btntext;
            $('#siteurl')[0].disabled = false;
            $('#siteurl')[0].className = authStatus.failed.inputclass;
        }
        $('#'+submitid)[0].disabled = false;
    });

    return false;
}
var bds_isExist = <?php if($token){ echo '1'; }else{ echo '0'; } ?>;

var authStatus = {
    'success':{
        'btntext': '<?php echo __('Re-verify', 'sitemap'); ?>',
        'msgclass': 'success-msg',
        'inputclass': 'dsclass'
    },
    'failed':{
        'btntext': '<?php echo __('Verify', 'sitemap'); ?>',
        'msgclass': 'failed-msg',
        'inputclass': ''
    }
};

function formsubmit()
{
    if (1 === bds_isExist) {
        var $ = jQuery;
        $('#submitbutton')[0].value = '<?php echo __('Verify', 'sitemap'); ?>';
        $('#siteurl')[0].disabled = false;
        $('#siteurl')[0].className = '';
        $('#returnmessage')[0].innerHTML = '';
        bds_isExist = 0;
    } else {
        baidu_ajaxpost2('authform', 'returnmessage', 'submitbutton');
    }
    return false;
}
</script>
<style type="text/css">
h2 { border-bottom: 1px solid #DFDFDF; padding: 0 0 10px !important }
div.updated { margin: 5px 0 15px; }
.titlebar { background:#DFDFDF; padding:5px;}
.dsclass { background:#EEEEEE !important; }
.failed-msg { color:#FF0000; }
.success-msg {  }
.radio-box {overflow:auto; zoom:1}
.radio-box li { display: inline-block; float: left; margin-right: 20px;}
#authform input {margin-left: 15px; }
#returnmessage {margin-left: 15px; }
</style>
<?php
        echo '<div class="titlebar">', __('Site verification', 'sitemap'), '</div>';
        echo '<ul><li><form action="admin.php?page=baidu_admin&action=auth" method="post" id="authform" onsubmit="return formsubmit()">',
            __('System installation URL path', 'sitemap'),
            '<input type="text" id="siteurl" name="siteurl" style="width:300px;" ',
                ($siteurl&&$token ? 'disabled="disabled" class="dsclass" value="'.$siteurl.'"' : 'value="'. get_option('siteurl') .'"'),
                ' />',
            '<input id="submitbutton" type="submit" class="button botton-secondary" value="', __(($siteurl&&$token ? 'Re-verify' : 'Verify') , 'sitemap'), '" /><span id="returnmessage"></span>',
            '</form></li></ul>';

        echo '<div class="titlebar">', __('Active submit', 'sitemap'), '</div>',
            '<form action="admin.php?page=baidu_admin&action=savesetting" method="post">',
            '<ul class="radio-box">',
            '<li><label for="baidusubmit-openping-1">', '<input type="radio" value="1" name="openping"' . ($openping ? ' checked="checked"' : '') . ' />', __('Enable'), '</label></li>',
            '<li><label for="baidusubmit-openping-0">', '<input type="radio" value="0" name="openping"' . (!$openping ? ' checked="checked"' : '') . ' />', __('Disable'), '</label></li>',
            '<li><input type="submit" class="button button-secondary" value="', __('Save'), '" /></li>',
            '</ul>',
            '</form>';
    }

    static function showUrlstatPage()
    {
        require_once dirname(__FILE__).DIRECTORY_SEPARATOR.'sitemap.php';
        $list = BaidusubmitSitemap::getUrlStat();
        self::showHeader('urlstat');
        echo '<table id="urlstat">',
             '<tr><th>', __('Date', 'sitemap'), '</th><th>', __('Quantity', 'sitemap'), '</th><th>', __('Total', 'sitemap'), '</th></tr>';
        foreach ($list as $x) {
             echo '<tr><td>', date('Y-m-d', $x->ctime), '</td><td>', $x->urlnum, '</td><td>', $x->urlcount, '</td></tr>';
        }
        echo '</table>';
?>
<style type="text/css">
#urlstat { border: 1px solid #DDDDDD; border-collapse:collapse; }
#urlstat th, #urlstat td { border:1px solid #DDDDDD; padding: 5px 15px; text-align: center; }
</style>
<?php
    }

    static function genLinks($current='')
    {
        $ret = array();
        $ret[] = '<a href="admin.php?page=baidu_admin"' . ('admin'===$current ? ' class="current"' : '') . '>' . __('Manage', 'sitemap') . '</a>';
        $ret[] = '<a href="admin.php?page=baidu_urlstat"' . ('urlstat'===$current ? ' class="current"' : '') . '>' . __('Submission History', 'sitemap') . '</a>';
        return $ret;
    }

    static function showHeader($current)
    {
        echo '<h2>', __('Baidu Sitemaps', 'sitemap'), BAIDUSUBMIT_VERSION, '</h2>';
        echo '<ul class="subsubsub" style="float:none;">';
        $links = self::genLinks($current);
        foreach ($links as $x) {
            echo '<li style="padding-right:20px"> ', $x, ' </li>';
        }
        echo '</ul>';
    }
}