2011-07-10 35 views
0

今天之後我遇到了以下問題:用戶電子郵件激活的Joomla用戶個人資料的電子郵件變化

  1. 我註冊了一個新的用戶在我的Joobla 1.6網站
  2. 激活帳戶通過鏈接從激活電子郵件
  3. 作爲新用戶登錄後,我已經將我的電子郵件更改爲組成一個([email protected]
  4. Joomla的反應是:'沒問題,電子郵件似乎很好,讓它保存'

Joomla檢查的唯一兩件事是電子郵件是否正確書寫以及它是否被不同用戶使用。

爲什麼Joomla不是將相同的激活電子郵件打印到新電子郵件中,以便在用戶個人資料中更改該電子郵件?有什麼我應該知道的嗎?

這看起來好像該配置文件編輯組件中缺少非常重要的功能。

如何在不編輯核心文件的情況下使其工作?

編輯: 我所著這種種這一點的一個插件:http://extensions.joomla.org/extensions/access-a-security/site-security/site-protection/18139

+0

嘗試覆蓋不斷變化的電子郵件功能,以使其無法確認用戶,因此用戶需要驗證電子郵件。 – apscience

+0

這是一個核心黑客。我很害怕我不能接受這個。另外它還需要另一個激活令牌的新表。 – WooDzu

回答

2

那麼如果你想辦法來排序了這一點那就試試這個:

編寫使用onBeforeStoreUser事件自己的認證插件。在這裏,您可以檢查用戶電子郵件是否在更改電子郵件地址時進行正確驗證

如果您想停用用戶的帳戶,然後向他們發送一封帶有鏈接的新激活電子郵件。查看com_users代碼,瞭解如何根據新用戶註冊和發送激活電子郵件來處理註冊。你幾乎可以從那裏複製代碼。

你的示例代碼插件:

onBeforeStoreUser($user, $isnew) { 
    if (!$isnew) { 
    // grab code from com_users to generate activation email 
    // part of the code makes an activation sequence 
    // sql to inject this seq into the users account 
    $db = JFactory::getDBO(); 
    $db->setQuery(' 
     UPDATE #__users 
     SET activation = '.$db->quote($activation_code)).' 
     WHERE id='.$user->id.' 
    ); 
    $db->query(); 
    // send activation email 
    } 
} 
+0

謝謝馬丁,我會嘗試一下。那麼,停用用戶帳戶似乎不是一個好方法,儘管它可能是插件的參數之一。順便說一下,如果我編寫插件,我會在互聯網上發佈它。 – WooDzu

+0

確實,停用用戶並不好,但如何確保用戶驗證他們的新電子郵件地址呢?我看到Joomla之前沒有提供激活電子郵件的問題,所以這是您可能需要注意的問題。 – Martin

+0

我正在考慮在用戶激活新電子郵件時留下舊電子郵件。暫時地,激活令牌和新電子郵件都將存儲在jos_users-> activation列中,因爲我不想爲此創建新表。 – WooDzu

-1

激活郵件就是這樣 - 激活方法。這旨在滿足像美國這樣的國家/地區的用戶信息收集法律,在這些法律有必要讓用戶在註冊時確認他們擁有「此」電子郵件地址。這確保他們自己是他們簽署的那些人。這是激活電子郵件的目的。

+1

我不同意。確保用戶輸入的電子郵件實際上是該用戶擁有的有效電子郵件,這一點非常重要。如果不發送電子郵件來檢查何時更改配置文件中的電子郵件,則可以假裝爲其他人。 – apscience

+1

@gladoscc。你是對的,這不僅是爲了滿足法律。 – WooDzu

+0

這些都適用於您網站上用戶的情況。例如,爲了確保他們的電子郵件是正確的,例如用戶的最大興趣,他們在gumtree上發佈了一些東西,然後讓「笨蛋」放錯地址。另一方面,如果您是PayPal,那麼對於安全措施,您需要在此範圍內進行電子郵件驗證。我上面的答案適用於Joomla,它使管理員能夠遵守有關電子郵件激活的法律。在任何情況下看到我的其他答案:) – Martin

1

也許這將是照顧新的人之前也驗證舊的郵件帳戶一件好事。

說明:

我得到一個用戶名和密碼,我登錄,我從真正所有者更改郵件給我的,我偷了帳戶,現在可以用我的郵件激活它。

如果我們驗證舊郵件和新郵件,我們確保新郵件有效,並且原始所有者請求更改。

+0

嗨Wailer。我沒有想過這個,但我真的很喜歡這個想法。謝謝 – WooDzu

相關問題