2009-02-18 68 views
4

那麼,在我的空閒時間,我正在製作這個小網站。該網站不需要驗證,只有一些行動(如發表評論)需要這樣做。選擇哪種認證機制?

我希望每天有多達100位(可能更少)的獨立訪問者。我真的不希望超過50%(麻煩)註冊。

現在,我正在考慮三種可能的身份驗證機制(但我願意接受建議):

  • OpenID身份驗證;
  • HTTP摘要或至少HTTP基本身份驗證;
  • 我自己的(基於表單的)身份驗證。

對於像這樣的小型網站來說,OpenID在我看來有點過於矯枉過正。另外,在我的網站的登錄頁面上,像「OpenID」這樣的流行語可能會嚇跑那些技術不太熟悉的人。

HTTP摘要(或基本)身份驗證提供較低的安全級別(或根本沒有),因爲該站點不會處於HTTPS之下。

我自己的實現很可能會遇到與HTTP摘要相同的安全問題。雖然,我可以實施更多的防範暴力攻擊(三次失敗後顯示驗證碼等)。

你會建議什麼其他機制?我沒有看到什麼優點和缺點?你會選擇什麼?

回答

0

這取決於在誰是你的目標受衆是一部分。如果他們都是電腦愛好者,可以使用OpenID。他們或者熟悉它,或者會理解你在做什麼。如果他們不一定是電腦愛好者,他們可能還沒有接觸過OpenID身份驗證,所以OpenID可能會成爲進入的障礙。在這種情況下,您可能希望採用更傳統的路線,例如註冊/驗證電子郵件/登錄方法,無論是自己還是現成的。

0

你可以發佈一些RSA SecurID對您的訪問者;-)

嚴重的,要問的主要問題是:不工作的總時間來實現一個體面的安全系統爲我的用戶登錄是值得的如果網站安全被破壞可能被訪問的內容?

+0

那麼,我不關心人們闖入網站,看到我的一些私人東西。我擔心,一些註冊用戶可能會使用相同的密碼來處理重要的事情(如電子郵件或其他)。 – Paulius 2009-02-18 12:52:11

0

你應該看看RPX(https://rpxnow.com/),它是OpenID之上的一個圖層,還有其他一些對於大多數語言都很容易實現的方案(這裏有一個ruby的寶石,我知道我的一個朋友知道它進入他的PHP應用程序不到幾個小時)。

+0

如果你沒有雅虎帳戶,你會怎麼做?或與他們互動的其他五個提供商? – alphadogg 2009-02-18 12:59:50

+0

他們通過openid,所以除了openid外,你還可以將其他五個提供商從包裏拿出來,再加上它很容易啓動和運行。 – 2009-02-18 15:01:43

4

那麼,如果你想讓你的訪客留下評論,我真的認爲你更喜歡OpenID。因爲如果您提供自己的基於表單的身份驗證,他們真的會打擾另一個賬戶註冊一些密碼,想知道他們是否可以信任您?

我認爲可以肯定地說喜歡互聯網的人擁有一個Gmail賬戶,並且所有這些人都擁有一個OpenID(谷歌賬戶)。

我建議你使用那個...這就是我會做的。

+0

是的,這是我應該問的另一個問題......有多少非程序員真的知道或至少聽說過OpenID。我不想從我的網站嚇走那些技術精通的人...... – Paulius 2009-02-18 12:53:40

+0

即使您知道OpenID,您的典型訪問者中有多少人擁有一個帳戶,您可以在其中與OpenID機制​​進行交互? OpenID是一種通過自己的身份驗證進行分層的「肉汁」服務。 – alphadogg 2009-02-18 13:03:45

1

你還沒有說你正在使用什麼語言/技術。它可能會影響事物。但我傾向於推出自己的基於表單的身份驗證。這不是非常困難。請記住一些基本知識:

  • 始終清理用戶輸入。它不可信;
  • 永遠不要在cookie中存儲用戶名或密碼(相信我這麼做);
  • 只能使用可靠的加密方法(如MD5或SHA1)存儲加密的密碼;
  • 使用不可預測的鹽;
  • 要求啓用cookies。不要嘗試做URL重寫。
1

爲什麼不只是在發表評論時只有一個名稱字段,如果你想要的話,也許記住它在一個cookie中。大多數用戶只是想識別自己沒有賬戶。

只要確保您有一些垃圾郵件阻塞,因爲表單會吸引垃圾郵件機器人。即使這只是每次形式的帽子。

1

Openid是我認爲最好的。此外,如果你給開放式編號的幫助者(或者像SOF節目),那麼人們會理解。一旦技術精明的人理解使用opend id(沒有新的用戶名和密碼),他們會開始喜歡它。

1

肯定與OpenID一起使用 - 我們登上的人越多,熟悉的人就會越熟悉,而且第一次使用並不奇怪。如果你是微軟的開發者,dotNetOpenID庫使得實現非常簡單 - 我已經爲ASP.NET和ASP.NET MVC站點完成了這個任務,沒有任何問題。

編輯:

關於在登錄頁面上支持非精通技術的用戶,一些鏈接/解釋會很長的路要走,以減輕憂慮。他們將看到的重定向與他們更熟悉的體驗非常相似,例如信用卡或PayPal授權,因此這些條款應該很容易解釋。

0

OpenID規則!作爲知情用戶,我不確定是否已經考慮到了安全問題的「防彈」問題,因此我可能不會將其用於金融/醫療網站,但對於95%的其他網站,它可以節省我不必寫下我有137個不同的用戶名和密碼的備忘單。我已經在我開發的一個(非公共)網站中使用了它,並且讓身份驗證正常工作有點麻煩,但是如果您可以使用其中一個庫,那就去吧!

HTTP身份驗證是標準化的,但有關它的一些事情擾亂了我。我不知道。關於彈出瀏覽器的單獨對話框的某些內容會讓我感到懷疑。

p.s. BBC的Digital Planet昨天(2009年2月17日)播出了一個radio program我的當地電臺,談論OpenID。所以我想當廣播談到它時,它一定會開始成爲主流。

0

我的建議:不要重蹈覆轍。如果我看過一個,Web認證就是一個輪子,而且正確處理所有微妙的陷阱非常困難。有機會你會錯過一些事情,並最終沒有安全。

要麼使用OpenID解決方案,要麼查看那裏的許多auth庫,並選擇經過徹底測試的。

參見:The Definitive Guide To Website Authentication