Linux自带邮件服务器安装Sendmail安装配置指南

归类于网络技术 评论关闭

一、安装Sendmail

    完全安装Red Hat Linux 9.0时,Sendmail就会自动内置,版本号为8.12.8-4。如果你不确定Linux是否已经安装有sendmail,可以输入以下命令查看:

    [root@ahpeng root] rpm –qa  grep sendmail

    如果确定没有安装,请在图形界面下依次选择单击“主菜单-系统设置-添加删除应用程序”,然后在打开的“软件包管理”窗口里选中“邮件服务器”选项,点“更新”后按照提示安装即可。

    另一种办法是:直接插入Linux第1张安装光盘,选择/RedHat/RPMS目录下的sendmail-8.12.8-4.i386.rpm安装包,之后运行[root@ahpeng RPMS] # rpm -ivh sendmail-8.12.8-4.i386.rpm即可开始安装,再用此方法在第3张安装光盘的同目录下依次安装sendmail-cf.8.12.8-4.i386.rpm、sendmail-doc. 8.12.8-4.i386.rpm。

继续阅读

, , , , , , ,

最新网站建设常用小图片150张

归类于网络技术 评论关闭

    本人整理了收集到的经常要用到的最新网站建设常用小图片150张,用这些图片不会让人觉得模仿,因为它们都是用在比较小的地方!


共计150张,以下是示例图片:


示例图片



点击下面图片下载所有150张图片压缩包:


 


http://www.zuoxinwu.com/UserFiles/zuoxinwuB150.rar" target=_blank>

]]>

, , , , ,

非常形象地讲述网站开发过程(图)

归类于网络技术 评论关闭

开发过程中三个角色:程序员,设计师和客户

""

步骤1:项目讨论
在接到项目后首先需要开项目开发讨论会,讨论网站的栏目,开发方向,文字内容和图片等等。

""

步骤2:激发灵感
考虑网站结构,认识客户中心思想要体现的内容,按客户需求展开创意的灵感。

""

步骤3:框架导航
程序员和设计师具体讨论网站整体制作

""

步骤4:项目计划
项目大概工作量和所需的时间,写成项目计划书给客户看。

""

步骤5:设计初稿
设计师作最基本的设计工作,主页和主要分页。设计师作最基本的设计工作,主页和主要分页。

""

步骤6:客户反馈
客户对设计初稿提出建议。

""

步骤7:重新设计
跟据客户对设计初稿建议和项目需求,进行修改设计或重新设计。

""

步骤8:客户满意
经过:设计初稿-客户反馈-重新设计的过程,最后得到了客户的满意。

""

步骤9:其它页设计
最基本的设计同意, 您就能开始制作站点每个页的布局和设计。

""

步骤10:客户确认
再一次让客户反馈,得到最后确认。

""

步骤11:制作HTML
程序员将设计师制作出的页面,作成HTML页。

""

步骤12:结合CSS
对网站完成CSS和其它工作。

""

步骤13:交给客户
程序员,设计师完成的工作,交给客户反馈,直到站点完成。

""

步骤14:测试
项目最后阶段是测试。站点需要进行跨平台测试,解决所技术问题和错误。

""

步骤15:发布
最后收款,完成项目。

"" 

]]>

, , , , ,

PHP安全模式详解

归类于网络技术 4 条评论

    表格 控制安全模式的设置选项有:
    设置选项 默认值
    safe_mode Off
    safe_mode_gid 0
    safe_mode_include_dir ""
    safe_mode_exec_dir 1
    open_basedir ""
    safe_mode_allowed_env_vars PHP_
    safe_mode_protected_env_vars LD_LIBRARY_PATH
    disable_functions ""
    当 safe_mode 设置为 on,PHP 将检查当前脚本的拥有者是否和将被文件函数操作的文件的拥有者相匹配。例如: -rw-rw-r– 1 rasmus rasmus 33 Jul 1 19:20 script.php
    -rw-r–r– 1 root root 1116 May 26 18:01 /etc/passwd
    运行 script.php <?php
    readfile('/etc/passwd');
    ?>
    如果安全模式被激活,则将会导致以下错误: Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not
    allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2
    同时,或许会存在这样的环境,在该环境下,宽松的 GID 检查已经足够,但严格的 UID 检查反而是不适合的。您可以用 safe_mode_gid 选项来控制这种检查。如果设置为 On 则进行宽松的 GID 检查;设置为 Off(默认值)则进行 UID 检查。
    除了 safe_mode 以外,如果您设置了 open_basedir 选项,则所有的文件操作将被限制在您指定的目录下。例如: <Directory /docroot>
    php_admin_value open_basedir /docroot
    </Directory>
    如果您在设置了 open_basedir 选项后运行同样的 script.php,则其结果会是: Warning: open_basedir restriction in effect. File is in wrong directory in
    /docroot/script.php on line 2
    您也可以单独地屏蔽某些函数。请注意 disable_functions 选项不能在 php.ini 文件外部使用,也就是说您无法在 httpd.conf 文件的按不同虚拟主机或不同目录的方式来屏蔽函数。 如果我们将如下内容加入到 php.ini 文件: disable_functions readfile,system
    则我们会得到如下的输出: Warning: readfile() has been disabled for security reasons in
    /docroot/script.php on line 2
    被安全模式限制或屏蔽的函数
    以下安全模式列表可能不完整或不正确。
    表格 24-2. 安全模式限制函数
    函数名 限制
    dbmopen() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
    dbase_open() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
    filepro() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
    filepro_rowcount() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
    filepro_retrieve() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
    ifx_*() sql_safe_mode 限制, (!= safe mode)
    ingres_*() sql_safe_mode 限制, (!= safe mode)
    mysql_*() sql_safe_mode 限制, (!= safe mode)
    pg_loimport() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
    posix_mkfifo() 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。
    putenv() 遵循 ini 设置的 safe_mode_protected_env_vars 和 safe_mode_allowed_env_vars 选项。请参考 putenv() 函数的有关文档。
    move_uploaded_file() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
    chdir() 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。
    dl() 该函数在安全模式中已被屏蔽。
    backtick operator 该函数在安全模式中已被屏蔽。
    shell_exec()(在功能上和 backticks 函数相同) 该函数在安全模式中已被屏蔽。
    exec() 您只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用 ..。
    system() 您只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用 ..。
    passthru() 您只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用 ..。
    popen() 您只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用 ..。
    mkdir() 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。
    rmdir() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
    rename() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。
    unlink() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。
    copy() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。 (on source and target)
    chgrp() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
    chown() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
    chmod() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 另外,您不能设置 SUID、SGID 和 sticky bits
    touch() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。
    symlink() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。 (注意:仅测试 target)
    link() 将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。 (注意:仅测试 target)
    getallheaders() 在安全模式下,以“authorization”(区分大小写)开头的头信息将不会被返回。警告:getallheaders() 无法在 aol-server 下实现!
    header() 在安全模式下,如果您设置了 WWW-Authenticate,当前脚本的 uid 将被添加到该头信息的 realm 部分。
    highlight_file(), show_source() 将检

, , , , ,

IIS无法解析asp文件的原因分析及解决办法

归类于网络技术 评论关闭

1.如果WEB站点目录下有Global.asa文件,改此文件文件名为Global.old.重启WEB服务,在记事本中写如下代码(原文中无代码,实际最简单的那种asp源码就行,译者注).文件另存为Test.asp于WEB根目录下.
如果asp文件能正常执行,问题就出在Global.asa上,如果依然不行,请转到第二步.
参阅如下 微软知识库有关Global.asa文件出错的更多信息.


http://support.microsoft.com/default.aspx?scid=kb;[LN];Q288245" target=_new>Q288245 PRB: Global.asa Does Not Fire from Personal Web Server on Windows 98


http://support.microsoft.com/default.aspx?scid=kb;[LN];Q265275" target=_new>Q265275 FP2000: Global.asa Does Not Run in FrontPage Web


http://support.microsoft.com/default.aspx?scid=kb;[LN];Q173742" target=_new>Q173742 FIX: Global.asa Is Not Executed If Restricting Web Access


2.将web站点的应用程序保护级别设置为"低",重启IISAdmin服务.如果asp文件如此能正常执行,说明问题出在IWAM用户上,请跳到第三步继续.如果没有正常执行,请在管理工具中检查组件服务确保能看到IIS Packages,确保组件服务没有失败后,确认本地用户组中有如下用户存在:



  • NT AUTHORITYAuthenticated Users
  • NT AUTHORITYINTERACTIVE
    关于更多组件服务出错的信息,请参考以下知识文章:
    http://support.microsoft.com/default.aspx?scid=kb;[LN];Q301919" target=_new>Q301919 PRB: Cannot Expand 'My Computer' in Component Services MMC Snap-In

  • 3.如果通过第二步asp文件能正常执行,将站点的应用程序保护级别设回"中"或"高",将IWAM用户添加到本地管理员用户组中,如果通过这步,asp文件能正常执行,说明IWAM用户的访问许可权限就存在问题,请跳到第四步,如果asp文件还没正常执行,请在命令提示符中执行Synciwam.vbs 工具.
    方法:打开命令提示符窗口敲入如下命令:C:Inetpubadminscripts>cscript synciwam.vbs.
    关于IWAM用户(设置不正确)导致asp文件不能正常执行,请参考入下知识库.
    http://support.microsoft.com/default.aspx?scid=kb;[LN];Q308622" target=_new>Q308622 HOW TO: Perform Administration Tasks in IIS from a Command Prompt
    http://support.microsoft.com/default.aspx?scid=kb;[LN];Q297989" target=_new>Q297989 PRB: Configured Identity Is Incorrect for IWAM Account
    http://support.microsoft.com/default.aspx?scid=kb;[LN];Q255770" target=_new>Q255770 PRB: Logon Failure: Unknown User Name or Bad Password When You Run Out-of-Process Webs
    http://support.microsoft.com/default.aspx?scid=kb;[LN];Q236007" target=_new>Q236007 Domain Controller Demotion Causes Out-of-Process Applications to Fail


    4.解决IWAM用户许可权限的问题,请使用windows 2000的第三方产品:Regmon 和 Filemon.请在http://www.sysinternals.com/" target=_new>http://www.sysinternals.com中下载这些工具.
    当你执行asp页面请求时运行这些工具, Dllhost.exe 进程在Regmon 中查找"ACCDENIED" (在Filemon中查找"FAILURE").
    注意:在IE进程出现"操作失败"时不要紧张,这只是普通现象.~~
    关于IIS功能正常运作所需的最小条件,请参阅知识库:
    http://support.microsoft.com/default.aspx?scid=kb;[LN];Q271071" target=_new>Q271071 Minimum NTFS Permissions Required for IIS 5.0 to Work
    在看到Dllhost.exe 进程"操作失败"的错误信息后,用Regedit32工具修改注册表里任何必须的NTFS许可权限


    5.在装完IIS5.0后,从WEB 服务器控制台或其他网络上的工作站浏览asp或html文件,WEB服务可能返回如下错误信息:
    HTTP 500

    , , , , ,

    Windows 2003 建站技术 第三部分

    归类于网络技术 评论关闭

        1、ASPupload的注册使用方法 
        如果你得到“AspEmail's premium features have expired”出错消息后请运行regedit,删除HKEY_LOCAL_MACHINE\SOFTWARE\Persits Software\AspEmail然后使用Regsvr32重新注册AspEmail using.然后你又可以接着用30天了
        2、使用ASP实现文件上载(上传)的各种方法
        最近做在做项目,涉及到文件上载的问题,找来资料研究了一下。当用户需要将文件传输到服务器上时,常用方法是使用FTP方式,用FTP的话虽然传输稳定,但安全性是个严重的问题,而且FTP服务器读用户库获取权限,这样对于用户使用来说还是不太方便。如果我们能把文件上载功能与Web集成,使用户仅用Web浏览器就能完成上载任务,这对于他们来说将是非常方便的。
        网络上有很多介绍ASP上载文件的方法,归结起来有以下三大类实现方法,读者可以根据自己网站的条件和需求来选择合适的方法。
        A、服务器组件上载方式:
        该方法以SA-FileUp组件、AspUpload组件、lyfUpload组件为代表。
        Software Artisans的SA-FileUp是最早的商业Active Server组件之一,几经改进,现在作为一个纯粹的ASP组件存在。Persits Software的ASPUpload也是一个功能很强大的COM组件。他们均实现了各种文件上载所需要的功能:上载大文件、限制上载文件的大小、上载多个文件、显示上载进度条、能够将文件保存到数据库中、……。
        该类方法的优点是运行稳定,功能强大,对浏览器没有任何要求。其缺点就是需要在服务器上注册组件。如果网站管理员对服务器拥有管理权限,则该方法应该是实现文件上载的首选。
        B、无组件上载方式:
        该方法以化境无组件上传、无惧无组件上传、先锋无组件上传等为代表。
        该方法是网络上应用最多最广的方法,并且有很多应用实例的源代码,其优点是对服务器和浏览器均没有任何要求,适应性强,应用范围广。但它也存在着一个缺点,上载文件的时候没有进度条的显示,并且IIS默认限制不允许上载超过200KB的文件(除非修改IIS的默认设置AspMaxRequestEntityAllowed)。
        如果只需要上载小文件,则应该是首选方案。如果需要上载大文件,则需要网站管理员修改IIS的默认设置AspMaxRequestEntityAllowed。
        C、浏览器组件上载方式:
        该方法以XUpload组件、XUploadFiles组件、纵横HTTP文件上传组件为代表。
        该方法在网络上应用相对要少一些,其优点是对服务器无要求,不需要在服务器上安装组件,并且能提供文件上载所需要的各种功能:上载大文件、限制上载文件的大小、上载多个文件、显示上载进度条、……。其缺点也比较明显,需要注册浏览器组件(在客户端)。该方法适用于需要上载大文件,而网站管理员对服务器没有管理权限的情况(如虚拟主机、租用空间等)。
        • 各种上载方法横向比较结果:
          服务器要求 浏览器要求 上传文件限制 上传时有无进度条 其他
        SA-FileUp 安装组件 - 支持大文件,无限制 有进度条 需要有服务器控制权
        AspUpload 安装组件 - 支持大文件,无限制 有进度条 需要有服务器控制权
        lyfUpload 安装组件 - 支持大文件,无限制 无 需要有服务器控制权
        化境无组件上传 - - 与IIS设置相关,
        IIS默认设置最大200KB 无 通用,
        适用小文件上载
        无惧无组件上传 - - 与IIS设置相关,
        IIS默认设置最大200KB 无 通用,
        适用小文件上载
        先锋无组件上传 - - 与IIS设置相关,
        IIS默认设置最大200KB 无 通用,
        适用小文件上载
        XUploadFiles - 安装组件 支持大文件,无限制 有进度条 租用空间,
        而需要上载大文件
        纵横HTTP文件
        上传组件 - 安装组件 支持大文件,无限制 有进度条 租用空间,
        而需要上载大文件
        转自:动态网制作指南 www.
        3、各种组件上传实现方案:
        A、 云游时使用的组件传送小文件:
        需要组件:proUploadFile.dll
        Set Upfile = Server.CreateObject("proUploadFile.UploadFile") '定义对象
        If (Upfile.Filename <> "") Then
        upfile.filesaveas(Server.MapPath("Courseware")&"\"&upfile.filename) '上传文件
        '*****把上传后的文件进行更名操作*******
        set fso = Server.Createobject("Scripting.FileSystemObject") '使用FileSystemObject对象
        path = "Courseware\" &upfile.filename 
        path = server.mappath(path) '取得上传文件绝对Path
        '**下面一句为新文件名的字符串:年_月_日-时_分_秒 + 原文件扩展名
        strNewFileName = "Courseware\" & Year(Now) & "-" & Month(Now) & "-" & Day(Now) & "_" & Hour(Now) & "-" & Minute(Now) & "-" &second(Now) & "." & fso.GetExtensionName(path)
        '**下面一句为原文件的绝对Path
        sSourcePathFile = "Courseware\" & fso.GetFileName(path)
        '**通过移动的方法实现文件更名(注:速度极快)
        fso.movefile ""&Server.MapPath(sSourcePathFile) & "",""&Server.MapPath(strNewFileName)&""
        End If
        B、 XuploadFiles组件,有进度条,上传无限制文件,但需在客户端上安装组件
        需要组件:XuploadFiles.mdb、XuploadFiles.asp、XuploadFiles.cab、XuploadFiles.js
        ‘***********************页面标记及上传文件设定*******************************
        <META content="MSHTML 6.00.3790.0" name=GENERATOR></HEAD>
        <BODY  leftMargin=0 topMargin=0 marginwidth="0" marginheight="0">
        <form method="post" action="SectionAdd.asp?Method=UpLoad" onSubmit="return check_reply(UPLOADID,this);">
        、、、、、、、、、、、、、、、、、、、、、、、、、、、、、DoSomeThing()
        ‘上传文件框及按钮
        <input name="filelist" id="filelist" type="text" class="input" size="10" maxlength="50" readonly="true"  style=" " >
        <input name="button2&
    #34; type="button" onClick="UPLOADID.selectfile();" value="选择文件">
        ‘***********************页面标记及上传文件设定*******************************
        ‘**********************所需check_reply(oUpload, oForm) ************************
        <script language="javascript">
        function check_reply(oUpload, oForm)
        {
        if(!oUpload.isready ())
        {
        alert("您还没有选择需要上传的文件。");
        return false;
        }
        //oUpload.setpath ("upresourcefile"); // 设置上传文件的路径
        if(oUpload.uploadfile()=="") // 上传所选择的文件
        return false;
        }
        </script>
        ‘**********************所需check_reply(oUpload, oForm) **********************
        上传代码:
        Dim namearray,count
        namearray = Split(Request.Form("filelist"),"+") ' 多个文件名之间使用加号(+)分割
        count = UBound(namearray)
       
        '*****把上传后的文件进行更名操作
        set fso = Server.Createobject("Scripting.FileSystemObject")
        path = server.mappath(namearray(0)) ‘看此处如何取得上传文件名
        C、 AspUpload,服务器注册组件,有进度条,上传文件无限制
        需要组件:BAR.ASP、FRAMEBAR.ASP、MovieFile_Upload.asp、MovieUp.asp
        相关AspUpload文献(安装AspUpload中的各个版本即可得到其中官方文献)
        文件上传是将任意的文件从客户机发送到服务器的过程。最简单、最方便的上传方法是使用支持RFC1867的浏览器,如 微软的Internet Explorer4.0以上版本,Netscape3.0以上版本,或者带附件的Internet Explorer3.0。基于浏览器的文件上传是通过带有属性ENCTYPE="multipart/form-data"的HTML form实现的。这个form也必须包含一个或多个<INPUT TYPE=FILE>项,以让用户指定要上传的本地文件。
        带有ENCTYPE="multipart/form-data"属性的form所发送的数据必须被一个服务器端过程解析,以展开上传的文件和其他非文件项。在ASP环境中,这种任务用编译好的active server组件能最好的完成,比如Persits软件公司的AspUpload
        (http://www.persits.com">http://www.persits.com)。
        本文所有示例都是建立在你的系统中安装了AspUpload的基础上的。可以在这里下AspUpload
        免费评估版http://www.persits.com/aspupload.html">http://www.persits.com/aspupload.html。解压文件后,将AspUpload.dll
        放在任意目录中,在MS DOS窗口中执行命令
        regsvr32 c:dirAspUpload.dll
        开始
        我们来创建一个简单的能上传3个文件的HTML form,和控制上传的脚本。
        这里是第一个HTML文件
        Test1.htm:
        <HTML>
        <BODY BGCOLOR="#FFFFFF">
        <FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="UploadScript1.asp">
        <INPUT TYPE=FILE SIZE=60 NAME="FILE1"><BR>
        <INPUT TYPE=FILE SIZE=60 NAME="FILE2"><BR>
        <INPUT TYPE=FILE SIZE=60 NAME="FILE3"><BR>
        <INPUT TYPE=SUBMIT VALUE="Upload!">
        </FORM>
        </BODY>
        </HTML>
        每个 <INPUT TYPE=FILE> 项在浏览器中显示成为一个带有"Browse…"按钮的文本输入框。如果你没看见Browse按钮,很有可能说明你的浏览器不支持文件上传。
        这里是相应的上传脚本 UploadScript1.asp:
          <HTML> 
        <BODY> 
        <% 
        Set Upload = Server.CreateObject("Persits.Upload.1") 
        Count = Upload.Save("c:upload")
        %>
        <% = Count %> files uploaded. 
        </BODY> 
        </HTML>
        ASP脚本的第一行仅仅创建了一个AspUpload对象的实例。第二行调用组件的Save方法,它实际上的作用是:它解析从浏览器发送的东西,计算出有多少个文件正在上传,并且把他们存在服务器上指定的目录。目录名可能以反斜线结束,也可能不是。所有文件将以他们原来的名字存放在目录中。我们很快将看到如何更改任意或者所有文件的名字。
        Save方法返回成功上传的文件数量。万一发生错误,这个方法将抛弃之。
        注意你能够使用我们的form中任意或者全部三个输入框。AspUpload有足够的智慧判断出哪些输入框使用了,哪些没有。
        使用FILES和FORMS集合访问单个form项
        我们看看第二组示例:
        Test2.htm
        <HTML>
        <BODY BGCOLOR="#FFFFFF">
        <FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="UploadScript2.asp">
        File 1:<INPUT TYPE=FILE NAME="FILE1">
        Description 1:<INPUT TYPE=TEXT NAME="DESCR1"><BR>
        File 2:<INPUT TYPE=FILE NAME="FILE2">
        Description 2:<INPUT TYPE=TEXT NAME="DESCR2"><BR>
        <INPUT TYPE=SUBMIT VALUE="Upload!">
        </FORM>
        </BODY>
        </HTML>
        UploadScript2.asp <HTML> 
        <BODY> 
        <% 
        Set Upload = Server.CreateObject("Persits.Upload.1") 
        Upload.Save "c:upload"
        %> 
        Files:<BR> 
        <% 
        For Each File in Upload.Files 
        Response.Write File.Name & "=" & File.Path & " (" & File.Size & ")<BR>"
        Next
        %> 
        <P> 
        Other items:<BR> 
        <% 
        For Each Item in Upload.Form 
        Response.Write Item.Name & "=" & Item.Value & "&lt
    ;BR>"
        Next
        %> 
        </BODY> 
        </HTML>
        注意我们的HTML form现在有两种输入框,TYPE=FILE 和 TYPE=TEXT。因为我们form的ENCTYPE属性,我们不再能通过标准的ASP Response.Form 集合来访问form变量。此处Upload.Form 来解决了问题。这个集合实际上和Response.Form一样,也就是,我们能通过整形或字串型索引访问它的元素。例如:
        Set Item1 = Upload.Form("DESCR1")
        或者
        Set Item1 = Upload.Form(1).
        我们也能够使用上面示例代码显示的For-Each语句遍历集合中的项。Form集合包含FormItem类型的对象,它只有两个字串属性,Name 和 Value (缺省属性).
        记住Upload.Form集合仅仅包含非文件项,也就是不同于<INPUT TYPE=FILE>,这点很重要。AspUpload提供另外一个集合,叫做Files,来包含UploadedFile类型的对象,这种对象代表已经上传的来自<INPUT TYPE=FILE>项的文件。很象Form集合,Files集合的项能够通过使用字串或者整形索引,或者一个For-Each语句访问,象上面的示例显示的一样。
        运行示例2以后,我们将看到象这样的一些东西:
        Files:
        FILE1=c:uploadFile1.xls (108544)
        FILE2=c:uploadFile2.zip (211687)
        Other items:
        DESCR1=bla bla
        DESCR2=test test
        注意我们已经通过UploadedFile对象相应的Path和Size属性获得了上传过的文件的目标路径和文件大小。
        如果我们的form只包含一个文件输入框,<INPUT TYPE=FILE NAME="ONLYFILE">,那么没有必要使用For-Each语句。我们只需要这么说
        Response.Write Upload.Files("ONLYFILE").Path
        或者,更常用的
        Response.Write Upload.Files(1).Path
        要点:Files和Form集合在调用Save方法前都不会装入,因此在调用Upload.Save前就查询这些集合是不正确的。
        ' 错误!
        Upload.Save( Upload.Form("Path") )
        限制文件大小
        也许你需要限制上传文件的大小,以防止服务器磁盘空间拥塞。你所需要做的一切就是在调用Save之前在你的Upload对象中调用SetMaxSize:
        Set Upload = Server.CreateObject("Persits.Upload.1")
        Upload.SetMaxSize 50000, False
        Upload.Save "c:upload"
        在这个例子中,我们将上传文件的大小限制在50000字节内。第二个可选参数指定超出文件最大范围的部分是否应该被删除(如果设成false或者不设),或者作为错误例外拒绝接收(如果设成True) 。
        强制特有文件名
        缺省的,AspUpload将覆盖上传路径中已有的文件。如果你不想这样,可以配置组件,为上传文件产生特有的名字来防止覆盖已有文件。方法是,在调用Save前设置上传管理器的OverwriteFiles属性:
        Upload.OverwriteFiles = False
        缺省值是true。
        为防止名字冲突,AspUpload将在原来文件名后面加上用圆括号括起来的整数。例如,如果文件MyFile.txt已经存在于上传目录了,并且另外一个同名文件正在上传,AspUpload会将新文件存为 MyFile(1).txt。如果我们上传更多的MyFile.txt,他们将被存MyFile(2).txt, MyFile(3).txt,等等。
        移动、拷贝、删除文件
        文件上传对象提供了一些方法供你移动、拷贝或者删除上传的文件。这些方法是
        file.Move( NewName As String )
        file.Copy( NewLocation As String, Optional Overwrite)
        file.Delete
        根据NewName参数,Move方法将文件移动到其他目录或者给他更名。假设文件abc.txt上传到了目录
        c:Upload。那么调用
        file.Move "c:WINNTabc.txt" 将把文件移动到 c:WINNT, 而调用
        file.Move "c:Uploadxyz.txt" 只会更改文件名。
        要知道Move方法有个副作用是很重要的:当这个方法成功调用后,这个文件对象的Path属性将指向新目录/名字。
        Copy属性把文件拷贝到新目录/名字。新目录必须是完全合法的路径。 Overwrite参数如果设成True或者不设,就会指示Copy方法覆盖新目录里的已有文件。 如果设成False,当文件在新目录中已经存在地时候,会导致方法失败。与Move方法不同,这个方法不会影响Path属性。
        有时你可能选择使用Delete方法,例如你在把文件作为BLOBs存入数据库中,并且不再需要它放在你的上传路径里时。将文件存入数据库是我们下一个要讨论的主题。
        把文件作为BLOBs存入数据库
        许多数据库管理系统象Ms Access或者SQL Server将允许你将任意文件存为"binary large objects"(BLOBs)。一个MS Access表格能够在OLE Object型的数据字段中存放二进制文件。在SQL Server中,相应的数据类型是IMAGE。存放的文件以后能够重新取出供下载,或者用ADO显示。
        AspUpload让你只使用短短一行代码就能把上传文件存入数据库!让我们看看第三组示例文件。文件 Test3.htm几乎和Test1.htm相同,因此我们不再把它显示在这里。文件UploadScript4.asp 很值得我们注意:
        <HTML> 
        <BODY> 
        <% 
        Set Upload = Server.CreateObject("Persits.Upload.1") 
        Upload.Save "c:upload" 
        On Error Resume Next 
        For Each File in Upload.Files 
        File.ToDatabase "DSN=data;UID=sa;PWD=xxx;", "insert into Blobs(id, Path, BigBlob) values(12, '" & File.Path & "', ?)"
        if Err <> 0 Then 
        Response.Write "Error saving the file: " & Err.Description
        Else 
        File.Delete 
        Response.Write "Success!"
        End If
        Next
        %> 
        </BODY> 
        </HTML>
        这一行
        On Error Resume Next
        指示asp当以外发生时,不要显示错误信息,只将意外代码和描述存放到内建的Err对象,并且继续脚本的执行。
        下一行
        File.ToDatabase "DSN=data;UID=sa;PWD=xxx;", "insert into Blobs(id, Path, BigBlob) values(12, '" & File.Path & "', ?)"
        是将文件存放入数据库所采用的一切。我们来检查一下这个方法的两个参数:
        第一个参数是下列格式的ODBC连接字串:
        "DSN=datasource;UID=userid;PWD=password;<other optional parameters>"
        第二个参数是SQL Insert或者Update语

    , , , , ,

    Windows 2003 建站技术 第二部分

    归类于网络技术 评论关闭

        如何启用 ASP 支持
        Windows Server 2003 默认安装,是不安装 IIS 6 的,需要另外安装。安装完 IIS 6,还需要单独开启对于 ASP 的支持。方法是:
        控制面板 -> 管理工具 -> Web服务扩展 -> Active Server Pages -> 允许。
        启用实现大文件上传
        Windows2003系统下,上传较大的文件时,出现“Request 对象 错误 'ASP 0104 : 80004005'”错误。
        更改win2003的IIS 6.0对asp的上传文件大小为200k限制,aspx的上传程序没有影响。在IIS6.0中,默认设置是特别严格和安全的,最大只能传送 204,800 个字节,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击。IIS 6 出于安全考虑, 默认最大请求是200K(也即最大提交数据限额为200KByte,204800Byte)。(在 IIS 6.0 之前的版本中无此限制)
        解决方案:先在服务里关闭iis admin service服务,找到windows\system32\inesrv\下的metabase.xml, 打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K,如把它修改为51200000(50M)。
        然后重启iis admin service服务。
        如何启用 Web 服务扩展
        为了更好地预防恶意用户和攻击者的攻击,在默认情况下,没有将 IIS 安装在 Microsoft&reg; Windows&reg; Server 2003 家族的成员上。而且,当您最初安装 IIS 时,该服务在高度安全和“锁定”的模式下安装。在默认情况下,IIS 只为静态内容提供服务 - 即,诸如 ASP、ASP.NET、服务器端的包括文件、WebDAV 发布和 FrontPage&reg; Server Extensions 功能只有在启用时才工作。如果在安装 IIS 之后未启用该功能,IIS 将返回一个 404 错误。有关如何排解 404 错误(包括 404.2 和 404.3)、与 IIS 6.0 的新安装相关的问题或从低版本的 IIS 进行升级的详细信息,请参阅疑难解答。
        要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\\system32\\inetsrv\\iis.msc"。
        启用 Web 服务扩展
        在 IIS 管理器中,单击“Web 服务扩展”文件夹。
        在详细信息窗格中,选择要启用的 Web 服务扩展,然后单击“允许”。
        要查看 Web 服务扩展的属性,请选择一个扩展,然后单击“属性”。
        如何创建网站或 FTP 站点
        IIS 在安装时会在硬盘上创建一个默认网站配置。您可以使用 \\Inetpub\\Wwwroot 目录发布 Web 内容,也可以创建所选的任何目录或虚拟目录。为了创建 FTP 站点,必须安装和启动文件传输协议 (FTP) 服务。默认情况下不会安装它。
        使用 IIS 管理器创建网站或 FTP 站点不会创建内容,而只创建一个用于从中发布内容的目录结构和多个配置文件。
        要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\\system32\\inetsrv\\iis.msc"。
        使用默认网站
        在 IIS 管理器中,展开本地计算机,展开“网站”文件夹,右键单击“默认网站”,然后单击“属性”。
        在“网站”选项卡上,在“网站标识”下的“描述”框中键入网站的名称。
        单击“确定”。新站点的名称出现在 IIS 管理器中。
        新建网站
        在 IIS 管理器中,展开本地计算机,右键单击“网站”文件夹,指向“新建”,然后单击“网站”。出现“网站创建向导”。
        单击“下一步”。
        在“描述”框中,键入站点的名称,然后单击“下一步”。
        键入或单击站点的 IP 地址(默认值为“全部未分配”)、TCP 端口和主机头(例如,http://www.zuoxinwu">www.zuoxinwu),然后单击“下一步”。
        在“路径”框中,键入或浏览到包含或将要包含站点内容的目录,然后单击“下一步”。
        选中与要指定给用户的网站访问权限相对应的复选框,然后单击“下一步”。
        单击“完成”。
        要在以后更改这些设置和其他设置,请右键单击网站,然后打击“属性”。
        安装 FTP 服务
        从“开始”菜单,单击“控制面板”。
        双击“添加或删除程序”。
        单击“添加/删除 Windows 组件”。
        从“组件”列表框中,单击“应用程序服务器”,然后单击“详细信息”。
        从“应用程序服务器的子组件”列表框中,单击“Internet 信息服务 (IIS)”,然后单击“详细信息”。
        从“Internet 信息服务的子组件”列表框中,选中“文件传输协议 (FTP) 服务”复选框。
        单击“确定”两次。
        单击“下一步”。您可能被提示插入 Windows Server 2003 家族光盘或输入网络安装路径。
        单击“完成”,然后单击“关闭”。
        注意 IIS 管理器会在安装 FTP 服务的过程中创建一个默认 FTP 站点。可使用 \\Inetpub\\Ftproot 目录发布内容,也可以另创建一个。
        新建 FTP 站点
        在 IIS 管理器中,展开本地计算机,右键单击“FTP 站点”文件夹,指向“新建”,然后单击“FTP 站点”。出现“FTP 站点创建向导”。
        单击“下一步”。
        在“描述”框中,键入站点的名称,然后单击“下一步”。
        键入或单击站点的 IP 地址(默认值为“全部未分配”)和 TCP 端口,然后单击“下一步”。
        单击所需的用户隔离选项,然后单击“下一步”。
        在“路径”框中,键入或浏览到包含或将要包含共享内容的目录,然后单击“下一步”。
        选中与要指定给用户的 FTP 站点访问权限相对应的复选框,然后单击“下一步”。
        单击“完成”。
        要在以后更改这些设置和其他设置,请右键单击 FTP 站点,然后打击“属性”。
        如何创建虚拟目录
        在大多数情况下,发布到网站或 FTP 站
    点的内容位于计算机上的根目录或主目录中,如 C:\\Inetpub\\Wwwroot\\。但是,在某些情况下,内容会放在其他位置甚至远程计算机上。
        要从主目录或根目录以外的其他目录中进行发布,可创建虚拟目录。虚拟目录不包含在主目录中,但在显示给客户浏览器时就像位于主目录中一样。
        要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\\system32\\inetsrv\\iis.msc"。
        创建虚拟目录
        在 IIS 管理器中,展开“FTP 站点”文件夹,展开要向其中添加虚拟目录的 FTP 站点,右键单击要在其中创建虚拟目录的站点或文件夹,指向“新建”,然后单击“虚拟目录”。出现“虚拟目录创建向导”。
        单击“下一步”。
        在“别名”框中,键入虚拟目录的名称。这是用户键入的名称,应当简短且易于键入。
        单击“下一步”。
        在“路径”框中,键入或浏览到驻留虚拟目录的物理目录,然后单击“下一步”。
        在“允许下列权限”下,选中与要指定给用户的访问权限相对应的复选框,然后单击“下一步”。
        注意 出于安全目的,在选择访问权限时,请考虑只允许默认的“读取”权限。通过按照这种方式限制权限可避免恶意用户攻击网站。有关详细信息,请参阅 Windows 帮助中的保护虚拟目录和访问控制。
        单击“完成”。虚拟目录在当前选定的文件夹级别下创建。
        如果使用的是 NTFS 文件系统,还可以创建虚拟目录。
        创建 NTFS 格式的虚拟目录
        打开 Windows 资源管理器。
        右键单击要成为虚拟目录的文件夹,然后单击“共享和安全”。
        单击“Web 共享”选项卡。
        单击“共享文件夹”。
        在“别名”框中,键入虚拟目录的名称。
        单击“确定”两次。
        如何创建应用程序池
        要点 只有在工作进程隔离模式下运行时才能使用这个 IIS 6.0 功能。
        当 IIS 6.0 在工作进程隔离模式下运行时,可将 Web 应用程序组合到应用程序池中。应用程序池允许将特定配置设置应用于多个应用程序组,并允许工作进程为这些应用程序提供服务。可向应用程序池指定任何 Web 目录或虚拟目录。
        通过创建新应用程序池并向它们指定网站和 Web 应用程序,可提高服务器的效率和可靠性,并使其他应用程序即使在新应用程序池终止时也总是可用。
        要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\\system32\\inetsrv\\iis.msc"。
        创建新应用程序池
        在 IIS 管理器中,展开本地计算机,右键单击“应用程序池”,指向“新建”,然后单击“应用程序池”。
        在“应用程序池 ID”框中,键入新应用程序池的名称。
        在“应用程序池设置”下,单击“对新的应用程序池使用默认设置”或“将现有应用程序池作为模板”。
        如果您选择的是“将现有应用程序池作为模板”,请从“应用程序池名称”列表框中,单击要用作模板的应用程序池。
        单击“确定”。
        如何创建和隔离应用程序
        要创建应用程序,应将目录指定为应用程序的开始位置(应用程序根目录)。然后您可以设置应用程序的属性。每个应用程序都可以有一个好记的名称;该名称出现在 IIS 管理器中并给出了一种区分应用程序的方法。应用程序名称不在其他地方使用。
        网站默认作为根目录级别的应用程序。当您创建一个网站时,同时会创建一个默认应用程序。您可以使用这个根目录级别的应用程序,也可删除它,还可通过删除它并创建一个新应用程序来替换它。
        要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\\system32\\inetsrv\\iis.msc"。
        创建应用程序
        在 IIS 管理器中,展开本地计算机,右键单击作为应用程序开始位置的目录,然后单击“属性”。
        单击“主目录”、“虚拟目录”或“目录”选项卡。
        在“应用程序设置”部分,单击“创建”。如果看到的是“删除”按钮(而非“创建”按钮),则说明应用程序已经创建。
        在“应用程序名”框中,键入应用程序的名称。
        单击“确定”。
        隔离应用程序表示将它们配置为在与 Web 服务器和其他应用程序不同的进程(内存空间)中运行。可在下列某种隔离模式下运行 IIS 6.0:工作进程隔离模式或 IIS 5.0 隔离模式。IIS 不能同时在这两种模式下运行。
        在全新安装时,工作进程隔离模式是运行服务器的默认模式。在该模式中,可通过将应用程序添加到包括隔离设置的应用程序池中来隔离它。有关创建和配置应用程序池的详细信息,请参阅配置应用程序池。
        在工作进程隔离模式中隔离应用程序
        在 IIS 管理器中,展开本地计算机,展开“网站”文件夹,右键单击要隔离的应用程序,然后单击“属性”。
        单击“主目录”、“虚拟目录”或“目录”选项卡(取决于应用程序)。
        在“应用程序设置”部分中,在“应用程序池”列表框中,单击应用程序池。
        单击“应用”,然后单击“确定”。
        IIS 5.0 隔离模式允许您在 IIS 6.0 中运行为早期版本的 IIS 开发的应用程序。
        在 IIS 5.0 隔离模式中隔离应用程序
        在 IIS 管理器中,展开本地计算机,展开“网站”文件夹,右键单击要隔离的应用程序,然后单击“属性”。
        单击“主目录”、“虚拟目录”或“目录”选项卡(取决于应用程序)。如果在列为“开始位置”目录的目录中,则“应用程序名”框已填好。
        从“执行权限”列表框中,单击相应的进程选项。
        单击“确定”
    。在创建单独的进程之前,Web 服务器将完成任何当前的对应用程序请求的处理。在对应用程序的下一个请求中,应用程序将在相应的内存空间中运行。
        注意 服务器端的包括文件 (SSI) 和 Internet 数据库连接器 (IDC) 应用程序无法在 Web 服务器之外的内存空间运行。
        如何获取和备份 SSL 证书
        安全套接字层 (SSL) 证书包含通过网络建立标识(即称为身份验证的过程)所使用的信息。与验证的常见形式一样,证书使 Web 服务器和用户在建立连接前能够互相进行身份验证。
        “服务器证书”包含关于服务器的信息,该信息允许客户在共享敏感信息之前对服务器进行确认性识别。“客户端证书”包含关于请求访问站点的客户的个人信息,可在允许其访问站点之前正确加以识别。
        本主题限于获取、安装和备份服务器证书。有关获取客户端证书的信息,请参阅获取客户端证书。
        有两种方式可以获取服务器证书。您可以颁发自己的证书,也可以从证书颁发机构获取证书。
        要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用非 Administrators 组中的帐户登录到计算机,然后使用运行方式命令来以管理员身份执行该步骤。
        发布自己的服务器证书
        使用 Microsoft 证书服务 2.0 创建用来发布和管理证书的自定义服务。您可以为 Internet 或公司 Intranet 创建服务器证书,以便公司能够完全控制证书管理策略。有关详细信息,请参阅 Microsoft 证书服务帮助。
        –或–
        使用 Web 服务器证书向导请求和安装服务器证书。
        从证书颁发机构获取服务器证书
        查找提供可满足贵公司业务需求的服务的证书颁发机构,然后请求服务器证书。
        –或–
        使用 Web 服务器证书向导创建证书请求,您可以将证书请求发送到证书颁发机构。
        在证书已被处理且返回给您之后,使用 Web 服务器证书向导安装证书。
        保护好证书和密钥对非常重要;必须将它们备份到磁盘并保存在安全的地方。
        创建服务器证书和私钥的备份副本
        查找正确的证书存储。这通常是证书管理器中的本地计算机存储位置。
        如果未在 Microsoft 管理控制台 (MMC) 中安装证书管理器,则需要安装它。
        在个人存储位置中右键单击证书,指向“所有任务”,然后单击“导出”。
        选择“是,导出私钥”。
        按照向导默认的设置,当系统提示时,为证书备份文件键入一个密码。
        不要选择“如果导出成功,删除密钥”,因为这将禁用当前服务器证书。
        完成向导以导出服务器证书的备份副本。
        如果已经在 MMC 中安装了证书管理器,它将指向正确的本地计算机证书存储位置。
        将证书管理器添加到 MMC
        从“开始”菜单,单击“运行”。
        在“打开”框中,键入 mmc,然后单击“确定”。出现“ Microsoft 管理控制台”。
        在“文件”菜单上,单击“添加/删除管理单元”。
        在“独立”选项卡上,单击“添加”。
        从“可用的独立管理单元”列表框中,单击“证书”,然后单击“添加”。
        单击“计算机帐户”选项,然后单击“下一步”。
        单击“本地计算机(运行这个控制台的计算机)”选项,然后单击“完成”。
        单击“关闭”,然后单击“确定”。
        如何备份和还原配置数据库
        IIS 管理员可使用 IIS 管理器或编程管理脚本来创建备份文件。备份文件是指配置数据库配置文件 (MetaBase.xml) 和匹配的配置数据库架构文件 (MBSchema.xml) 的副本。使用配置数据库配置的备份和还原功能,可从备份文件中还原配置数据库。
        要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\\system32\\inetsrv\\iis.msc"。
        创建安全备份(需要密码)
        在 IIS 管理器中,右键单击本地计算机,指向“所有任务”,然后单击“备份/还原配置”。
        单击“创建备份”。
        在“配置备份名称”框中,键入备份文件的名称。
        选中“使用密码加密备份”复选框,在“密码”框中键入密码,然后在“确认密码”框中键入同一个密码。
        单击“确定”,然后单击“关闭”。
        创建不受保护的备份(无需密码)
        在 IIS 管理器中,右键单击本地计算机,指向“所有任务”,然后单击“备份/还原配置”。
        单击“创建备份”。
        在“配置备份名称”框中,键入备份文件的名称。
        单击“确定”,然后单击“关闭”。
        还原配置数据库备份
        在 IIS 管理器中,右键单击本地计算机,指向“所有任务”,然后单击“备份/还原配置”。
        在“备份”列表框中,单击要还原的“自动备份”文件的版本,然后单击“还原”。如果被提示输入密码,请键入所选择的用来保护备份的密码。
        如何重定向网站
        当浏览器请求网站上的网页或程序时,Web 服务器查找由 URL 标识的网页并将其返回到浏览器。当移动网站上的一个网页时,您无法总是更正所有引用该页上的旧 URL 的链接。为了确保浏览器能够找到位于新 URL 的网页,可以命令 Web 服务器将浏览器“重定向”到新 URL。
        可以将对一个目录中文件的请求重定向到另一个目录、另一个网站或者另一个目录中的另一个文件。当浏览器请求位于原始 URL 的文件时,Web 服务器命令浏览器通过使用新 URL 请求网页。
        要点 您必须是本地计算机上 Administrators 组

    , , , , ,

    Windows 2003 建站技术 第一部分

    归类于网络技术 评论关闭

    第一部分 Windows 2003 Server 操作系统安装及配置


        Windows2003不是为家庭多媒体设计的,它是为大型商业服务的,所以他自动关闭了许多我们在Windows98、XP上常见的功能,又增加了一些我们在Windows98、XP上不常见的功能,以此来提升系统效率和增加系统安全措施。
        Windows 2003是 Microsoft最新的服务器版操作系统,可以说是Windows XP的 Server版升级,但对于安全问题,同样不能疏忽。
    升级和补丁
        Windows 2003的是比较新的系统,还没有像Windows 2000的SP4补丁程序,不过它的服务器组件仍是以IIS为核心,像“冲击波”等病毒同样能够伤害它,所以定期检查升级以及给服务器系统打补丁是非常必要的。
    利用“网络监视器”
        “网络监视器”是从Windows 2000 Server就开始引入的一个监视网络通讯状况的服务器组件,它可以细致到监视一个数据包的具体内容,以供用户详细了解服务器的数据流动情况,使用“网络监视器”可以帮助网管查看网络故障,检测黑客攻击。
        点击Windows Server 2003的桌面[开始]→[程序]→[管理工具]中的“网络监视器”(运行网络监视器之前必须确保网络监视器已经安装,在默认情况下网络监视器作为2003的组件没有被安装,需要在“控制面板”的“添加/删除 Windows 组件”中添加“网络监视器”),来启动“网络监视器”。
        进入监视器的主菜单后,点击工具栏中的三角形(类似[Play])按钮,就开始监视指定网卡的通信了。网络监视器提供了“网络利用率”、“每秒帧数”、“每秒字节数”、“每秒广播数”等网络通信监控功能,这些参数对于网络故障的排除和网络监控具有非常重要的作用。
        其中,“网络利用率”是网络当前负载与最大理论负载量的比率。以使用共享式以太网为例,它的最大网络利用率不过在50%左右,如果超过这个数值,网络就饱和了,网络速度会非常慢;交换式以太网(采用交换机)的最大利用率则可达80%左右。“每秒广播数”是被监视的网卡发出和接收到的广播帧的数量,正常情况下,每秒广播帧数是比较少的,它视网络上的电脑数量而定;而在发生“广播风暴”时,每秒广播帧数非常多,高达1000帧/秒以上。
    打开 DirectX 的 D3D 硬件加速
        看桌面属性,设置 -> 高级 -> 疑难问答 -> 硬件加速 -> 完全。运行 dxdiag.exe,打开Display选项卡,可看到 3 项全部启用了。最后,利用Windows updates在Windows Server 2003中安装DirectX 9.0c。
    启用声卡
        系统安装后,声卡是禁止状态,所以要在 控制面板 -> 声音 -> 启用,重启之后再设置它在任务栏显示。
        现在我们还要启用音频加速。在运行中输入Services.msc然后按回车,会出现Services 窗口,找到Windows Audio服务,双击打开,把启动类型设置为Automatic,点击Apply,然后点击Start启动该服务。
        最后我们还要使用DirectX诊断工具,在运行中输入dxdiag并回车,打开Sound选项卡,把Hardware Sound Acceleration Level的滑块拖动到Full。
    禁止关机时出现的关机理由对话框
        开始 -> 运行 -> gpedit.msc -> Computer configuration -> Administrative Templates -> System -> Display shutdown event tracker -> 设置为 Disable。
        如果是中文版,则:gpedit.msc,计算机配置 -> 管理模板 -> 系统 -> 显示关机事件跟踪 -> 禁用。
    如何启用摄像机,摄像头或者扫描仪等设备:
        在运行中输入Services.msc并回车,找到并双击Windows Image Acquisition (WIA) 服务,设置启动类型为Automatic点击Apply后点击Start然后点击OK。
    在控制面板里显示全部组件
        把 Windows\inf 目录中的 sysoc.inf 文件里的 "hide" 替换掉。
    禁用开机 CTRL+ALT+DEL
        管理工具 -> Local Security Settings(本地安全策略) -> 本地策略 -> 安全选项 -> interactive logon: Do not require CTRL+ALT+DEL,禁用之。慎用!搞不好会进不去系统。
        注意:为系统安全起见,一开始设置时管理员的密码就不要留空。
    查有无被激活:开始 –>运行–>oobe/msoobe /a–>回车,稍等一会儿,
        就会看到提示。如果没有激活,说明你安装的是未破解的系统,抓紧想想办法吧!
        如用Reset5.02激活补丁进入安全模式激活等。
    改变开始菜单样式


        在"开始"上点右键,打开属性,选择"经典开始菜单",点"确定",熟悉的开始菜单又回来了!
    系统不能自动添加USB硬盘盘符
    控制面板–>系统–>硬件–>设备管理器–>设备管理器–>磁盘驱动器–>用鼠标指向USB盘–>双击选属性,改“为快速删除而优化”为“为提高性能而优化”–>确定。
        再到:开始–>管理工具–计算机管理–磁盘管理–USB–>右键–设定分配驱动器号。
    IIS6.0 无法安装ZEND
        查看
        check this configure file on C:\Windos\php.ini; cgi.force_redirect is necessary to provide security running PHP as a CGI under; most web servers. Left undefined, PHP turns this on by default. You can; turn it off here AT YOUR OWN RISK; **You CAN safely turn this off for IIS, in fact, you MUST.**; cgi.force_redirect = 1变Windows Server 2003 为工作站
    安装Sun的JAVA虚拟机
        Windows Server 2003中没有包含 微软的JAVA虚拟机,而 微软也不再提供JAVA虚拟机的下载,虽然还有很多地方可以下载到 微软的JAVA虚拟机,不过我还是不建议安装,因为:
        1, 微软的JAVA虚拟机已经停止升级了,如果以后发现了什么新的安全漏洞也不会有任何的补丁程序!
        2,很多下载网站提供了不同大小的JAVA虚拟机,你怎么知道哪个才是最好的?


        所以,最好还是安装JAVA鼻祖的SUN的JAVA虚拟机!

    ]]>

    , , , , ,

    Blog搜索引擎优化之站内SEO

    归类于网络技术 评论关闭

    刚刚分析了脱离站点的搜索引擎优化技术,我将转向注意力分析另外一些因素,当你建立BLOG的时候就可以运用了。(专业搜索引擎技术–当你在BLOG上做这些事情的时候将会帮助你的BLOG建立更高的排名)。做好SEO专业技术有方方面面,围绕SEO的投机技术也有许多,我这里尽可能的介绍一些:


        写丰富关键词的内容—-为你的文章增加新的关键词将有利于GOOGLE蜘蛛爬行文章索引。但不要堆砌太多的关键词,除了考虑"如何做能让人们在搜索引擎中找到这篇文章"?如果人们在GOOGLE中找的内容你文章中有,那你得考虑他们会在GOOGLE中输入什么词来搜索相关文章?问题的答案说明,你应该将这个词贯穿你的整篇文章。


        这些关键词需要在你的文章中被频繁的提及,你可以遵循下面的方法:


        关键词应该出现在网页标题标签里面;


        URL里面有关键词,即目录名文件名可以放上一些关键词;


        在网页导出链接的链接文字中包含关键词;


        用粗体显示关键词(至少试着做一次);


        在<head>标签中提及该关键词(关于如何运用head标签有过争论,但一致都认为h1标签比h2, h3, h4的影响效果更好,当然有些没有运用head标签的网页也有很高的PR值);


        图像ALT标签可以放入关键词;


        整个文章中都要包含关键词,但最好在第一段第一句话就放入;


        在元标签(meta 标签)放入关键词(这点的价值越来越低,但仍有些人相信这对某些搜索引擎是有用的);


        注意不要为了优化而把文章都填充上关键词,形成关键词堆砌,从而毁了你的文章,也扭曲了你写这个文章的意图。大部分SEO专家建议关键词密度最好在5-20% 之间,我认为20%的密度就可能破坏了你的文章。


        最后还想说一点,不要为了做SEO优化,而放弃了用户对你的BLOG体验。虽然关键词密度对搜索引擎的爬行很重要,但最重要的是BLOG的内容和设计对读者是友好的,要提高读者的体验。没有什么比全部填充了关键词的BLOG更糟糕的了,千万不要成为这样的案例。


        主题BLOG—-从我最近读的SEO理论中了解到,如果你的BLOG写的都是关于同一主题,那么它可能将获得较好的排名。例如,一个主题的BLOG将比那些涵盖了多个主题的BLOG的排名要高。建立一个200多页的BLOG,内容都是同一个主题,这个BLOG的排名就会不断的增加,因为在这个主题里你的BLOG被认为具有权威性。考虑一下这个建议保持你的BLOG在一些相同的主题上。当然不这样做也并不意味着你的BLOG永远不能获得较好的排名。它只是考虑的一个因素。


        站点设计—-搜索引擎更喜欢有好的网页结构,无误的代码和明确导航的站点。确保你的页面都是有效的和在主流浏览器中的可视化。搜索引擎不喜欢太多的Flash,frames和java script脚本,所以保持站点的干净整洁,也有利于搜索引擎蜘蛛更快更精确的爬行到你的索引。


        站点的内部链接—-搜索引擎的工作方式是通过蜘蛛程序抓取网页信息,追踪你写的内容和通过网页的链接地址来寻找网页,抽取超链接地址。许多SEO专家都建议BLOG提供网站地图,在BLOG上的每个页面之间最好都有一个到两个的深入链接。BLOGGER要做的第一步是确保导航中包含目录页面,也要确保每个子页面都有链接回到主页面和其它的重要页面。


        有规律的更新—-BLOG更新的次数越频繁,搜索引擎蜘蛛爬行的也就越频繁。这意味着BLOG新文章几天甚至几小时内就可以出现在索引中,而不需要等几个星期。这是BLOG最好的受益方式,尽可能的这样做吧。


        导出链接—-关于搜索引擎如何对待导出链接争论激烈。我一直相信相关的导出链接会提高BLOG在搜索引擎中的排名。我常常在文章中链接到其它相关站点,我想这对我的读者们是有用的,也有一些轶趣的证据来支持这种理论。在你的BLOG链接到外部站点,将减少BLOG的部分流量,所以你需要计算一下这样做的损失。注意:你也应该尝试到一些权威的相关站点上做些链接到你自己的BLOG。记住太多的导出链接将影响降低你的BLOG,正如SEO所说,适度是关键。


        明智的选择域名—-选择域名有大量的因素。最重要的一点是如有可能尽量包括关键词。第二你应该花一点时间看看之前是否有人注册过这个域名。当然效果也是两性的。如果之前有高质量的站点和它做反向链接,那你就受益了。但是也有可能做反向链接的都是一些垃圾站点,那你可能会被GOOGLE禁止很长一段时间。这个检验过期域名的反向链接工具你也许会用到。


        尽可能早的注册域名—-GOOGLE的行为方式证明较早注册的域名会获得更高的排名。这样做是因为,很多垃圾站点只是短期注册,域名时间长证明你的主旨是在建站,并会较长时间的运营它。


        每篇文章的主题—-一个页面的主题越紧凑,搜索引擎对它的排名就越好。有时也许你发现你写了很长的文章,覆盖了一些不同的话题,它们的相关性并不高。如果你关心搜索引擎的排名,那最好把这样的文章切块,分成几个主题更密切的文章。


        写适宜长度的文章—-关于搜索引擎优化有一些人认为太短的文章不能获得较高的排名。一般我控制每篇文章至少有250个字。当然我的BLOG中也有更短的文章,但是如果我想让文章有好的排名,我会注意控制它的长度。另一方面,也不要让文章显得太长,因为这将不利于你保持关键词的密度,文章看上去也缺少紧凑。研究显示过长的文章会急剧减少读者的数量,他们在看第一眼的时候就选择了关闭文章。


        避免内容重复—-GOOGLE在使用指南中严重警告过关于多个网页相同内容的问题。不管这些网页是你拥有的还是别人拥有的。因为一系列的垃圾站点就是不断复制网页内容(也窃取别人网站内容)。有一些争论关于什么样的内容算复制,什么样的不应该包括在内(比如,许多BLOGGER喜欢把免费文章共享在自己的BLOG上,这些文章曾出现在数千百万的网页上)我的建议是如果你的BLOG内容出现在许多地方那你就要小心了。


        Ping—-像Pingomatic这样的服务,它可以帮你ping到其它站点,提示你的BLOG内容已更新。这样,搜索引擎知道你的文章已更新,从而吸引蜘蛛过来爬行。


        提交BLOG的RSS到MyYahoo—-提交BLOG的RSS种子到Yahoo的MyYahoo阅读器,这会有利于yahoo索引。你也可以提交到Google’s Personalised pages ,这会有相同的功效。


        目录的数量—-当我的目录过多的时候,我自己都会陷入麻烦。我认为大站点的等级比小站高,当然一些小站点也有高的等级,这并不是标准。目录越多,搜索引擎搜索的也就越全面。如果你有太多的页面,你需要组织它们以方便搜索引擎爬行。我的意思并不是随便建立一些无谓的垃圾目录,请注意,随着
    时间推移,最好建一个大而全的站点。


        提交到搜索引擎—-如果你做了所有站内SEO都该做的事,BLOG却还没有出现在搜索引擎中。那是因为搜索引擎还没有开始收录。每个搜索引擎都允许用户提交未收录站点。一般需要很长一段时间来等待搜索引擎的收录,也许更快的方法还是得到已经被搜索引擎收录的站点的链接。


        最后补充:上面的技术大多来自我个人的经验和其它人那里学习得来。我并不是SEO专家,但如果你运用上面的方法,你也能做得很好。不要被SEO迷惑,如果你忘记读者,忘记写有质量的内容,只为SEO,那不久你就发现你掉进了SEO的骗术,然后被搜索引擎拒绝!

    ]]>

    , , , , ,

    13种时间管理的方法

    归类于经典阅读 评论关闭

    1、有计划地使用时间。不会计划时间的人,等于计划失败。


    2、目标明确。目标要具体、具有可实现性。


    3、将要做的事情根据优先程度分先后顺序。80%的事情只需要20%的努力。而20%的事情是值得做的,应当享有优先权。因此要善于区分这20%的有价值的事情,然后根据价值大小,分配时间。


    4、将一天从早到晚要做的事情进行罗列。


    5、要具有灵活性。一般来说,只将时间的50%计划好,其余的50%应当属于灵活时间,用来应对各种打扰和无法预期的事情。


    6、遵循你的生物钟。你办事效率最佳的时间是什么时候?将优先办的事情放在最佳时间里。


    7、做好的事情要比把事情做好更重要。做好的事情,是有效果;把事情做好仅仅是有效率。首先考虑效果,然后才考虑效率。
    Focus first on effectiveness (identifying what is the right thing to do), then concentrate on efficiency (doing it right).


    8、区分紧急事务与重要事务。紧急事往往是短期性的,重要事往往是长期性的。给所有罗列出来的事情定一个完成期限。


    9、对所有没有意义的事情采用有意忽略的技巧。将罗列的事情中没有任何意义的事情删除掉。


    10、不要想成为完美主义者。不要追求完美,而要追求办事效果。


    11、 巧妙地拖延。如果一件事情,你不想做,可以将这件事情细分为很小的部分,只做其中一个小的部分就可以了,或者对其中最主要的部分最多花费15分钟时间去做。


    12、学会说"不"。一旦确定了哪些事情是重要的,对那些不重要的事情就应当说"不"。


    13、奖赏自己。即使一个小小的成功,也应该庆祝一下。可以事先给自己许下一个奖赏诺言,事情成功之后一定要履行诺言。

    ]]>

    , , ,

    顶部