下面只是簡單的邏輯結構,對於正式的系統需要做具體的處理。
這裡需要注意的是:加解密一定需要做安全驗證。但是這個方法也不夠完美,兩個站點必須有相同一級域名;另外這種完全基於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)(www.111cn.net);
..........///登錄成功
}
}
用戶沒有登錄,則在本系統中登錄並調用登錄服務器接口
function loging() //本系統登錄
{
.....//登錄成功
callseverlogin();//通知用戶登錄
}
所有的站點共享一個登錄系統;當用戶在其中的一個站點登錄成功時, 該系統調用其他站點的登錄接口,完成用戶在其他站點的登錄,同時設置相應的登錄信息;或者在用戶登錄時,只在該系統保存用戶登錄信息,當用戶在其他站點登錄時,必須請求該系統接口,獲取用戶是否登錄的信息。前一種方式的缺點是:不管用戶有沒有使用其他站點,那些站點都需要保存用戶狀態;後一種方式就把所有的壓力都轉移到登錄系統上面來。而如果要實現用戶退出的統一操作,就需要站點調用登錄系統的退出接口,然後登錄系統接口調用其他站點的退出接口;或者設置一個標記,如果這個標記不存在則標示用戶退出,此時只要把該標示清空即可,其他站點發現該標示不存在就知道用戶已經退出系統。
這種處理方式需要在登錄系統和個站點之間規定登錄接口,和注銷接口。通過這些接口,個站點可以很方便的處理用戶登錄或退出:
from:http://www.111cn.net/phper/php-gj/37194.htm
你好
1.你裝APACHE的時候不知道用了什麼端口,要和IIS用不同的端口,以免沖突,另外IP也不能一樣,這樣才能同時運行,你的ASP站點和PHP站點也能同時運行。也就是說需要用不同的IP訪問
2.其實PHP+APACHE適合在LINUX系統上,才能發揮優勢,在WINDOWS上其性能是不如IIS的,因為你需要同時運行ASP和PHP,建議你放棄APACHE,將IIS配置支持PHP即可。優點,只有一個WEB服務器,可以用同一IP訪問多個網站,只需要把ASP,PHP等放在不同目錄即可。
3.如果你注冊的域名支持泛解析,你可以設置二級域名指向,可是現在多數域名商關閉了個人注冊的泛域名和域名轉向功能,公司注冊的可以。
4.肯定影響網站裡的絕對鏈接,建議網站內部的鏈接,除了必須的全換成相對路徑鏈接,就不受域名變化影響了。
5.APACHE是不支持ASP的,必須要安裝一些插件才行,所以你直接把ASP網站放到PHP文件下是不行的,同樣JSP的運行環境和PHP是不同的,把JSP文件放到PHP下是不能運行的
建議:
1.由於APACHE只支持PHP,而且配置比IIS麻煩,建議你放棄
2.將IIS配置,使其支持PHP,JSP
這樣你說的問題就會都得到解決了。(除了域名那個)
具體配置方法網上有很多教程,你可以參考,現在知道發不上網址。
應該認真看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"記得前面有個.