Rumah > hujung hadapan web > tutorial js > Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan imej?

Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan imej?

王林
Lepaskan: 2023-10-20 11:54:16
asal
1093 orang telah melayarinya

如何使用 JavaScript 实现图片验证码功能?

Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan imej?

Dengan perkembangan teknologi rangkaian yang berterusan, keselamatan laman web menjadi semakin penting. Dalam operasi seperti pendaftaran dan log masuk, kod pengesahan grafik sering digunakan untuk memastikan operasi pengguna biasa dan menghalang akses oleh robot atau program berniat jahat. Kod pengesahan grafik ialah kaedah pengesahan yang memaparkan imej kod pengesahan yang dijana secara rawak dan memerlukan pengguna memasukkan kod pengesahan yang betul untuk menyelesaikan operasi.

Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan imej dan memberikan contoh kod khusus.

  1. Persediaan

Sebelum kita mula menulis kod, kita perlu menyediakan bahan berikut:

  • Imej kod pengesahan yang mengandungi pelbagai aksara
  • API sisi pelayan, digunakan untuk mengesahkan sama ada kod pengesahan yang dimasukkan oleh pengguna betul
  1. Struktur HTML

Pertama, kita perlu menambah tag <img> untuk memaparkan kod pengesahan dan kotak teks untuk memasukkan kod pengesahan dalam fail HTML. <img> 标签以及一个输入验证码的文本框。

<!DOCTYPE html>
<html>
<head>
  <title>图片验证码示例</title>
</head>
<body>
  <img id="captchaImage" src="captcha.jpg" alt="验证码">
  <input type="text" id="captchaInput" placeholder="请输入验证码">
  <button id="verifyButton">验证</button>

  <script src="captcha.js"></script>
</body>
</html>
Salin selepas log masuk
  1. JavaScript 代码

接下来,让我们来编写 JavaScript 代码,实现验证码的生成和校验功能。

// 获取页面元素
const captchaImg = document.getElementById('captchaImage');
const captchaInput = document.getElementById('captchaInput');
const verifyButton = document.getElementById('verifyButton');

// 点击验证码图片刷新验证码
captchaImg.addEventListener('click', function() {
  refreshCaptcha();
});

// 点击验证按钮进行验证码校验
verifyButton.addEventListener('click', function() {
  verifyCaptcha();
});

// 刷新验证码
function refreshCaptcha() {
  // 使用服务器端 API 获取新的验证码图片
  // 并更新验证码图片的 src 属性
  captchaImg.src = 'new_captcha.jpg';
}

// 校验验证码
function verifyCaptcha() {
  const userInput = captchaInput.value;

  // 使用服务器端 API 验证用户输入的验证码是否正确
  fetch('/verify-captcha', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({ captcha: userInput })
  })
  .then(response => response.json())
  .then(data => {
    if (data.result === 'success') {
      alert('验证码正确');
    } else {
      alert('验证码错误');
    }
  })
  .catch(error => {
    console.error('验证码校验失败', error);
  });
}
Salin selepas log masuk

在上述代码中,我们使用了 fetch 函数来发送异步请求,使用服务器端提供的 API 进行验证码的校验。根据服务器端返回的校验结果,我们可以弹出相应的提示框。

请确保将 <script src="captcha.js"></script> 放在 HTML 文件的末尾,以确保 JavaScript 代码在页面加载完毕后执行。

  1. 服务器端实现

服务器端的实现方式因语言和框架的不同而有所差异。一般情况下,服务器端会提供一个 API 接口,接收用户输入的验证码并进行验证,返回校验结果。

以下是一个简单的 Node.js 服务器端示例代码:

const express = require('express');
const app = express();
const bodyParser = require('body-parser');

// 解析 application/json
app.use(bodyParser.json());

// 校验验证码
app.post('/verify-captcha', (req, res) => {
  const userInput = req.body.captcha;

  // 进行验证码校验
  if (userInput === 'correct_code') {
    res.json({ result: 'success' });
  } else {
    res.json({ result: 'failure' });
  }
});

const port = 3000;
app.listen(port, () => {
  console.log(`服务器运行在 http://localhost:${port}`);
});
Salin selepas log masuk

以上代码中的 /verify-captcharrreee

    Kod JavaScript
    1. Seterusnya, mari tulis kod JavaScript untuk melaksanakan fungsi penjanaan dan pengesahan kod pengesahan.
    rrreee

    Dalam kod di atas, kami menggunakan fungsi ambil untuk menghantar permintaan tak segerak dan menggunakan API yang disediakan oleh pelayan untuk mengesahkan kod pengesahan. Mengikut keputusan pengesahan yang dikembalikan oleh pelayan, kami boleh memunculkan kotak gesaan yang sepadan.

    Sila pastikan anda meletakkan <script src="captcha.js"></script> di hujung fail HTML untuk memastikan kod JavaScript dilaksanakan selepas halaman itu dimuatkan.

      🎜Pelaksanaan bahagian pelayan🎜🎜🎜Pelaksanaan bahagian pelayan berbeza-beza bergantung pada bahasa dan rangka kerja. Secara amnya, pelayan akan menyediakan antara muka API untuk menerima kod pengesahan yang dimasukkan oleh pengguna, mengesahkannya dan mengembalikan hasil pengesahan. 🎜🎜Berikut ialah kod contoh bahagian pelayan Node.js yang ringkas: 🎜rrreee🎜Laluan /verify-captcha dalam kod di atas sepadan dengan antara muka pengesahan dalam kod bahagian hadapan, yang boleh diubahsuai mengikut situasi sebenar Boleh. 🎜🎜🎜Ringkasan🎜🎜🎜Artikel ini melaksanakan fungsi kod pengesahan imej ringkas melalui kerjasama JavaScript dan bahagian pelayan, termasuk menyegarkan semula kod pengesahan dan mengesahkan input pengguna. Anda boleh mengubah suai dan melanjutkan kod mengikut keperluan sebenar untuk meningkatkan keselamatan dan kebolehgunaan kod pengesahan. 🎜🎜Akhir sekali, perlu diingat bahawa kod pengesahan hanyalah kaedah pengesahan mudah dan tidak boleh menghalang sepenuhnya akses oleh robot dan program berniat jahat. Dalam aplikasi praktikal, kami juga boleh menggabungkan strategi keselamatan lain, seperti sekatan IP, analisis tingkah laku pengguna, dll., untuk meningkatkan keselamatan tapak web. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan imej?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan