我的javascript有多安全,它有多容易被利用?

时间:2011-01-17 00:58:39

标签: javascript security

我正在努力使这段代码尽可能安全,是否存在任何突发的漏洞?我认为我把它锁得很紧,你还有什么可以实现的吗?

  function CheckPin(){

    var str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

    var strId= document.form1.tbPin.value;

    var lenId=strId.length;

    var check=true;



    //if (lenId != 20)

    if (!(lenId ==20 || lenId == 10))

    {

        alert("You must enter a 20 or 10 digit pin number.");

        document.form1.tbPin.focus();

        return false;

    }

    else

    {

        //for(var i=0;i<20;i++)

        for(var i=0;i<lenId;i++)

         { 

            check=str.indexOf(strId.charAt(i));



            if(check == -1) 

            {

                alert("Do not use special characters.(e.g. @,#,&) ");

                document.form1.tbPin.focus();

                return false;

                break;

            }

            else 

            {

                 if (i ==19)

                 {

                    break;

                 }

            }

         }

    }



    if (document.form1.btnChecker.value == 1)

    {

     alert("The processing is in progress.");

     return false;

    }



    document.form1.btnChecker.value = 1;

    }

    </script>

    <script src="../JS/Tags.js" type="text/javascript"></script>

    <script src="../JS/Tags2.js" type="text/javascript"></script>

Tags.js:

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Tags2.js:

var pageTracker = _gat._getTracker("UA-1376772-6"); pageTracker._initData(); pageTracker._trackPageview();

1 个答案:

答案 0 :(得分:4)

不得在浏览器中进行关键计算。您在浏览器中运行的任何内容纯粹是为了方便用户。话虽如此,您在浏览器中通过JavaScript进行的验证应该产生与您在服务器上必须执行的验证相同的结果。