Rumah  >  Artikel  >  hujung hadapan web  >  Pelaksanaan dan analisis teknikal kod pengesahan yang dijana oleh kemahiran js_javascript

Pelaksanaan dan analisis teknikal kod pengesahan yang dijana oleh kemahiran js_javascript

WBOY
WBOYasal
2016-05-16 16:36:121290semak imbas

Kongsi dengan anda sekeping kod js untuk menjana dan mengesahkan kod pengesahan

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JS生成验证码</title>
<style type="text/css">
.code {
background-image: url(code.jpg);
font-family: Arial;
font-style: italic;
color: Red;
border: 0;
padding: 2px 3px;
letter-spacing: 3px;
font-weight: bolder;
}
.unchanged {
border: 0;
}
</style>
<script language="javascript" type="text/javascript"> 
var code; //在全局 定义验证码  
function createCode() {
  code = "";
  var codeLength = 6;//验证码的长度  
  var checkCode = document.getElementById("checkCode");
  var selectChar = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,'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');//所有候选组成验证码的字符,当然也可以用中文的  
 
  for (var i = 0; i < codeLength; i++) {
    var charIndex = Math.floor(Math.random() * 36);
    code += selectChar[charIndex];
  }
  //alert(code);
  if (checkCode) {
    checkCode.className = "code";
    checkCode.value = code;
  }
}
 
function validate() {
  var inputCode = document.getElementById("input1").value;
  if (inputCode.length <= 0) {
    alert("请输入验证码!");
  } else if (inputCode != code) {
    alert("验证码输入错误!");
  createCode();//刷新验证码  
  } else {
  alert("^-^ OK");
  }
}
</script>
</head>
<body onload="createCode()">
<form action="#">
  <input type="text" id="input1" /> <input type="text" onclick="createCode()" readonly="readonly" id="checkCode" class="unchanged" style="width: 80px" /><br />
  <input id="Button1" onclick="validate();" type="button" value="确定" />
</form>
</body>
</html>

Seperti yang kita semua tahu, js adalah pihak pelanggan, jadi adakah wajar untuk melakukan semua pengesahan di pihak pelanggan? Atau adakah kod pengesahan yang dijana daripada pelayan adalah selamat? Adakah kod pengesahan yang dijana oleh bahagian hadapan selamat?

Kod pengesahan adalah dinamik, tetapi mesti dikenali oleh pelanggan dan mengembalikan nilai yang betul untuk pengesahan biasa. Ini adalah isu proses Jika ia adalah js, ia disahkan pada klien, yang pada dasarnya adalah sama! ! ! Adalah lebih baik untuk menjananya pada pelayan, mengesahkannya pada klien, mengesahkannya pada pelayan, dan menyemak imbasnya seperti biasa. Proses sebegini sangat mudah

Jadi, artikel ini hanyalah perbincangan teknikal, tolong jangan gunakannya dalam projek pengeluaran sebenar

Kenyataan:
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