Qeephp整合ucenter实现单点登陆之个人PHP项目与Ucenter整合
前言
要实现使用ucenter单点登陆,则首先需要部署一个ucenter项目
一、下载ucenter程序
去Discuz官网下载一个ucenter程序
http://www.comsenz.com/downloads/install/ucenter
我下载的是下面这个版本的。
UCenter_1.6.0_SC_UTF8.zip
二、安装程序
php的安装环境我就不说了,将下载下来的ucenter程序部署完成。
我顺便部署了一下我的qeephp程序,这个和个人项目都是一样的,先保证运行正常。
我的配置:
ucenter域名:http://ucenter.webplus3.com
我的项目域名:http://www.nj-jz.com
三、开始整合
1、UCenter_1.6.0_SC_UTF8.zip解压
2、将advanced\examples\api文件夹下的uc.php文件拷贝到你网站的根目录下的api文件夹中,若没有api则新建一个api文件夹(api文件夹一定要在网站的根目录中)
3、将advanced\examples文件夹下的include文件夹拷贝到你项目的根目录。文件夹内包含一个文件叫db_mysql.class.php,这是连接数据库的类。
4、将uc_client文件夹整个复制到你网站根目录,uc_client之前说了是接口代码,现在根目录已经有include和uc_client两个文件夹了。
5、复制advanced\examples文件夹内的config.inc.php到你网站的根目录,这是配置UCenter的配置文件。
6、在ucenter后台中添加新应用,截图如下:
其他属性默认,点击“提交”,保存应用!
此时返回应用列表,通信状态应该是失败的!
别急,我们再修改一下配置文件。
四、修改ucenter配置
1.编辑应用,在应用提交按钮的下方会有一段配置
将这段配置信息拷贝到第(三)2步提到的uc.php文件的最上方。
添加后的文件前20行(其中2-15行是拷贝过来的配置)如下:
<?phpdefine ('UC_CONNECT', 'mysql');define('UC_DBHOST', 'localhost');define('UC_DBUSER', 'root');define('UC_DBPW', '12344');define('UC_DBNAME', 'web3_ucenter');define('UC_DBCHARSET', 'utf8');define('UC_DBTABLEPRE', '`web3_ucenter`.uc_');define('UC_DBCONNECT', '0');define('UC_KEY', '123456');define('UC_API', 'http://ucenter.webplus3.com');define('UC_CHARSET', 'utf-8');define('UC_IP', '');define('UC_APPID', '2');define('UC_PPP', '20');define('IN_DISCUZ', TRUE);define('UC_CLIENT_VERSION', '1.5.0'); //note UCenter 版本标识define('UC_CLIENT_RELEASE', '20081031');
同时按照这段配置信息更改第5步中说的config.inc.php文件里面相应的参数,使其与ucenter生成的配置信息保持一致。
<pre name="code" class="php"><?phpdefine ('UC_CONNECT', 'mysql');// 连接 UCenter 的方式: mysql/NULL, 默认为空时为 fscoketopen()// mysql 是直接连接的数据库, 为了效率, 建议采用 mysql//数据库相关 (mysql 连接时, 并且没有设置 UC_DBLINK 时, 需要配置以下变量)define('UC_DBHOST', 'localhost');// UCenter 数据库主机define('UC_DBUSER', 'root');// UCenter 数据库用户名define('UC_DBPW', '12344');// UCenter 数据库密码define('UC_DBNAME', 'web3_ucenter');// UCenter 数据库名称define('UC_DBCHARSET', 'utf8'); // UCenter 数据库字符集define('UC_DBTABLEPRE', 'web3_ucenter.uc_'); // UCenter 数据库表前缀//通信相关define('UC_KEY', '123456');// 与 UCenter 的通信密钥, 要与 UCenter 保持一致define('UC_API', 'http://ucenter.webplus3.com');// UCenter 的 URL 地址, 在调用头像时依赖此常量define('UC_CHARSET', 'utf-8'); // UCenter 的字符集define('UC_IP', ''); // UCenter 的 IP//当 UC_CONNECT 为非 mysql 方式时, 并且当前应用服务器解析域名有问题时, 请设置此值define('UC_APPID', 2); // 当前应用的 IDdefine('UC_PPP', '20');//同步登录 Cookie 设置$cookiedomain = ''; // cookie 作用域$cookiepath = '/'; // cookie 作用路径以上步骤弄完后,回头再去看看你的ucenter后台,更新下缓存,再瞅瞅应用管理里面,看是不是已经通信成功了呢??

PhpSessionsCanstorestrings, Numbers, Arrays, Andobject.1.Strings: TextDatalikeUserames.2.Numbers: IntegersorFloatsForCounters.3.arrays: listslikeshoppingcarts.4.Objects: complexestructuresthataReSerialized.

TostartaphpSession, usessession_start () aTTheScript'sbeginning.1) PlaceItBeForeanyOutputToSetTheSessionCooKie.2) USESSIONSFORUSERDATALIKELOGINSTATUSORSHOPPINGSCARS.3) RegegeraSesessionIdStopreventfixationAtTACKS.4)

La régénération de session fait référence à la génération d'un nouvel ID de session et à l'invalidation de l'ancien ID lorsque l'utilisateur effectue des opérations sensibles en cas d'attaques fixes de session. Les étapes de mise en œuvre incluent: 1. Détectez les opérations sensibles, 2. Générer un nouvel ID de session, 3. Détruiser l'ancien ID de session, 4. Mettre à jour les informations de session côté utilisateur.

Les séances PHP ont un impact significatif sur les performances des applications. Les méthodes d'optimisation incluent: 1. Utilisez une base de données pour stocker les données de session pour améliorer la vitesse de réponse; 2. Réduire l'utilisation des données de session et stocker uniquement les informations nécessaires; 3. Utilisez un processeur de session non bloquant pour améliorer les capacités de concurrence; 4. Ajustez le temps d'expiration de la session pour équilibrer l'expérience utilisateur et la charge du serveur; 5. Utilisez des séances persistantes pour réduire le nombre de données de lecture et d'écriture.

PhpsessionsareServer-côté, whileCookiesareclient-Side.1) SessionStoredataontheServer, aremoresecure, ethandleLargerData.2) CookiesstoredataontheClient, ArelessSecure, andlimitedIzeSize.USESESSIONSFORSENSEDATAANDCOOKIESFORNONNORNE-SENSENSITION, Client-Sidedata.

Phpidentifiesauser'sessionusingssse cookiesand sessionids.1) whenSession_start () est calculé, phpgeneratesauquesseSessionIdStoredInacookIenameDPhpSesssIdonUser'sbrowser.2) thisIdallowsphptoreTrrieSeSessionDatafromTeserver.

La sécurité des sessions PHP peut être obtenue grâce aux mesures suivantes: 1. Utilisez Session_RegeReate_ID () pour régénérer l'ID de session lorsque l'utilisateur se connecte ou est une opération importante. 2. Cryptez l'ID de session de transmission via le protocole HTTPS. 3. Utilisez session_save_path () pour spécifier le répertoire sécurisé pour stocker les données de session et définir correctement les autorisations.

PhpSessionFilesArestorentheDirectorySpecifiedSession.save_path, généralement / tmponunix-likesystemsorc: \ windows \ temponwindows.tocustomzethis: 1) usession_save_path () tosetacustomDirectory, astumeit'swrit


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

Dreamweaver CS6
Outils de développement Web visuel

Dreamweaver Mac
Outils de développement Web visuel

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux
