精华内容
下载资源
问答
  • Linux下web服务验证码不显示的问题

    千次阅读 2016-06-29 17:42:27
    Web应用部署到Linux的时候,用java实现的登录验证码无法显示,先记录一下解决办法: 添加jvm启动参数:-Djava.awt.headless=true 1.在weblogic10.3.6下添加的两种方式 1.1 在setDomainEnv.sh文件中67行(其实放在...

    Web应用部署到Linux的时候,用java实现的登录验证码无法显示,先记录一下解决办法:

    添加jvm启动参数:-Djava.awt.headless=true

    1.在weblogic10.3.6下添加的方式

    <WebLogicInstallDirectory>/user_projects/domains/<DomainName>/bin/setDomainEnv.sh文件中67行(其实放在哪一行自定,我是放在67行的)添加以下代码

     

    JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.awt.headless=true"
    export JAVA_OPTIONS

     

     

     

    展开全文
  • JAVA Web应用验证码显示无效问题

    千次阅读 2018-11-29 16:24:24
    但是在linux操作系统环境下部署的服务时常遇到验证码无法显示的问题。 这类JAVA应用通常采用AWT绘图生成验证码,调用java.awt.*包。AWT会调用操作系统本地窗口资源绘图,linux如果没有进到X Windows,AWT就无法绘图...

    大量的JAVA Web应用采用打包成war包,在tomcat容器运行的部署方式。登录界面常常采用验证码校验方式过滤机器登录攻击。但是在linux操作系统环境下部署的服务时常遇到验证码无法显示的问题。

    这类JAVA应用通常采用AWT绘图生成验证码,调用java.awt.*包。AWT会调用操作系统本地窗口资源绘图,linux如果没有进到X Windows,AWT就无法绘图,并在后台报错(报错信息通常类似于java.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.)。Windows系统对此就支持得很好。

    java.awt.Color;
    java.awt.Font;
    java.awt.Graphics2D;
    java.awt.image.BufferedImage;

    等程序用到的包都无法正常使用。后台报错信息如下:

    java.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.
    	at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
    	at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
    	at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:264)
    	at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
    	at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
    	at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1181)
    	at com.iflytek.audit.common.util.CaptchaUtil.createCaptcha(CaptchaUtil.java:105)
    	at com.iflytek.audit.controller.Login.captcha(Login.java:134)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
         ……………………………………………………..
    java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:264)
    	at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
    	at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
    	at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1181)
    	at com.iflytek.audit.common.util.CaptchaUtil.createCaptcha(CaptchaUtil.java:105)
    	at com.iflytek.audit.controller.Login.captcha(Login.java:134)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)

          解决方法主要有以下几种(tomcat官方推荐第四种方式)。

    1、修改JVM参数,增加

          JAVA_OPTS=”-Djava.awt.headless=true”

    2、修改tomcat的catalina.sh脚本,在脚本文件内加入:

          CATALINA_OPTS=”$CATALINA_OPTS -Djava.awt.headless=true”

    3、修改tomcat启动脚本startup.sh,在脚本文件内加入:

          export CATALINA_OPTS=”-Djava.awt.headless=true”

    4、CATALINA_BASE/bin目录下创建setenv.sh脚本,在脚本文件内加入:

         CATALINA_OPTS=”-Djava.awt.headless=true”

     

    注:

    启动tomcat容器执行startup.sh脚本,脚本会执行语句

    EXECUTABLE=catalina.sh,

    从而执行catalina.sh脚本,catalina.sh脚本推荐将用户自定义的环境变量设置于setenv.sh脚本中

    # Environment Variable Prerequisites

    #   Do not set the variables in this script. Instead put them into a script

    #   setenv.sh in CATALINA_BASE/bin to keep your customizations separate.

     

    展开全文
  • 给项目加上验证码后,部署到服务器上,验证码上的数字居然显示不出来。 百度呗,很快就找到了大神的方法:原来是服务器上没有验证码数字需要的字体。导致了验证码数字没有显示出来。 【1】需要的字体,Times New ...

    给项目加上验证码后,部署到服务器上,验证码上的数字居然显示不出来。

    百度呗,很快就找到了大神的方法:原来是服务器上没有验证码数字需要的字体。导致了验证码数字没有显示出来。

    【1】需要的字体,Times New Roman

    去本地计算机C:\Windows\Fonts找

    【2】在服务上新建目录,存放字体

    我是新建了一个目录,存放自己需要的字体。切换到该目录下:fc-cache (重新载入字体配置,清除字体缓存)。

    然后重启tomcat即可。然后就这样搞定啦。。好了,洗澡。玩手机啦:)

    展开全文
  • 解决验证码不显示问题

    万次阅读 2017-05-13 12:09:48
    不过很多时候会出现验证码不显示的问题,下面就我做自己以前遇到过的一些小问题来简单写一下。 1.最基本的一个,查看配置中GD库有没有打开。(PHP中可以使用phpinfo();直接查看各项信息),如果找到该项...

    几乎所有登陆都会使用到的一个东西---验证码。

    不过很多时候会出现验证码不显示的问题,下面就我做自己以前遇到过的一些小问题来简单写一下。



    1.最基本的一个,查看配置中GD库有没有打开。(PHP中可以使用phpinfo();直接查看各项信息),如果找不到该项信息表示没有打开,需要在php.ini中进行打开。





    记得修改完配置信息一定要进行重启操作。



    2.查看BOM头问题,必须为UTF-8无BOM格式文件。这个可以使用编辑器直接设置。在Win下使用记事本保存的东西切记格式不对,如果验证码突然不显示了可以想下是否使用记事本打开过相关文件直接保存了。关于去除BOM问题,在另一篇文章写过。去除BOM头问题


    3.这个原因可有可无(查看trace模式是否为开启状态,需关闭->这是TP框架中)。


    4.当项目在虚拟主机上的时候要机型缓冲区数据存储配置。以及TP中在生成验证码的地方加上 ob_clean();清除BOM头 或者 ob_end_clean() linux上也要注意缓存目录的权限问题


    BOM:

    BOM(Byte Order Mark)就是字节序标记。在UCS(Unicode Character Set编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE(零宽度无断空白)"的字符,它的编码是FEFF。而FFFEUCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被称作BOMUTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。Windows就是使用BOM来标记文本文件的编码方式的。当以UTF-16UTF-32来将UCS所组成的字串编码时,这个字符被用来标示其字节序。它常被用来当做标示文件是以UTF-8UTF-16UTF-32编码的记号。
    ///
    发送header前不能有任何的输出!
    我是用UltraEdit来编辑PHP的,在UltraEdit新建的文件,如果文件中有中文字符,保存时会在文件中写入BOM信息。一般情况下,这样并不会出什么问题,但PHP4,5都是不支持BOM的。
    在使用header()setcookie()session_start()这三个函数时都要求在使用前不能对浏览器有任何输出。由于受COOKIE送出机制的限制,在有BOM的文件中,COOKIE无法送出,因为在COOKIE送出前PHP已经送出了文件头。
    如果在处理PHP文件后出现以下问题,多半是因为这个原因: 
            * 验证码图片不显示;
            * 页面显示一个“锘”字,其他一片空白;
            * 不能登入或登出;
            * 页顶出现一行空白;
            * 页顶出现错误警告

    展开全文
  • java web验证码实现

    千次阅读 2016-01-08 01:49:53
    验证码实现 网上大都是通过servlet实现的验证码,入下图逻辑: 步骤: 1、请求登录页面时随机生成验证码字符串; 2、将生成对验证码字符串存到session中; 3、根据验证码字符串生成验证码图片,然后将验证码图片...
  • Web验证码实现机制

    千次阅读 2015-04-13 09:43:09
    Web程序中,验证码是经常使用的...验证码的产生思路很简单,在Servlet中随机产生验证码字符序列,并计入session中,JSP中以图片的形式进行显示。当用户在JSP表单中输入验证码并提交时,在相应的Servlet中验证是否与s
  • java_web 验证码实现

    2018-03-14 16:32:55
    验证码的作用 验证码的出现可以防止恶意用户利用机器人程序强行注册、登录。...除人眼识别外,客户端无法通过其他方式获取验证码信息,这也是验证码使用图片使用文本显示的原因。 工作流程 服务器生成随机...
  • 验证码无法显示(之@WebServlet)

    千次阅读 2016-08-11 11:55:52
    用tomcat6发布项目,验证码不显示, 但是用tomcat7发布这个项目,验证码就会显示. 于是打开源码,发现生成验证码的java类是这样的: @WebServlet(name="verificationCode", urlPatterns={"/image.jpg"}) /* */ ...
  • phpcms 验证码不显示

    千次阅读 2018-08-01 05:51:12
    />”javascript:document.getElementById(‘code_img’).src=' echoSITE_PROTOCOL.SITE_URL.WEB_PATH;?>api.php?op=checkcode&m=admin&c=index&a=checkcode&time=’+Math.random();void(0);”>   L(‘click_...
  • java web项目部署到CentOS后,导致验证码不能正常显示,找了很多方法翻了很多资料,最终得以解决。
  • linux下 Tomcat 验证码不显示 编辑Tomcat bin 目录下 catalina.sh 1、在catalina.sh添加 JAVA_OPTS="-Djava.awt.headless=true" 或 JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:PermSize=512M -...
  • yii验证码不显示

    千次阅读 2015-05-13 15:17:19
    需要修改yii源文件,在framework\web\widgets\captcha\CCaptchaAction.php中protected function renderImageGD($code){}中的imagecolordeallocate($image,$foreColor);语句下面添加一行ob_clean();
  • 今天把项目部署在centos7上,发现验证码显示不出来,看了一下tomcat日志 Exception in thread ...
  • 验证码不显示该怎么办

    千次阅读 2013-06-13 22:19:40
    大家在互联网上的时候,多数用户发现在访问某些需要填写验证码的地方,都无法显示验证码图片。遇到这样的情况该怎么办呢?知码网来告诉你,http://www.zhima365.com  访问某些需要填写验证码的地方,无法显示...
  • 20190718 学习做一个 thinkphp5 的验证码,结果发现在我的 macbook 上死活不出图片,但是在windows 上是可以的!断定问题出在环境上! macOS Mojave 10.14.5 WEB: 自带的 apache PHP:自带的 php 7.1 经过了一大...
  • 最近刚刚开始学习yii框架使用,...1,验证码不显示: 首先保证你的controler 里面的captcha方法是可访问的,被分配的权限的,这个在rule里面设置。 第二,保证你的PHP GD插件已经被启用, 第三如果这样还是不显示
  • web验证码的实现

    2017-09-25 17:54:40
    web验证码的实现
  • web程序验证码出来原因

    千次阅读 2015-08-26 16:38:30
    --linux系统下应用项目的验证码不能够正常显示
  • 待解决:验证码不显示

    千次阅读 2016-11-17 15:48:31
    //将验证码保存到session中,便于以后验证    try {  //发送图片  ImageIO.write(AuthCode.getAuthImg(authCode), "JPEG", response.getOutputStream());  } catch (IOException e){ ...
  • 背景描述:在liunx系统上,使用tomcat中间件,访问web项目,登录页面的图片验证码显示不出来,但是在window系统上可以正常显示 解决方案:设置一下这个文件tomcat/bin/catalina.sh,在文件中找到JAVA_OPTS,按如下...
  • 在使用ASP.Net基于表单的身份验证时,由于在web.config中设置允许匿名访问,此时登录页面的验证码可能不会显示。针对这种情况,可以在web.config中单独设置生成验证码的页面,允许其被匿名访问。同样,登录页面的...
  • 验证码图片不显示解决问题

    万次阅读 2017-08-17 10:26:58
    本地php项目验证码图片显示的好好的 但是代码放线上怎么也不显示 网上各种查 gd库安装了 也修改了编码格式还是不显示 愁啊 解决了 解决了 一般验证码不显示有日下几个问题 1.php环境没有加载gd...
  • 做项目的验证码时候一般会默认自己风格的验证码字体,Windows系统会默认所有字体,CentOS7可能需要安装,不然部署的java项目返回页面的验证码会为乱码或者显示不出来。 1、 问题描述: java项目默认验证码字体为:...
  • 问题是当出现小白框。并且主页不显示的时候 需要在验证码函数的开始加上 ob_clean();这一个清楚缓存函数
  • 决定到这里开一个博客,把最近和将来遇到的技术问题经验积累起来。也将把相关的知识留存备记备用。半路出家搞网站技术,也算记录技术学习过程吧  网站采用Phpcmsv9,版本还是2013年...验证码不显示。  当然是到网上找
  •  一开始一验证码不显示,折腾好久才搞好,发现我的MyEclipse版本是6.0,把jdk版本更换为1.8,编译版本改为5.0就好了。。。最后下载了新的MyEclipse10.0后没问题了,估计是版本一直的兼容性问题 JDK更改步骤:...
  • JavaWeb项目运行期间验证码不显示解决方案 前言 解决思路 解决过程 手动设置Heap Size大小 -Djava.awt.headless=true 参考链接 前言 场景描述 线上项目部署在Tomcat容器上,刚启动时验证码正常显示,运行一段时间后...
  • web如何制作验证码功能
  • phpcmsv9后台登陆验证码不显示的问题

    千次阅读 2015-04-17 15:52:19
    大多数的原因是因为域名的配置问题,此时你可以修改... 假如说你的网站是放在根目录下的,此时web_path设置为'/' 加入你的网站不是放在根目录下的,例如放在www/course下的,此时你需要改成/course/最后的/不要省略

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,270
精华内容 10,508
关键字:

web验证码不显示