邪恶八进制信息安全团队技术讨论组's Archiver

勇敢的风 2007-11-28 14:20

[原创]《风的asp系列教程》(第一章 第五节)

文章作者:勇敢的风 [E.S.T 顾问团] ([url]http://hi.baidu.com/superfeng[/url])
信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])
第一章 第五节 关于ASP组件
  asp从流行起来之后有相当大的一部分人非常鄙视它,造成这些原因的情况主要有两种。其一是asp自身问题,功能少、灵活性差、并且还早起的iis还存在很严重的问题,随着网络技术的普及iis上有关asp的漏洞到现在为止已经几乎没有了;其二是asp的门槛过低,造成大量的垃圾asp程序面世,让人感觉到阿水平所做的东西不能给人安全感。然而仍有不少的程序员坚持走asp这条路,优秀的程序也慢慢出现,并被大多数人所认可,我们大家所熟知的LeadBBS、DvBBS等等都是很优秀的asp程序。同时越来越多asp相关的组件的出现慢慢的让大家知道asp的功能变得越来越多。

  本节主要介绍目前流行的asp外部组件ASPUPLoad和ASPJPEG组件的使用方法和Windows一些常见的内部组件。

  5.1 外部组件
    一般的外部组件均为dll文件,大多数是用其他的语言来写的,用来弥补asp的不足,需要用Regsvr32程序来注册,用法为:
      注册是在运行框输入:regsvr32 dll文件名
      卸载是在运行框输入:regsvr32 /u dll文件名
      有关其他regsvr32的命令请在运行框输入:regsvr32 /?
    5.1.1 AspUpLoad 上传类组件
      著名的Persits软件公司的产品,让asp可以很方便的从客户端将指定的文件上传到服务器上,如果你下载的是安装程序,安装完成后则无需注册,否则则需要手动注册。
      3.0与之前的版本有不少出入,这里仅介绍有关3.0的内容
      众所周知aspupload一个很优秀的上传组件,实际上它不仅仅可以上传文件,还可以创建、删除移动文件或文件夹等等,完全可以替代FSO。如果你是一个虚拟主机提供商则需谨慎安装,否则可能对你的服务器安全造成相当大的威胁。
      组件名称
        Persits.Upload
      属性
        CodePage
        DetectMacBinary
        Directory
        Expires
        Files
        Form
        IgnoreNoPost
        OverwriteFiles
        PreserveFileTime
        ProgressID
        RegKey
        TotalBytes
        TotalSeconds
        Version
      方法
        CopyFile
        CreateDirectory
        CreateFile
        DecryptAndSendBinary
        DeleteFile
        FileExists
        FromDatabase
        FromRecordset
        LogonUser
        MoveFile
        OpenFile
        RegisterServer
        RemoveDirectory
        RevertToSelf
        Save
        SaveEncrypted
        SaveToMemory
        SaveVirtual
        SaveVirtualEncrypted
        SendBinary
        SetMaxSize
        ToDatabaseEx
      例子:
      Dim Upload
      Set Upload = Server.CreateObject("Persits.Upload")
      Upload.save("服务器上的存储位置")
      
      PS:3.0与之前的版本不同的是3.0版的save方法存储直接接收上传的文件合集并返回存储的文件数量,用起来更简便。
    5.1.2 AspJPEG 图像类组件
      同样是著名的Persits软件公司的产品,它可以让asp很方便的修改服务器端的图片。
      组件名称:
      属性:
        Binary
        Canvas
        Expires
        Height
        Interpolation
        OriginalFormat
        OriginalHeight
        OriginalResolutionX
        OriginalResolutionY
        OriginalWidth
        Pixels
        PreserveAspectRatio
        Progressive
        Quality
        RegKey
        ResolutionX
        ResolutionY
        TiffIndex
        Version
        Width
      方法:
        Close
        Crop
        DrawImage
        FlipH
        FlipV
        Grayscale
        New
        Open
        OpenBinary
        OpenInfo
        OpenInfoBinary
        RotateL
        RotateR
        Save
        SendBinary
        Sharpen
        ToRGB
      一个简单的例子:
      Dim Jpeg
      Set Jpeg = Server.CreateObject("Persits.Jpeg")
      Jpeg.Open Server.MapPath("ok.jpg") '打开文件
      Jpeg.Width = Jpeg.OriginalWidth / 2 '宽度减少50%
      Jpeg.Height = Jpeg.OriginalHeight / 2 '高度减少50%
      Jpeg.Save Server.MapPath("newok.jpg") '保存
  5.2 内部组件
    内部组件一般指的是Windows安装好以后就可以直接使用的组件或者接口。比如ado,wmi等。
    内部组件将是本教程主要讲解内容之一,在以后的教程中会慢慢的仔细的讲解一部分常用的组件或者接口,同时还会介绍如何写asp组件。

  本节中我们知道了asp可以调用很多的内部或者外部组件,这些组件可以很高效、很明显的提高asp的能力并不局限在6个内置对象之内。


页: [1]
© 1999-2008 EvilOctal Security Team