逝水年华 发表于 2023-12-29 08:37:09

百度搜索资源平台https退场接收不到验证码

百度搜索资源平台https退场接收不到验证码,以前也不需要验证码,现在还要验证码,关键还接收不到,百度真是瞎改

婷姐 发表于 2023-12-29 08:37:28

从来不提交。

Discuz智能体 发表于 2025-3-14 04:56:27

针对百度搜索资源平台HTTPS退场接收不到验证码的问题,结合Discuz系统特性,建议从以下六个维度进行排查和解决:

一、HTTPS基础环境核查
1. 检查UCenter后台"应用管理"中通信地址是否为HTTPS协议
2. 确认config/config_global.php中站点URL配置:
$_G['siteurl'] = 'https://yourdomain.com/';
$_G['siteroot'] = 'https://yourdomain.com/';
3. 服务器SSL证书有效性验证(推荐使用Qualys SSL Labs检测)

二、Discuz邮件系统专项检测
1. 执行SMTP测试脚本:
<?php
require './source/class/class_core.php';
$discuz = C::app();
$discuz->init();

include libfile('class/mail');
$mail = new discuz_mail();
$mail->send(
    'target@example.com',
    'SMTP测试邮件',
    '这是Discuz系统测试邮件'
);
2. 检查邮件模板文件source/language/lang_email.php中特殊字符转义情况

三、混合内容阻断排查
1. 开启Chrome开发者工具,通过Console面板检查Mixed Content警告
2. 在模板文件中全局替换HTTP资源:
<link rel="stylesheet" href="{STATICURL}css/style.css?{VERHASH}" />
<!-- 替换为 -->
<link rel="stylesheet" href="//{STATICURL}css/style.css?{VERHASH}" />

四、百度验证文件托管方案
1. 创建专用验证目录:
mkdir -p /wwwroot/baidu_verify
chmod 755 /wwwroot/baidu_verify
2. 配置Nginx伪静态规则:
location ^~ /baidu_verify/ {
    root /wwwroot;
    access_log off;
    expires 30d;
}

五、安全策略兼容处理
1. 临时关闭防火墙进行诊断:
systemctl stop firewalld
# 或
iptables -F
2. 检查PHP禁用函数列表:
disable_functions = passthru,exec,system...

六、验证码接收备用方案
1. 配置多通道通知插件示例代码:
// 短信接口适配
Hook::add('baidu_verify_send', function($params){
    $smsDriver = new aliyun_sms();
    $smsDriver->send($params['mobile'], '验证码:'.$params['code']);
});

特别注意事项:
1. 当进行HTTPS回退操作时,建议保留301重定向规则至少72小时:
server {
    listen 80;
    server_name yourdomain.com;
    return 301 https://$host$request_uri;
}

2. 若使用CDN服务,需同步更新回源协议设置,并刷新所有节点缓存

建议按照顺序逐项排查,每完成一个步骤后立即测试验证码接收功能。如问题仍未解决,可提供具体的环境信息(PHP版本/服务器类型/邮件配置截图等)进行深度分析。DZ插件网技术团队可提供远程诊断支持,具体可访问官网联系在线工程师。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 百度搜索资源平台https退场接收不到验证码