2012-01-21 117 views
2

我按照說明如何將Recaptcha添加到我的網站(asp.net 4.0,Visual Studio/VB。當我在本地運行頁面時,這只是一個簡單的聯繫表單頁面,發送電子郵件,recaptcha的東西顯示正常。我不是程序員,雖然。Recaptcha在本地工作,但沒有在生產

當我將其移動到生產 - 我將網站(以及dll和pdb移動到app_code文件夾和bin文件夾,Visual Studio自己創建的),頁面不會刷新,也不會發送電子郵件 - 如果您在recaptcha文本框中輸入正確或錯誤的內容,則無關緊要。如果沒有recaptcha代碼,聯繫人.aspx頁面正常工作並立即發送郵件。

但recaptcha盒子在那裏。我已經閱讀了關於處理程序映射在IIS和我的web.config中的一些事情,但我不夠聰明,無法理解我是否需要做任何事情,以及該怎麼做。我在這裏也有IIS 7.0。

更新: 當您在文本框中正確輸入了recaptcha信息時,頁面會顯示我編碼的確認信息,併發送一封電子郵件。如果您沒有正確輸入recaptcha信息,而不是發送「請再試一次」的消息,它只是刷新頁面,並使他們重新開始。它沒有說「請再試一次」,也不會讓客戶知道他們錯誤鍵入了代碼

+0

你得到了什麼錯誤? – leppie

+0

好吧,我應該編輯我的問題......我不清楚。 recaptcha顯示,但電子郵件表單不像沒有recaptcha那樣工作。無論您是否正確填寫了recaptcha文本框,都無關緊要 - 它只是重新加載聯繫頁面並且不會發送電子郵件。通常情況下,它會發送電子郵件並保留在contact.aspx上並說「您的消息已發送」 - 現在,它只刷新聯繫頁面並不發送任何內容。 –

+0

你確定它重新驗證碼是這個問題嗎?當頁面上的重新驗證碼不存在時,您是否能夠在生產中發送電子郵件? –

回答

4

您是否將reCAPTCHA ASP.NET control與Recaptcha.dll一起使用?

您需要註冊具有域名的服務。您收到的公鑰和私鑰將與此域進行覈對:

reCAPTCHA只能在此域和子域上使用。

注意到它的管理頁面截圖如下:

reCAPTCHA admin screen with keys

但這條規則不會對本地主機域名,這是與Visual Studio開發時你使用什麼應用。因此,您可能並未使用註冊域名時收到的密鑰。當您選擇從設計視圖到代碼視圖在Visual Studio中的控制和開關的控制代碼應該是這樣的,用鑰匙:

<recaptcha:RecaptchaControl ID="recaptcha" runat="server" 
    PublicKey="6Lexn8wSAAAAAIfH1c3-6K3FbSjcKdMj3uiMImI7" 
    PrivateKey="6Lexn8wSAAAAAKRFTJXTudJN1owrIQMDahwYv0hg" /> 

如果沒有,你必須輸入你的鑰匙。這只是一個例子,不要使用這些密鑰,請使用您自己的帳戶中顯示的密鑰爲自己的域名。

+0

+1鍵不匹配可能是這種情況。 –

+0

我應該更新這個。感謝您回覆Michiel和Wiktor。我輸入了我的密鑰,甚至去google.com/recaptcha做了新的測試。這裏是我現在的問題:當我輸入recaptcha正確的時候,確認信息出現,我收到電子郵件。當我不輸入正確的信息時,它不會給我「請再試一次」的信息,它只會刷新頁面,而不會給客戶一條消息。有什麼建議麼?謝謝你的時間! –

+0

我在我的contactengineering.aspx頁面上面有這個:<%@ Register TagPrefix =「recaptcha」Namespace =「Recaptcha」Assembly =「Recaptcha」%>

相關問題