


Analysis of ucenter communication principle, ucenter communication principle_PHP tutorial
Ucenter communication principle analysis, ucenter communication principle
1. The user logs in to discuz and verifies the posted data through the function uc_user_login in the logging.php file, that is, verifying the username and password.
2. If the verification is successful, the function uc_user_synlogin located in the client.php file under uc_client will be called. In this function, uc_api_post('user', 'synlogin', array('uid'=>$uid)) will be called. .
3. Then this function passes data to index.php of Ucenter. Index.php accepts the passed data and obtains the value of model as user and action as synlogin.
4. Then Ucenter’s index.php calls the onsynlogin method in the user.php class in the control directory. Through the foreach loop, it uses JavaScript to notify the applications in the uc application list that enable synchronous login to log in synchronously; that is, through get method to pass some data to uc.php under the api in each application directory.
5. uc.php receives the notification and processes the data obtained, and encrypts the data through the function _authcode in the function synlogin (located in uc.php) (default uses UC_KEY as the key), and sets the cookie with the function _setcookie.
6. Each application uses the corresponding key to decode the cookie set above and obtain the user ID and other data; use this value to determine whether the user has logged in through other applications, so that the user can log in automatically.
Logging.php in the application ——>client.php in uc_client——>Ucenter——>api/uc.php in other applications.
In fact, the principle of Ucenter to achieve synchronous login is cookie. After an application successfully logs in, it transfers data to Ucenter and lets Ucenter notify other applications to also set cookies. In this way, users can automatically use the cookies that have been set when accessing other applications. Login.
The general steps are to first install ucenter and then copy the uc_client folder to your own project, and then configure several files
client.php is equivalent to a function library
uc.php is equivalent to the callback file
config.php is the configuration file
When you have two applications set up to synchronize login, when you log in to an application, then execute
include ‘./config.inc.php’;
include ‘./uc_client/client.php’;
$usernames=”kyee”;
$passwords=”123456″;
list($uid, $username, $password, $email) = uc_user_login($usernames, $passwords);
if($uid > 0) {
setcookie(“username”,$username,time()+intval(24*3600));
echo uc_user_synlogin($uid);
echo 'Login successful';
} elseif($uid == -1) {
echo 'The user does not exist or has been deleted';
} elseif($uid == -2) {
echo 'Wrong password';
} else {
echo 'undefined';
}
uc_user_synlogin() This function represents the need to synchronize login to all other functions that enable synchronous login. uc itself will loop through all applications that enable synchronous login in the background and then output it on the page
JS code like this is sent to each application that enables synchronous login, and then the callback file uc.php of each application that enables synchronous login will be decrypted after receiving it. After decryption, you can actually Now it’s time to write the code. The code of this uc.php callback file does not have to be written in their format. You can also write your own code.
In fact, the principle of UC is very simple, that is, after an application logs in, it then polls the callback file sent to the synchronously logged-in application in the background. After the callback file receives the user ID, it generates a cookie or session and then enters the login mode.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

In PHP, password_hash and password_verify functions should be used to implement secure password hashing, and MD5 or SHA1 should not be used. 1) password_hash generates a hash containing salt values to enhance security. 2) Password_verify verify password and ensure security by comparing hash values. 3) MD5 and SHA1 are vulnerable and lack salt values, and are not suitable for modern password security.

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.
