2010-01-06 125 views
0

我正在研究一個有論壇區域的網站,我可能會使用SMF論壇軟件進行論壇。用戶可以在網站上註冊並登錄。我想在網站上註冊時,他們也會在論壇上註冊(他們不必註冊兩次)。而且當他們登錄到也會將他們登錄到論壇的網站時,他們不必登錄兩次。註冊並使用CURL登錄到SMF

我認爲這應該是可能的捲曲,但我需要看到一些示例代碼,所以我可以弄明白。主要的問題是,在註冊頁面有一個驗證碼,所以我不知道如何克服。

回答

1

在SMF論壇上有一篇文章解釋瞭如何使用cURL發佈主題。 http://www.simplemachines.org/community/index.php?topic=53433.0

您可以用同樣的方法進行登記,只是用不同的形式變量

附錄:

的主要問題是, 註冊頁面上有一個驗證碼 所以我不不知道如何克服這一點。

我認爲重點是你不應該繞過驗證碼。

2

這個基本步驟很簡單。

一,註冊。當主站點上註冊,只需添加一個數據庫進入論壇的數據庫使用正確的用戶信息:

INSERT INTO TABLE (`Field1`, `Field2`) VALUES(`Value1`, `Value2`) 

接下來的部分是有點棘手。

如果您覺得編輯論壇的來源很舒服,您只需找到他們檢查登錄cookie的位置,並添加一個檢查您的cookie以及。 (鑑於他們是在同一個域。)

if(checkSiteCookie() == true) { // ... do stuff ... 

變成

if(checkSiteCookie() == true || checkCompanyCookie() == true)) { // .. do stuff.. 

如果網站和論壇都在同一個域,你可以使用論壇的Cookie功能設置Cookie中你的腳本。

setMyCookie(); 
setForumCookie(); 

如果你不能,你總是可以嘗試使用AJAX先提交自己的登錄表單登錄頁面,那麼論壇。在他們完成之後,將它們重定向到適當的頁面。

// Get your Site Cookies and Log In 
$.post("mylogin.php", form, function(data){ 

    // Get the Forum's Cookies 
    $.post("forumlogin.php", form, function(data){ 

     // Reload the Page 
     window.location.reload(true); 
    } 
}); 
+1

完全是我的想法,它可能比使用cURL更有效。儘管如果站點共享相同的用戶羣,那麼使您的站點使用SMF的用戶數據庫表比創建兩個用戶羣成爲可能。請記住,您需要知道他們使用什麼來加密密碼,因此您需要查看SMF的登錄功能。 – allenskd 2010-01-06 17:21:49