Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Python 谷歌AppEngine验证码_Python_Google App Engine_Captcha - Fatal编程技术网

Python 谷歌AppEngine验证码

Python 谷歌AppEngine验证码,python,google-app-engine,captcha,Python,Google App Engine,Captcha,我有一个网站,我想把一个定制的验证码,不能使用在线验证码服务,因为布局的需要。它在谷歌appengine上运行。 appengine API是否具有在给定图像上写入字符的功能 我通过了,但似乎没有多大帮助 关于如何在google appengine基础设施上生成验证码的任何建议?将为您提供大量指南,帮助您将验证码服务与appengine应用程序集成。这将为您提供大量将captch服务与AppEngine应用程序集成的指南。它使用reCaptcha。而不是创建自己的impl。我建议使用可靠的服务,

我有一个网站,我想把一个定制的验证码,不能使用在线验证码服务,因为布局的需要。它在谷歌appengine上运行。 appengine API是否具有在给定图像上写入字符的功能

我通过了,但似乎没有多大帮助


关于如何在google appengine基础设施上生成验证码的任何建议?

将为您提供大量指南,帮助您将验证码服务与appengine应用程序集成。这将为您提供大量将captch服务与AppEngine应用程序集成的指南。它使用reCaptcha。

而不是创建自己的impl。我建议使用可靠的服务,如reCaptcha:
而不是创建自己的impl。我建议使用可靠的服务,如reCaptcha: 一般来说,你不能

图像API设计用于转换现有图像,而不是生成新图像

理论上,如果您找到一个纯Python图像创建库,它将在AppEngine上运行,但速度会很慢

为什么不利用外部验证码服务呢?

一般来说,你不能

图像API设计用于转换现有图像,而不是生成新图像

理论上,如果您找到一个纯Python图像创建库,它将在AppEngine上运行,但速度会很慢


为什么不利用外部验证码服务?

我建议使用第三方服务,如reCaptcha,但如果您确实需要提供自己的实现,您可以使用最近推出的用于GAE+Python的Matplotlib来生成自己的图像


Matplotlib是Python的绘图库,最近在2012年12月作为GAE的一部分引入。可以使用Matplotlib渲染文本,如中所示。如果您的验证码有美学上的限制,您可以使用Matplotlib呈现非常奇特的文本和数字。看看。

我建议使用第三方服务,如reCaptcha,但如果您确实需要提供自己的实现,您可以使用最近推出的用于GAE+Python的Matplotlib来生成自己的图像


Matplotlib是Python的绘图库,最近在2012年12月作为GAE的一部分引入。可以使用Matplotlib渲染文本,如中所示。如果您的验证码有美学上的限制,您可以使用Matplotlib呈现非常奇特的文本和数字。查看。

您可以使用以下代码创建验证码,请注意,您必须在类路径中添加commons-lang-2.5.jar

        String secutiryCode = RandomStringUtils.random(5, new char[]{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9'});
        req.getSession().setAttribute("secutiryCode", secutiryCode);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        URL url = new URL("http://util.krispot.com/util/SecurityImage.jpg?secutiryCode=" + secutiryCode);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setDoOutput(true);
        connection.setDoInput(true);
            BufferedInputStream bis = new BufferedInputStream(connection.getInputStream());
            for(int i = bis.read(); i > -1;i = bis.read()) {
                baos.write(i);
            }
        BufferedOutputStream bos = new BufferedOutputStream(resp.getOutputStream());
        bos.write(baos.toByteArray());
        bos.close();
谢谢,,
Navdeep Singh

您可以使用以下代码创建验证码,请注意,您必须在类路径中添加commons-lang-2.5.jar

        String secutiryCode = RandomStringUtils.random(5, new char[]{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9'});
        req.getSession().setAttribute("secutiryCode", secutiryCode);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        URL url = new URL("http://util.krispot.com/util/SecurityImage.jpg?secutiryCode=" + secutiryCode);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setDoOutput(true);
        connection.setDoInput(true);
            BufferedInputStream bis = new BufferedInputStream(connection.getInputStream());
            for(int i = bis.read(); i > -1;i = bis.read()) {
                baos.write(i);
            }
        BufferedOutputStream bos = new BufferedOutputStream(resp.getOutputStream());
        bos.write(baos.toByteArray());
        bos.close();
谢谢,,
Navdeep Singh

我想自己在appengine自身定制验证码中生成它,我知道recaptcha并多次使用它,但这次我必须限制图像的大小+定制颜色。所以我不能依赖任何服务,你想做什么没有好的答案。正如@Drew所指出的,您仅限于纯Python,执行创建有意义的难以解决的验证码的工作将花费大量时间,这就是AppEngine的反用例。谢谢。。我需要试试这样的python模块。。我知道这需要时间,但我的客户需要。。你知道这样的模块吗。。PHP GD库的替代品。@Idlecool,如果有一些纯Python库用于创建图像,我不会感到惊讶,但我个人没有使用过任何一个,因此我不能提出建议。然而,在结束发言时,我想建议作为客户的主题专家,您大力推动说服他们不要构建自定义验证码解决方案。这在很多层面上都是一个糟糕的想法。帮他们一个大忙,把这个要求推回去。@Adam:需要的是验证码应该有一个自定义的背景/文本+布局,它应该与我无法从recaptcha或任何其他服务获得的网站相匹配。我以前做过自定义验证码。但是在php上。现在我正在做appengine。。python Web开发也是新手。。纯python模块是否意味着模块本身应该只包含python脚本,而不包含c文件或其他文件?我想在appengine自身自定义验证码中自己生成它,我知道recaptcha并多次使用它,但这次我必须限制图像的大小+自定义颜色。所以我不能依赖任何服务,你想做什么没有好的答案。正如@Drew所指出的,您仅限于纯Python,执行创建有意义的难以解决的验证码的工作将花费大量时间,这就是AppEngine的反用例。谢谢。。我需要试试这样的python模块。。我知道这需要时间,但我的客户需要。。你知道这样的模块吗。。PHP GD库的替代品。@Idlecool,如果有一些用于创建图像的纯Python库,我不会感到惊讶,但我没有
他们中的任何一个都是个人使用的,所以我不能推荐。然而,在结束发言时,我想建议作为客户的主题专家,您大力推动说服他们不要构建自定义验证码解决方案。这在很多层面上都是一个糟糕的想法。帮他们一个大忙,把这个要求推回去。@Adam:需要的是验证码应该有一个自定义的背景/文本+布局,它应该与我无法从recaptcha或任何其他服务获得的网站相匹配。我以前做过自定义验证码。但是在php上。现在我正在做appengine。。python Web开发也是新手。。纯python模块是否意味着模块本身应该只包含python脚本,而不包含c文件或其他文件?出于美观目的,我需要它。可以依赖任何服务。您的验证码有美学限制吗?哈?@Nick:这个网站是双色的。。不能妨碍你的外表@Idlecool,这真的是实施验证码时最重要的考虑因素吗?除了安全之外?@Nick:不完全是,但实施通用验证码并不需要太多专业知识。我不是在管理谷歌或facebook来担心垃圾邮件,即使我将来面临更多的垃圾邮件,我可以很容易地用recaptcha替换它,或者我会将自己的验证码提高到标准。我需要它是为了美观。可以依赖任何服务。您的验证码有美学限制吗?哈?@Nick:这个网站是双色的。。不能妨碍你的外表@Idlecool,这真的是实施验证码时最重要的考虑因素吗?除了安全之外?@Nick:不完全是,但实施通用验证码并不需要太多专业知识。我不是在管理谷歌或facebook来担心垃圾邮件,即使我将来面临更多的垃圾邮件,我可以很容易地用recaptcha替换它,或者我会将我自己的验证码提高到标准。你知道任何提供颜色和布局选项的验证码服务吗?由于性能方面的原因,我想ReCaptcha doesnt.Python/GAE不是生成位图之类的理想语言,因此我认为很难找到一个库。也许你可以用CSS、HTML5画布或SVG之类的东西制作验证码?你知道有哪种验证码服务提供颜色和布局选项吗?由于性能方面的原因,我想ReCaptcha doesnt.Python/GAE不是生成位图之类的理想语言,因此我认为很难找到一个库。也许你可以用CSS、HTML5画布或SVG之类的东西制作验证码?