Javaを使用してWebサイトのログイン確認コードを取得する方法

PHPz
リリース: 2023-05-10 18:28:06
転載
1471 人が閲覧しました

検証コードの生成

この効果は、easy-captcha ツールキットを使用して実現されます。まず、関連する依存関係を pom.xml に追加する必要があります。コードは次のとおりです:

 com.github.whvcse easy-captcha 1.6.2 
ログイン後にコピー

Verificationコード形式

easy-captcha 検証コード ツールは、GIF、中国語、算術、その他の型をサポートしており、これらは次のインスタンス オブジェクトを通じて実装されます:

  • SpecCaptcha (PNG 型静的)画像検証コード)

  • GifCaptcha (Gif タイプ画像検証コード)

  • ChineseCaptcha (GIF タイプ中国語画像検証コード)

  • ArithmeticCaptcha (算術型画像検証コード)

文字の種類は次の種類に分類されます:

  • TYPE_DEFAULT:数字と文字の混合

  • TYPEONLYNUMBER: 純粋な数字

  • TYPEONLYCHAR: 純粋な文字

  • TYPEONLYUPPER:純粋な大文字

  • TYPEONLYLOWER: 純粋な小文字

  • ##TYPENUMAND_UPPER: 数字と大文字の混合

#バックエンド ロジックの実装

package com.yanx.controller; import com.wf.captcha.SpecCaptcha; import com.wf.captcha.base.Captcha; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.thymeleaf.util.StringUtils; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @Controller public class KapchaController { @GetMapping("/kaptcha") public void defaultKaptcha(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { httpServletResponse.setHeader("Cache-Control","no-store"); httpServletResponse.setHeader("Pragma","no-cache"); httpServletResponse.setDateHeader("Expires",0); httpServletResponse.setContentType("image/gif"); //三个参数分别为宽、高、位数 SpecCaptcha captcha=new SpecCaptcha(75,30,4); //设置类型为数字和字母混合 captcha.setCharType(Captcha.TYPE_DEFAULT); //设置字体 captcha.setCharType(Captcha.FONT_9); //验证码存入session httpServletRequest.getSession().setAttribute("verifyCode",captcha.text().toLowerCase()); //输出图片流 captcha.out(httpServletResponse.getOutputStream()); } }
ログイン後にコピー

ここで、コントローラーは、defaultKaptcha() メソッドを追加します。このメソッドによってインターセプトおよび処理されるパスは、

/kaptcha

フロントエンドの実装です。ロジック

静的ディレクトリに新しい kaptcha.html ページを作成します。コードは次のとおりです。

    验证码 
  Javaを使用してWebサイトのログイン確認コードを取得する方法  
ログイン後にコピー

バックエンド検証コード パス/kaptcha にアクセスします。検証コードは次の形式です。写真。 onclick メソッドは、ラベルをクリックしたときに検証コードの表示を動的に切り替えることができます。

Spring Boot プロジェクトを開始し、ブラウザを開いてアドレスを入力します:

http://localhost:8080/kaptcha.html

結果は次のようになります:

Javaを使用してWebサイトのログイン確認コードを取得する方法#検証コードの検証

バックエンド コード

package com.yanx.controller; import com.wf.captcha.SpecCaptcha; import com.wf.captcha.base.Captcha; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.thymeleaf.util.StringUtils; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; @Controller public class KapchaController { @GetMapping("/kaptcha") public void defaultKaptcha(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { httpServletResponse.setHeader("Cache-Control","no-store"); httpServletResponse.setHeader("Pragma","no-cache"); httpServletResponse.setDateHeader("Expires",0); httpServletResponse.setContentType("image/gif"); //三个参数分别为宽、高、位数 SpecCaptcha captcha=new SpecCaptcha(75,30,4); //设置类型为数字和字母混合 captcha.setCharType(Captcha.TYPE_DEFAULT); //设置字体 captcha.setCharType(Captcha.FONT_9); //验证码存入session httpServletRequest.getSession().setAttribute("verifyCode",captcha.text().toLowerCase()); //输出图片流 captcha.out(httpServletResponse.getOutputStream()); } @GetMapping("/verify") @ResponseBody public String verify(@RequestParam("code") String code, HttpSession session){ if(StringUtils.isEmpty(code)){ return "验证码不能为空"; } String kapchaCode = session.getAttribute("verifyCode")+""; if(StringUtils.isEmpty(kapchaCode)||!code.toLowerCase().equals(kapchaCode)){ return "验证码输入错误"; } return "验证成功"; } }
ログイン後にコピー

フロントエンド コード

    验证码验证 
  Javaを使用してWebサイトのログイン確認コードを取得する方法   

ログイン後にコピー

効果

Javaを使用してWebサイトのログイン確認コードを取得する方法

Javaを使用してWebサイトのログイン確認コードを取得する方法

以上がJavaを使用してWebサイトのログイン確認コードを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!