[fastadmin] 第三十六篇 FastAdmin 商城第三方插件路由,微信登录失效 - 完整解决方案。 路由配置与插件bug 配置文件手动修改

错误展示

这里用到了插件内的 登录写法。但是调用出错。 猜测是配置或者路由问题

[fastadmin] 第三十五篇 FastAdmin 商城第三方插件路由,微信登录失效

[fastadmin] 第三十五篇 FastAdmin 商城第三方插件路由,微信登录失效

环境

fastadmin 请求

www.XXXX.com/addons/third/api/getA...

报错403

我的服务器是apache4.2,php 7.4
addons 文件夹权限给的是777

分析问题

1. 常见的 fastadmin 403 错误分析

博客:[fastadmin] 第三十五篇 FastAdmin 403 常见问题

2. 查看apache 错误日志 发现是 3F问题

apache 错误日志 如下[Fri Feb 14 12:10:03.813234 2025] [rewrite:error] [pid 13724:tid 13762] [client 103.99.106.39:52300] AH10508: Unsafe URL with %3f URL rewritten without UnsafeAllow3F

3. 分析3F问题

这个错误是 Apache 2.4.49 及以后版本的一个安全限制导致的。这是一个安全更新,用来防止某些 URL 注入攻击。让我们来解决这个问题:

  1. 在 Apache 配置文件中添加 UnsafeAllow 指令。编辑 Apache 配置文件(通常是 /etc/apache2/apache2.conf 或者虚拟主机配置文件):
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    # 添加这一行
    UnsafeAllow 3F
</Directory>
  1. 或者在 .htaccess 文件中添加(如果你有权限修改 Apache 主配置,建议使用方法1):
<IfModule mod_rewrite.c>
    Options +FollowSymlinks -Multiviews
    RewriteEngine On
    RewriteBase /

    # 添加这一行
    UnsafeAllow 3F

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>

修改完后,重启 Apache:

4. 复测 报错500. 查看apache 报错

[fastadmin] 第三十六篇 FastAdmin 商城第三方插件路由,微信登录失效

采用 方法二,报错了,
[Fri Feb 14 12:13:19.888490 2025] [core:alert] [pid 15699:tid 15731] [client 103.99.106.39:49973] /www/wwwroot/maigeyin40/5i40-pc-h5-fastadmin/public/.htaccess: Invalid command 'UnsafeAllow', perhaps misspelled or defined by a module not included in the server configuration

5.再次分析问题

这个错误表明 UnsafeAllow 命令在你的 Apache 版本中不被支持或者相关模块未启用。让我们尝试其他解决方案:

修改 .htaccess 文件,使用更基础的重写规则:

<IfModule mod_rewrite.c>
    Options +FollowSymlinks -Multiviews
    RewriteEngine On
    RewriteBase /

    # 修改重写规则,使用更宽松的匹配
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:/$1]
</IfModule>

6. 问题解决

[fastadmin] 第三十六篇 FastAdmin 商城第三方插件路由,微信登录失效

成功

[fastadmin] 第三十六篇 FastAdmin 商城第三方插件路由,微信登录失效

2.追加问题,手机公众号登录失效。

定位到接口,发现返回的 appid 都是10000

[fastadmin] 第三十六篇 FastAdmin 商城第三方插件路由,微信登录失效

2.1 错误分析

找到 url 函数。

[fastadmin] 第三十六篇 FastAdmin 商城第三方插件路由,微信登录失效

点进去找到具体方法 打印输出查看

[fastadmin] 第三十六篇 FastAdmin 商城第三方插件路由,微信登录失效

打印图如上图。

2.2 发现 appid 10000 密码123456 猜测是不是配置文件读取错误

2.3 全局查询123456 读取源

[fastadmin] 第三十六篇 FastAdmin 商城第三方插件路由,微信登录失效

2.4 修改配置文件后尝试

[fastadmin] 第三十六篇 FastAdmin 商城第三方插件路由,微信登录失效

打印已经生效。

[fastadmin] 第三十六篇 FastAdmin 商城第三方插件路由,微信登录失效

已经可以完成登录

本作品采用《CC 协议》,转载必须注明作者和本文链接
嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步! 公众号:上海PHP自学中心
wangchunbo
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
司机 @ 某医疗行业
文章
299
粉丝
346
喜欢
563
收藏
1124
排名:61
访问:12.5 万
私信
所有博文
社区赞助商