2012-08-13 112 views
0

我有兩個網站我想通過主站點上的一個登錄頁面連接。發送用戶名和密碼到另一個站點

您登錄在example1.com和我想選擇設置「自動連接到example2.net」我輸入用戶名和密碼,並提交這example2.net這樣的用戶名和密碼會通過

我該怎麼做?

下一頁每當我登錄到example1.com並單擊訪問example2.net我只是想通過這樣的自動登錄發送一個用戶名和API密鑰。

我會怎麼做呢?

+0

將用戶名和密碼存儲在會話變量中,或者您可以將它們存儲在cookie中併發送。 – ewein 2012-08-13 13:20:41

+0

感謝您的回覆。你會說哪個是最安全的?還有什麼樣的命令我會用它來實際發送它在網站上? – 2012-08-13 13:23:07

+0

使用CURL將登錄詳細信息發佈到example2.net。閱讀php文檔以獲取更多信息。如果你遇到困難,請展示一些代碼,我們會解決這個問題 – 2012-08-13 13:23:58

回答

2

這裏有一個快速算法來site1.com

  1. 用戶登錄並激活單點登錄(也許一個複選框)。
  2. site1.com將爲該選項創建數據庫條目。
  3. 用戶訪問site2.com並且如果尚未登錄,則他將被重定向到例如site1.com/cross-authenticate.php
  4. site1.com將有權訪問cookie /會話。
  5. 如果用戶激活了單點登錄選項,site1.com將生成一個令牌(可能是base64一個非常大且安全生成的號碼)並將其存儲在數據庫中。例如,
  6. site1.com將把用戶重定向到site2.com/cross-authenticate.php?key=fnapsoufhapoer8hwf9ehrgdosughpa9dhg9aer8gyesrg
  7. site2.com將檢查該密鑰的數據庫,驗證用戶然後開始有效的會話。
+0

謝謝@Adnan。簡單而且非常容易理解。 – 2012-08-13 14:06:12

0

$_SESSION等保存在數據庫中。然後檢查從一個站點到另一個站點的連接選項是否爲SET。如果是這樣,當用戶使用其他網站時,查詢數據庫(針對用戶名或什麼)。如果條目存在,則根據數據庫值創建會話cookie &,否則將用戶重新路由回登錄頁面。

+0

壞主意。非常糟糕的主意!你打算如何驗證第二個網站上的用戶?通過用戶名? – Adi 2012-08-13 13:29:23

+0

@Adnan我不知道他的網站是如何構建的。顯然,它不僅僅是通過'用戶名'(這只是我能想到的最簡單的例子) – mlishn 2012-08-13 13:32:28

+1

我通過用戶名和API密鑰進行身份驗證。 – 2012-08-13 13:34:30

相關問題