Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在Flash中实现captcha_Actionscript 3_Captcha - Fatal编程技术网

Actionscript 3 在Flash中实现captcha

Actionscript 3 在Flash中实现captcha,actionscript-3,captcha,Actionscript 3,Captcha,我正在开发一个flash注册表,我需要加入动态的“验证码”图像进行确认。 有人能推荐一个最好的解决方案吗?制作一个强大的验证码并不是一件小事。机器人失败一定很难,但人类成功却很容易。。。我会看看现有的系统,并可能使用它们。雷帕查很受欢迎。也许可以通过flash使用它,但我还没有研究过它。验证码用于防止机器人提交html表单,这很容易实现,因为html很容易理解并通过编程处理。对于Flash应用程序,情况并非如此。如果不是专门针对您的站点而设计的,那么机器人一般很难提交Flash表单 因此,在使用

我正在开发一个flash注册表,我需要加入动态的“验证码”图像进行确认。
有人能推荐一个最好的解决方案吗?

制作一个强大的验证码并不是一件小事。机器人失败一定很难,但人类成功却很容易。。。我会看看现有的系统,并可能使用它们。雷帕查很受欢迎。也许可以通过flash使用它,但我还没有研究过它。

验证码用于防止机器人提交html表单,这很容易实现,因为html很容易理解并通过编程处理。对于Flash应用程序,情况并非如此。如果不是专门针对您的站点而设计的,那么机器人一般很难提交Flash表单


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

很可能,不会为您的网站编写机器人程序。如果有必要,一个简单的“为我加上这两个数字,k?”就足够简单了

老实说,我怀疑有人会写信承认在你的网站上注册几百次

您应该更担心有人将您的.swf文件(或flash术语中的任何内容)反汇编,并将“register”消息发送到您的服务器=/


是的,通过这一点,我试图暗示验证码必须应用于服务器端,或者,真的,这并不难理解。

它与HTML表单中的验证码没有太大区别,真的

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

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


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

我们非常需要在flash动画/表单中实现CAPTCHA

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

我们实施了以下措施:

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


网络农场也是安全的。

机器人是否定期下载Flash并填写表格?听起来像一个复杂的机器人。然而,我并不怀疑它们的存在。但如果他们这样做了,JavaScript模糊处理在普通网站中有多安全?我想有人可以填写你的表格,然后复制帖子的值,然后按照他们的意愿重新提交。如果你后来发现这是一个问题,很容易返回并添加。
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;
       }
    }
}