2012-01-12 1025 views
1

我希望快速回答​​一个简单的问题。如何使用ReCAPTCHA进行验证

我想在网站上使用ReCaptcha,表单目前正在提交给salesforce.com。

在ReCaptcha指令中,它告诉我verify.php应该运行,然后提交,如果它通过我想。

特别是像这样:

<?php 
    require_once('recaptchalib.php'); 
    $privatekey = "your_private_key"; 
    $resp = recaptcha_check_answer ($privatekey, 
           $_SERVER["REMOTE_ADDR"], 
           $_POST["recaptcha_challenge_field"], 
           $_POST["recaptcha_response_field"]); 

    if (!$resp->is_valid) { 
    // What happens when the CAPTCHA was entered incorrectly 
    die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." . 
     "(reCAPTCHA said: " . $resp->error . ")"); 
    } else { 
    // Your code here to handle a successful verification 
    } 
    ?> 

如果原来的形式提交类似如下:

action="https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST" 

我将如何处理这上面的PHP脚本? 任何帮助表示赞赏!

+0

这是否适用于您? http://wiki.developerforce.com/page/Adding_CAPTCHA_to_Force.com_Sites – j08691 2012-01-12 20:42:24

回答

2

简答:你不能。

长答案:该行为不受您的控制,由salesforce控制。您也许可以将操作作为您的验证脚本,然后发布给用户的变量,但这很可能会在salesforce上搞砸他们的会话。没有任何实际的解决方法。 (我的意思是,你可以尝试反向工程/重建会话的用户,但它会很可能是大量的工作来得到它的权利,然后他们会改变一些事情,导致其破裂)

您最好的选择应该有一个使用ReCaptcha的单独登录,然后将您的原始表单放在登录页面后面。

+0

感谢您的答案,即使它完全不是我想听到的。有没有其他ReCaptcha类型的工具可以与Salesforce一起工作? 与此同时,我会看到是否绝对有必要留在销售人员身边...... – Stefan 2012-01-12 21:11:50

0

看到这个线程: Recaptcha with Salesforce Web-To-Lead

设置网络引领的形式张贴到一个验证码联系表格确认页。

<form action="/contactFormConfirm.php" method="POST" > 

然后配置确认页面以验证Captcha。如果经过验证,则将您网络中的所有字段映射到潜在客户表单,并设置为发布到Salesforce.com。

在线程中,他们共享了Captcha联系表单确认页面的示例。