当前位置:萝卜系统下载站 > 技术开发教程 > 详细页面

如何判断客户端浏览器的脚本js.vbs技巧是否被防范,通过隐藏域完成,不知可否放入精华:)javascript[原创帖]

如何判断客户端浏览器的脚本js.vbs技巧是否被防范,通过隐藏域完成,不知可否放入精华:)javascript[原创帖]

更新时间:2021-04-20 文章作者:未知 信息来源:网络 阅读次数:

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

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

举个列子;
就象刚才有个朋友问的那样,如何判断用户上传的文件是不是网站所要求的文件类型呢?
在服务器端判断可以,但会很烦琐.如果用客户端活动脚本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>

</form></td>
</tr>

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

</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

温馨提示:喜欢本站的话,请收藏一下本站!

本类教程下载

系统下载排行

网站地图xml | 网站地图html