欢迎光临
我们一直在努力

如何判断客户端浏览器的脚本js.vbs功能是否被禁止,通过隐藏域实现

建站超值云服务器,限时71元/月

客户端验证是我们经常在用户递交表单前进行的工作,它可以有效的减轻服务器的负担

但是有的用户禁止了活动脚本的执行,给我们的验证和系统安全带来了一定的危险性.

举个列子;
就象刚才有个朋友问的那样,如何判断用户上传的文件是不是网站所要求的文件类型呢?
在服务器端判断可以,但会很烦琐.如果用客户端活动脚本js,或vbs来判断就好多了.
下面就是我针对这个列子写的具体实现方法

可以将客户端的验证的执行情况反映给服务器,由此我们来判断他传的是不是我们所要求的文件类型

<html>
<head>
<title>…::小熊在线::… @ 即时报价 与 管理系统      制作 :netnice 技术支持:www.chinaok.net….. </title>
<meta http-equiv=”content-type” content=”text/html; charset=gb2312″>
<style type=”text/css”>
body{font-size: 9pt}
td{font-size: 9pt}
.tbljm{border-bottom: #000000 1px solid; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid;color:#000000;}
</style>
<script language=”javascript”>
function check()
{var upno=0;
var info=””;
var ncd=document.form1.file1.value
var nstr=””;
if (ncd!=””){
nstr=findname(ncd);
if (ncd.indexof(“.gif”)=-1) nstr=””;
if (ncd.indexof(“.jpg”)=-1) nstr=””;
if (ncd.indexof(“.exe”)=-1) nstr=””;
if (nstr==””){alert(“你要上传的文件类型不对,或路径错误~!\n请重新选择”);return false;}
}
}
flag=window.confirm(“你要上传的文件是: \n”+info+”\n”);
return flag;
}
function findname(vl)
{//验证路径是否合法,
var no0=vl.lastindexof(“\\”);
var no1=vl.lastindexof(“.”);
var no2=vl.indexof(“:”);
if (no0==-1 || no1==-1 || no2!=1 || no0>no1) return ;
var fname=vl.substr(no0+1);
return fname;
}

function form_onsubmit(obj)
{ check()
  document.form1.jscan.value=”true”;
  return true;
}
</script>
</head>

<body bgcolor=”#ffffff” text=”#000000″ valign=”center” onload=”javascript:document.form1.ok.blur()”>
<br>
<table width=”200″ border=”0″  style=”border-right: #003366 1px solid; border-top: #003366 1px solid; border-left: #003366 1px solid; border-bottom: #003366 1px solid” cellspacing=”0″ cellpadding=”0″ align=”center”>
  <tr>
    <td bgcolor=”#304d7c” height=”25″>
      <div align=”center”><font color=”#ffffff”>请选择文件</font></div>
    </td>
  </tr>
  <tr>
    <td height=”121″>
<form name=”form1″ method=”post” action=”save.asp” onsubmit=”return form_onsubmit(this)” >
              
      <table width=”199″ border=”0″ cellspacing=”0″ cellpadding=”0″ background=”images/greystrip.gif”>
        <tr>
            <td height=”35″>
              <div align=”center”>
                <p align=”center”>文件名:
                <input name=”file1″ type=file class=tbljm>
                <input name=”jscan” value=”false” type=hidden><!–这个隐藏的域的初值为false,通过js改变它的值 ,在服务器端通过接受 这个域的值来判断js是否执行 🙂 –>
            </div>
          </td>
        </tr>
        <tr>
            <td height=”40″>
              <div align=”center”>
                <p align=”center”>
                <input type=”submit” name=”ok” value=”上传” class=tbljm>
                <input type=”reset” name=”nook” value=”重 写” class=tbljm><br><br><font color=red>请不要随意的进入本系统</font><br></div>    
          </td>
        </tr>
      </table>
    </form></td>
  </tr>
</table>
<p align=”center”> </p>
<p align=”center”> </p>
<table border=0 cellpadding=0 cellspacing=0 width=750 align=”center”>                                                           
  <tbody>                                                            
  <tr align=middle>                                                            
    <td >
      <p align=center>系统制作:<a href=”mailto:netnice@chinaok.net”>netnice</a>
      oicq:6097356<br>
        版权所有:小熊在线-东北站<br>
        copyright (c) 2001 www.sybears.com all rights reserved</p>                                                             
    </td>                                                           
  </tr>                                                           
  </tbody>                                                            
</table>
</body>
</html>

========================save.asp================
<%response.expires=0
dim jscan,user,pwd
jscan=request.form(“jscan”)
if jscan=”false” then
response.redirect “err.asp?estr=请打开您的浏览器的脚本执行权限”
end if

略…,仅是为了演示如何判断客户端的活动脚本js或vbs是否执行
就这个例子而言是有漏洞的.请不要完全依靠这个来判断用户上传文件的类型.
匆匆帖出,也许有错误:)

the end

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 如何判断客户端浏览器的脚本js.vbs功能是否被禁止,通过隐藏域实现
分享到: 更多 (0)

相关推荐

  • 暂无文章