现在问题是登录跟验证码正误没有关系,即使不输验证码只要用户名和密码正确照样可以登录,想请问一下要怎么改进使验证码与登录关联起来


<body>
<table width="60%" border="1" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#0099FF" class="indexfont">::理工教学管理系统学生端登录::</td>
  </tr>
  <tr>
    <td height="160" align="center"><form ACTION="<%=MM_LoginAction%>" METHOD="POST" id="user_login" name="user_login">
      <table width="60%" border="0" align="center">
        <tr>
          <td width="36%" class="indextablefont">Username:</td>
          <td width="64%"><input type="text" name="name" id="name" /></td>
        </tr>
        <tr>
          <td class="indextablefont">Password:</td>
          <td><input type="password" name="psw" id="psw" /></td>
        </tr>
        <tr>
          <td class="indextablefont">验证码:
         <canvas id="canvas" width="120" height="40"></canvas></td>
          <td><input name="t1" type="text" id="text">
          <input type="button" value="验证" id="bt">
          
</td>
         <script>
    var canvas = document.getElementById("canvas");
    var context = canvas.getContext("2d");//舞台,getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性。
    var button = document.getElementById("bt");//获取按钮
    var input = document.getElementById("text");//获取输入框
    draw();
    canvas.onclick = function () {
        context.clearRect(0, 0, 120, 40);//在给定的矩形内清除指定的像素
        draw();
    }
    // 随机颜色函数
    function getColor() {
        var r = Math.floor(Math.random() * 256);
        var g = Math.floor(Math.random() * 256);
        var b = Math.floor(Math.random() * 256);
        return "rgb(" + r + "," + g + "," + b + ")";
    }
    function draw() {
        context.strokeRect(0, 0, 120, 40);//绘制矩形(无填充)
        var aCode = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
        // 绘制字母
        var arr = [] //定义一个数组用来接收产生的随机数
        var num //定义容器接收验证码
        for (var i = 0; i < 4; i++) {
            var x = 20 + i * 20;//每个字母之间间隔20
            var y = 20 + 10 * Math.random();//y轴方向位置为20-30随机
            var index = Math.floor(Math.random() * aCode.length);//随机索引值
            var txt = aCode[index];
            context.font = "bold 20px 微软雅黑";//设置或返回文本内容的当前字体属性
            context.fillStyle=getColor();//设置或返回用于填充绘画的颜色、渐变或模式,随机
            context.translate(x,y);//重新映射画布上的 (0,0) 位置,字母不可以旋转移动,所以移动容器
            var deg=90*Math.random()*Math.PI/180;//0-90度随机旋转
            context.rotate(deg);//     旋转当前绘图
            context.fillText(txt, 0, 0);//在画布上绘制“被填充的”文本
            context.rotate(-deg);//将画布旋转回初始状态
            context.translate(-x,-y);//将画布移动回初始状态
            arr[i] = txt //接收产生的随机数
        }
        num = arr[0] + arr[1] + arr[2] + arr[3] //将产生的验证码放入num
        // 绘制干扰线条
        for (var i = 0; i < 8; i++) {
            context.beginPath();//起始一条路径,或重置当前路径
            context.moveTo(Math.random() * 120, Math.random() * 40);//把路径移动到画布中的随机点,不创建线条
            context.lineTo(Math.random() * 120, Math.random() * 40);//添加一个新点,然后在画布中创建从该点到最后指定点的线条
            context.strokeStyle=getColor();//随机线条颜色
            context.stroke();//     绘制已定义的路径
        }
        // 绘制干扰点,和上述步骤一样,此处用长度为1的线代替点
        for (var i = 0; i < 20; i++) {
            context.beginPath();
            var x = Math.random() * 120;
            var y = Math.random() * 40;
            context.moveTo(x, y);
            context.lineTo(x + 1, y + 1);
            context.strokeStyle=getColor();
            context.stroke();
        }

        //点击按钮验证
        button.onclick = function () {
            var text = input.value //获取输入框的值
            if (text === num) {
                alert('验证通过')
            } else {
                alert('验证失败')
            }
        }

    }

</script> 
          
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input name="button" type="submit" id="button" value="登录" />
            <input name="button2" type="button" id="button2" onclick="MM_openBrWindow('index_student_zhuce.asp','','')" value="注册" /></td>
        </tr>
      </table>
      <input type="checkbox" name="checkbox" id="checkbox" />
      已阅读接受《服务条款》
    </form></td>
  </tr>
  <tr>
    <td bgcolor="#00CCFF" class="indexfont">::48号版权所有::</td>
  </tr>
  <tr>
    <td bgcolor="#0099FF" class="indexfont"><%= Request.QueryString("err") %></td>
  </tr>
</table> 
</body>

这是我设计的一个网页,现在问题是登录跟验证码正误没有关系,即使不输验证码只要用户名和密码正确照样可以登录,想请问一下要怎么改进使验证码与登录关联起来?

button.onclick = function () {
            var text = input.value; //获取输入框的值
            if (text === num) {
                alert('验证通过')
                return true;
            } else {
                alert('验证失败');
                return false;
            }
        }

https://jingyan.baidu.com/article/6f2f55a1e0d78ef4b93e6ce6.html