- 热门文章:
- · 台湾的两篇文章,看看也好:唯讀的表單文字輸入項
- · Creating CSS Buttons (一)
- · Creating CSS Buttons (二)
- · 用javascript实现浮点数的截取小数位数,并四舍五入
- · three trim function(javascript)
- · 用ASP将javascript代码写入客户端执行的一种简易方法。。。
- · Trim Function in javascript
- · java分页源码
- · 过滤表格中的链接(用javascript提取表格中的数据)
- · 来看看哟.一个天气预报的小偷.可以偷到每天更新的全国24小时城市天气预报.
- · 一个把WORD转换成HTML的程序
- · 饮水思源,我从这里学到的知识投入应用,现在再奉献回给大家(可编辑页面的部分属性)
上一篇:常用javascript函数(二) >>
如何判断客户端浏览器的脚本js.vbs功能是否被禁止,通过隐藏域实现
但是有的用户禁止了活动脚本的执行,给我们的验证和系统安全带来了一定的危险性.
举个列子;
就象刚才有个朋友问的那样,如何判断用户上传的文件是不是网站所要求的文件类型呢?
在服务器端判断可以,但会很烦琐.如果用客户端活动脚本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
下一篇:台湾的两篇文章,看看也好:唯讀的表單文字輸入項 >>
相关文章:
- · 用 WSH 想ASP 一样 查询数据库!(WSH 学习心得2)
- · 一段窗口自动关闭的源代码,不受js打开的限制,与大家共享!
- · 带进度条的关闭窗口,绝对有用!并可根据需要改写。
- · 一组javascript绘图函数
- · 限制只能中文输入的方法。(详细讲解,对象初学者)
- · 一般的页面滚动条是在右边的,想让他在左边吗:)
- · 确认是否关闭浏览器或转到其它页面(javascript)(做聊天室或在线人数的时候可以用上)
- · <body onkeypress=alert(event.keyCode)>请按任意键,你将得到该键的键值!(转)
- · 利用cookie收藏网站
- · 转贴一个扫雷游戏脚本
- · 动态按钮生成器(上)
- · 用Cookie实现仅弹出一次窗口(javascript)(转)
- · 动态按钮生成器(下)
- · 一全很经典的堆积演示程序(javascript)(转)
- · 一个很酷的程序javascript做的MID歌曲搜索播放器[IE](JS)_(转)
- · 一个查看ASP的javascript程序,方便大家学习ASP程序(JS)_转
- · 长串连续英文字符自动回行的方法(转)
- · 如何修复被修改的IE(1)
- · 如何修复被修改的IE(2)
- · 鼠标右键绝对禁止法
- · 改变浏览器的标题和加入收藏夹的js文件!
- · 零点的网页真黑!!
- · 超级Mailto功能
- · javascript的history对象
- · 又一个给浏览器的滚动条加上颜色的方法(转)
- · 动态计算还能够输入多少字节的表单(纯script,请吧昨天的精华替换成这个吧,那个中文也算1字节
- · 动态计算还能够输入多少字节的表单代码^O^(申请入精华)
- · Vbscript教程一
- · vbscript教程三
- · vbscript教程四-常量
- · vbscript教程五-使用条件语句
- · vbscript教程六-循环语句
- · VBScript教程七-过程
- · VBScript教程九-页面
- · VBScript教程八-编码
- · VBScript 与窗体(十)
- · VBScript 中使用对象(十一)
- · VBScript错误信息列表
