在Flash中实现验证码

时间:2010-02-21 22:45:07

标签: actionscript-3 captcha

我正在开发一个flash注册表单,我需要合并动态'验证码'图像进行确认。 任何人都可以推荐这样做的最佳解决方案吗?

6 个答案:

答案 0 :(得分:5)

Captcha用于防止机器人提交html表单,这很容易实现,因为html易于理解和编程处理。对于Flash应用程序,情况并非如此。如果没有专门针对您的网站制作Flash,那么机器人通常很难提交Flash表单。

因此,您无需担心验证码在使用Flash应用程序时解决的垃圾邮件问题。

答案 1 :(得分:2)

制作强大的验证码并非易事。对于机器人来说,它必须足够难以失败,但对于人类来说也很容易成功......我会看看现有系统并可能使用它们。 reCAPTCHA很受欢迎http://recaptcha.net/。也许可以通过flash使用它,但我还没有调查过它。

答案 2 :(得分:0)

机会是,机器人不会为您的网站编写。如果有需要,一个简单的“为我添加这两个数字,k?”会很简单。

老实说,我怀疑有人会在你的网站上写下几百封信件来签名= /

你应该更担心有人在你的服务器上反汇编[或任何闪存术语]并简单地向你的服务器发送“注册”消息= /

是的,通过这个,我试图暗示Captcha必须应用于服务器端,或者,实际上,它并不难以解决。

答案 3 :(得分:0)

它与HTML表单中的验证码没有什么不同,真的。

假设您在服务器上使用php,并且您有一个captcha.php scritp,它会生成验证码图像并将其值保存在会话中。在HTML表单中,您将使用一个元素并将其src设置为captcha.php。用户将使用他们在图像中看到的文本填充字段。在收到帖子的脚本中,您将检查用户输入是否与会话值匹配。

以闪光形式,它完全相同。您加载调用captcha.php的图像并要求用户键入额外字段。然后,当您将数据发布到服务器时,您将在验证码字段中传递用户键入的值,并且当您调用captcha.php时,服务器将其与会话中存储的值进行匹配。

因此,基本上,它与HTML表单中的相同。

答案 4 :(得分:0)

我们非常需要将CAPTCHA实现为flash动画/表单。

最重要的一点是FF或IE(不记得哪一个)不会通过Web服务调用发回任何cookie。因此,如果您将表单提交到.Net Web服务,则不能使用http请求的会话状态来存储验证码文本,然后将用户输入的subchation上的验证码值与Web服务进行比较(启用会话的Web方法) )

我们实施了以下内容:

  • 在网页上设置唯一标记值(Guid)
  • 将此令牌作为flashvar传递给flash电影
  • 将验证码图像加载到flash中,并将令牌作为url参数。即captchaImg.aspx?t = xxxxxxx
  • 在该请求期间将随机验证码文本保存在带有令牌
  • 的表中
  • 当用户提交表单时,将令牌和用户输入的验证码值与表格中的值进行比较

这种方法对我们非常有效。

这也是网络农场的安全。

答案 5 :(得分:0)

public class Captcha extends Sprite{

   private var question:String = "How do you feel?";        
   private var _answer:String;
   private var isRobot:Boolean;

   public function Captcha(answer:String){
            _answer = answer;
        }
   public function checkAnswer():Boolean
       if(answer != "sad"){
          isRobot = true;
          return isRobot;
       }else{
          isRobot = false;
          return isRobot;
       }
    }
}