php出现web系统多域名登录失败的解决方法,phpweb
php出现web系统多域名登录失败的解决方法,phpweb
本文实例讲述了php出现web系统多域名登录失败的解决方法,分享给大家供大家参考。具体分析如下:
下面只是简单的逻辑结构,对于正式的系统需要做具体的处理。
这里需要注意的是:加解密一定需要做安全验证。但是这个方法也不够完美,两个站点必须有相同一级域名;另外这种完全基于cookie的方式,安全性不够高
function login() { $info = callloginserver(); //访问登录服务器 if(!empty($info)) //登录成功了 } //用户没有登录,则在本系统中登录并调用登录服务器接口 function login() //正常的登录 { .......//验证用户的合法性 $_session['uid'] = $user_id; setcookie('sign', encrypt($pass9), '', '/', 'the.com'); }
先检查用户是否在登录系统中登录
funtion sign() { $sign = $_cookie['sign']; if(!empty($sign)) { $sign = decrypt($sign); ..........///登录成功 } }
用户没有登录,则在本系统中登录并调用登录服务器接口
function loging() //本系统登录 { .....//登录成功 callseverlogin();//通知用户登录 }
所有的站点共享一个登录系统;当用户在其中的一个站点登录成功时, 该系统调用其他站点的登录接口,完成用户在其他站点的登录,同时设置相应的登录信息;或者在用户登录时,只在该系统保存用户登录信息,当用户在其他站点登录时,必须请求该系统接口,获取用户是否登录的信息。前一种方式的缺点是:不管用户有没有使用其他站点,那些站点都需要保存用户状态;后一种方式就把所有的压力都转移到登录系统上面来。而如果要实现用户退出的统一操作,就需要站点调用登录系统的退出接口,然后登录系统接口调用其他站点的退出接口;或者设置一个标记,如果这个标记不存在则标示用户退出,此时只要把该标示清空即可,其他站点发现该标示不存在就知道用户已经退出系统。
这种处理方式需要在登录系统和个站点之间规定登录接口,和注销接口。通过这些接口,各站点可以很方便的处理用户登录或退出。
希望本文所述对大家的PHP程序设计有所帮助。
应该认真看PHP手册里面说的很明白的
bool setcookie ( string $name [, string $value [, int $expire [, string $path [, string $domain [, bool $secure [, bool $httponly]]]]]]
用SETCOOKIE函数就可以,有个可选参数是 string $domain 这个就是作用域名,比如你要设置www.aa.com 和bbs.aa.com 同样有效就这个参数为".aa.com"记得前面有个.
PHP的域名和虚拟主机一般国外的比较多,如whmcs、awbs、cpanel也算吧。
国内的只有prima,不过这个软件价格比较高,也很久没更新了。国内的基于asp的域名主机系统比较多。
徐飞
[权威专家]

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

SpringBoot中使用Redis緩存OAuth2Authorization對像在SpringBoot應用中,使用SpringSecurityOAuth2AuthorizationServer...

IIS和PHP可以兼容,通過FastCGI實現。 1.IIS通過配置文件將.php文件請求轉發給FastCGI模塊。 2.FastCGI模塊啟動PHP進程處理請求,提高性能和穩定性。 3.實際應用中需注意配置細節、錯誤調試和性能優化。

多次調用session_start()會導致警告信息和可能的數據覆蓋。 1)PHP會發出警告,提示session已啟動。 2)可能導致session數據意外覆蓋。 3)使用session_status()檢查session狀態,避免重複調用。

Tomcat啟動Servlet時報錯排查在部署Servlet應用時,遇到Tomcat啟動失敗並報出java.lang.IllegalStateException:...

AI可以幫助優化Composer的使用,具體方法包括:1.依賴管理優化:AI分析依賴關係,建議最佳版本組合,減少衝突。 2.自動化代碼生成:AI生成符合最佳實踐的composer.json文件。 3.代碼質量提升:AI檢測潛在問題,提供優化建議,提高代碼質量。這些方法通過機器學習和自然語言處理技術實現,幫助開發者提高效率和代碼質量。
