欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

帝国cms插件

帝国CMS8.0集成微信登录(SSO)插件
2025-02-19 我的站长站

帝国CMS8.0集成微信登录(SSO)插件

  • 插件编号:440
  • 插件分类:帝国cms插件
  • 点击次数:0
  • 插件编码:UTF
  • 插件版本:ecms8.0
  • 插件大小:1 kb
  • 下载权限:普通 / VIP
  • 插件售价:免费下载
  • 下载次数:0
立即下载

插件介绍

帝国CMS8.0集成微信登录(SSO)插件,该插件用于在帝国CMS8.0 网站中集成 微信登录(SSO)。

帝国CMS8.0集成微信登录(SSO)插件

1、插件功能

(1)微信公众号/开放平台授权,在微信内(公众号环境)使用 snsapi_userinfo 授权获取用户信息;在 PC 端(微信扫码)使用微信开放平台授权登录。

(2)自动注册与登录:新用户自动注册并绑定微信 OpenID/UnionID,老用户匹配 OpenID/UnionID 自动登录。

(3)用户信息同步:自动同步微信头像、昵称至帝国CMS会员表,同时确保 ecms_enewsmemberadd 附加表有对应用户记录。

2、安全机制

一是采用 session_set_Cookie_params() 控制 Cookie 安全性;二是避免 SQL 注入,建议升级至 参数化查询;三是处理 XSS 及非法输入,提升安全性。

3、插件结构

插件只有一个单文件,应放置于 /sso/ 目录,文件组织如下:

/www/sites/c.npoc.cn/index/
├── e/                    # 帝国CMS核心目录
│   ├── class/
│   │   ├── connect.php
│   │   ├── db_sql.php
│   │   └── functions.php
│   └── member/
│       └── class/
│           ├── user.php             <-- 包含 eReturnDoUpRndf() 定义
│           └── member_loginfun.php  <-- 包含 qlogin() 等登录函数
└── sso/
    └── wechatlogin.php              <-- 本插件文件,只有本文件一个单文件

4、配置方法:

确保 ecms_wechat_set 表存在,并配置 appid、appsecret。

CREATE TABLE `ecms_wechat_set` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `type` VARCHAR(10) NOT NULL, -- 'mp' (公众号) / 'open' (开放平台)
  `appid` VARCHAR(50) NOT NULL,
  `appsecret` VARCHAR(50) NOT NULL,
  PRIMARY KEY (`id`)
);

这是配置示例

INSERT INTO `ecms_wechat_set` (`type`, `appid`, `appsecret`)
VALUES ('mp', '你的公众号APPID', '你的公众号SECRET');
INSERT INTO `ecms_wechat_set` (`type`, `appid`, `appsecret`)
VALUES ('open', '你的开放平台APPID', '你的开放平台SECRET');

修改插件文件第31行,改成你的域名。

session_set_cookie_params(0, '/', '.qfy.cn', false, true); // 生产环境建议 secure=true

调试结束后,删除26-28行

// 开发阶段开启全部错误,生产环境请关闭错误显示或记录到日志
error_reporting(E_ALL & ~E_NOTICE);
ini_set('display_errors', 1);

5、插入字段

在数据库ecms_enewsmember表增加3个字段,分别是微信 unionid、微信公众号 openid、开放平台 openid

ALTER TABLE ecms_enewsmember
ADD COLUMN unionid VARCHAR(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '微信 unionid',
ADD COLUMN openid_mp VARCHAR(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '微信公众号 openid',
ADD COLUMN openid_open VARCHAR(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '开放平台 openid';

说明:因为扫码登陆需要在开放平台注册,获取的是开放平台 openid,而公众号获取的是微信公众号 openid,需要使用微信 unionid将两个openid联系起来。以达到同一个微信号扫码登陆、静默登录,避免创建两个用户。

6、使用说明

PC 端扫码登录:在 PC 端(非微信内)时,以及公众号内访问 URL 触发登录,调用如下 URL 触发登录:

https://你的域名/sso/wechatlogin.php?redirect=回调地址

成功回调后,跳转 redirect 参数指定的页面,并携带 session 登录态。

7、首页调用示例

修改后台公共模板-JS调用登录模板,添加微信登陆链接。

<form name=login method=post action="[!--news.url--]e/member/doaction.php">
    <input type=hidden name=enews value=login>
    <input type=hidden name=ecmsfrom value=9>
    用户名:<input name="username" type="text" class="inputText" size="16" />&nbsp;
    密码:<input name="password" type="password" class="inputText" size="16" />&nbsp;
    <input type="submit" name="Submit" value="登陆" class="inputSub" />&nbsp;
    <input type="button" name="Submit2" value="注册" class="inputSub" onclick="window.open('[!--news.url--]e/member/register/');" />&nbsp; <a href=/sso/wechat_login.php><font color=ff0000>微信登陆</font></a>
</form>
[!--empirenews.template--]
&raquo;&nbsp;<font color=red><b>[!--username--]</b></font>&nbsp;&nbsp;<a href="[!--news.url--]e/member/my/" target="_parent">[!--groupname--]</a>&nbsp;[!--havemsg--]&nbsp;<a href="[!--news.url--]e/space/?userid=[!--userid--]" target=_blank>我的空间</a>&nbsp;&nbsp;<a href="[!--news.url--]e/member/msg/" target=_blank>短信息</a>&nbsp;&nbsp;<a href="[!--news.url--]e/member/fava/" target=_blank>收藏夹</a>&nbsp;&nbsp;<a href="[!--news.url--]e/member/cp/" target="_parent">控制面板</a>&nbsp;&nbsp;<a href="[!--news.url--]e/member/doaction.php?enews=exit&ecmsfrom=9" onclick="return confirm('确认要退出?');">退出</a>


下载地址

· 积分下载:下载扣除对应积分,不扣除下载次数
· VIP免费:VIP会员免费下载,扣除下载次数
· 下载即代表您已阅读并同意 [服务条款]

相关推荐
  • 帝国CMS登录插件
  • 微信登录插件
  • 帝国cms8.0插件
  • 帝国CMS7.5微信扫码登录插件
    帝国CMS7.5微信扫码登录插件

    帝国CMS7.5微信扫码登录插件,7.5版本测试可以用,附件只有UTF版,其他编码自行转码。为了避免我们新手第一次做微信扫码登录没有头绪,我们从头说起。步骤一、申请微信登录接口1,获取:AppID,AppSecret 。记...

    帝国cms插件 744 4年前
  • 帝国cms账号支持用户名 邮箱 手机号多用户名同时登录插件
    帝国cms账号支持用户名 邮箱 手机号多用户名同时登录插件

    帝国CMS7.5版本,目前只有UTF编码版本,GBK其它编码转下码即可。下载附件,备份对应文件,然后覆盖即可。主要功能:帝国CMS一个账号同时支持用户名、手机号、邮箱多种方法登录。...

    帝国cms插件 680 5年前
  • 帝国CMS一键登录QQ,微博,百度等插件[带后台管理]
    帝国CMS一键登录QQ,微博,百度等插件[带后台管理]

    帝国CMS一键登录绑定插件,目前集成了QQ登录、新浪微博登录、MSN登录和百度登录四种接口,带后台管理,会员前台可自由绑定解绑,管理后台可查看所有绑定帐号的绑定时间、登...

    帝国cms插件 1681 10年前
  • 帝国CMS8.0集成微信登录(SSO)插件
    帝国CMS8.0集成微信登录(SSO)插件

    插件介绍帝国CMS8.0集成微信登录(SSO)插件,该插件用于在帝国CMS8.0 网站中集成 微信登录(SSO)。1、插件功能(1)微信公众号/开放平台授权,在微信内(公众号环境)使用 snsapi_userinfo 授权获取用户信息;在 PC ...

    帝国cms插件 0 7分钟前
  • 咫尺QQ/微信/微博登录discuz插件
    咫尺QQ/微信/微博登录discuz插件

    咫尺

    discuz插件 318 4年前
  • 织梦CMS第三方登录插件(包含QQ微博微信)
    织梦CMS第三方登录插件(包含QQ微博微信)

    插件截图登录插件说明1.所有文件不与程序任何文件冲突,单独放在一个文件内;2.一个插件xml文件安装,大大方便了新手小白;3.微信登录支持PC电脑端扫码登录和支持手机微信客户端直接登录 插件安装说...

    织梦cms插件 464 5年前
  • 织梦CMS微信登录插件
    织梦CMS微信登录插件

    插件截图织梦CMS微信登录说明《织梦猫微信登录插件》是织梦猫发布的微信登录插件,前提是你已注册了微信开放平台,并通过了开发者资质认证。同时该账号下创建了网站应用,且处于已通过状态。1、登录织...

    织梦cms插件 1234 5年前
  • Discuz西瓜微信的登录插件
    Discuz西瓜微信的登录插件

    功能介绍支持PC扫码强制关注登录。强力吸粉。微信秒登!支持电脑、手机触屏版微信登录网站。无需绑定URL和Token,可以和任何DZ的插件、模版兼容使用,支持:订阅服务号。使用说明插件的开发和使用自小程...

    discuz插件 558 5年前
  • 帝国CMS7.5微信扫码登录插件
    帝国CMS7.5微信扫码登录插件

    帝国CMS7.5微信扫码登录插件,7.5版本测试可以用,附件只有UTF版,其他编码自行转码。为了避免我们新手第一次做微信扫码登录没有头绪,我们从头说起。步骤一、申请微信登录接口1,获取:AppID,AppSecret 。记...

    帝国cms插件 744 4年前
  • 支持帝国cms7.5和8.0模板编辑器插件
    支持帝国cms7.5和8.0模板编辑器插件

    插件介绍支持帝国cms7.5和8.0模板编辑器插件,简单修改了模板编辑器,使得能够适应帝国cms8(兼容7.5帝国版本)。语法提示里,集成了帝国cms的常量,变量,函数,数据表名称提示,一键安装/卸载,所有的模板界面都会...

    帝国cms插件 3 1天前
  • 帝国CMS8.0集成微信登录(SSO)插件
    帝国CMS8.0集成微信登录(SSO)插件

    插件介绍帝国CMS8.0集成微信登录(SSO)插件,该插件用于在帝国CMS8.0 网站中集成 微信登录(SSO)。1、插件功能(1)微信公众号/开放平台授权,在微信内(公众号环境)使用 snsapi_userinfo 授权获取用户信息;在 PC ...

    帝国cms插件 0 7分钟前