第一篇:Windows Server 2003 下 ASP 及
2010年06月4日搶沙發(fā)
基于 Windows Server 2003 下的 IIS 6.0 來(lái)搭建 ASP 及.NET 網(wǎng)站虛擬主機(jī)服務(wù)環(huán)境,需要進(jìn)行這么幾步:
?
?
?
? Windows Server 2003 操作系統(tǒng)的安裝、安全設(shè)置及性能優(yōu)化; 相關(guān)軟件的安裝配置; IIS 6.0 服務(wù)環(huán)境的設(shè)置,包括 HTTP 服務(wù)和 FTP 服務(wù); 虛擬主機(jī)用戶帳戶的建立、用戶目錄的建立、權(quán)限的設(shè)置。
下面分別研究。
安裝配置 Windows Server 2003
安裝系統(tǒng)環(huán)節(jié)要注意的主要是可選組件,沒必要的統(tǒng)統(tǒng)去掉,添加作為 HTTP Server 所必需的組件,包括 應(yīng)用程序服務(wù)器-> ASP.NET,這個(gè)一旦勾選,相關(guān)的支持組件會(huì)自動(dòng)被勾選,之后還要增加 應(yīng)用程序服務(wù)器-> Internet 信息服務(wù)(IIS)-> 文件傳輸協(xié)議(FTP)服務(wù) 和 應(yīng)用程序服務(wù)器-> Internet 信息服務(wù)(IIS)-> 互聯(lián)網(wǎng)服務(wù)-> Active Server Pages,這里重要的一點(diǎn)是,不必把整個(gè)組件組全部勾選,比如不必完全選中整個(gè) Internet 信息服務(wù)(IIS),而只需要單獨(dú)勾選上面指出的就行了。添加的越多安全隱患也就越大,尤其是 Web 遠(yuǎn)程管理之類的功能。
作為和.NET 網(wǎng)站配套為用戶提供服務(wù)的一個(gè)重要軟件就是 Microsoft SQL Server 2005 數(shù)據(jù)庫(kù)服務(wù)軟件,一并裝之。
微軟家族的產(chǎn)品安裝完成后必須要不厭其煩地堅(jiān)決執(zhí)行一項(xiàng)任務(wù):Windows Update 或 Microsoft Update,我用正版我驕傲,升級(jí)無(wú)憂!這期間涉及到相當(dāng)多的補(bǔ)丁,還有補(bǔ)丁的補(bǔ)丁,非關(guān)鍵更新最好也都安裝,而且有些也是必須安裝的,比如.NET Framework 系列。
PS: 如果你是本著 “學(xué)習(xí)和研究” 的精神去 “學(xué)習(xí)和研究” Windows Server 2003 和 Microsoft SQL Server 2005,那就得本著 “學(xué)習(xí)和研究” 的精神去 “學(xué)習(xí)和研究” 一下 Windows Update 或 Microsoft Update 的破解。好在互聯(lián)網(wǎng)上已經(jīng)有很多牛人 “學(xué)習(xí)和研究” 過(guò)了,你可以很方便的 “學(xué)習(xí)和研究” 一下他們 “學(xué)習(xí)和研究” 的結(jié)果。
接下來(lái)要進(jìn)行安全和性能方面的調(diào)整,互聯(lián)網(wǎng)上有很多關(guān)于 Windows 2003 安全設(shè)置的文章,其中一篇在 這個(gè)鏈接,其實(shí)沒必要完全照本宣科,根據(jù)文章中的精神和自己的實(shí)際情況和環(huán)境,酌情進(jìn)行一些調(diào)整就行了。尤其文中提到的關(guān)于服務(wù)的調(diào)整,可以根據(jù)自己的要求和體會(huì)選擇哪些自動(dòng)、哪些手動(dòng)、哪些禁用。其實(shí) Windows 優(yōu)化大師 是很不錯(cuò)的一個(gè)軟件,其中關(guān)于系統(tǒng)的安全和性能的調(diào)整選項(xiàng)也很多,可以借用一下。
之后可以安裝一些必要的軟件,其中一個(gè)就是遠(yuǎn)程管理軟件。出于安全考慮,我禁用掉了作為眾矢之的的操作系統(tǒng)自帶的遠(yuǎn)程桌面。取而代之的是安裝基于 VNC 協(xié)議的軟件,這些軟件中,我覺得免費(fèi)軟件是個(gè)非常不錯(cuò)的選擇。軟件很小巧,而且性能好效率高,功能也很多,比如剪貼板共享,互傳文件,這都是必不可少的最實(shí)用的功能。安裝的時(shí)候注意要一并安裝 Video Hook Driver,以便 UltraVNC 能高效地直接同顯卡進(jìn)行溝通,提高顯示的質(zhì)量和效率。
這些只是小小前奏,下面的環(huán)節(jié)更加重要。
FTP 服務(wù)的配置
作為為用戶提供網(wǎng)站上傳服務(wù)的 FTP Sevice,很多人選擇 Serv-U FTP Server。我覺得有時(shí)也不是很有必要,Serv-U 大多是用于專用 FTP 服務(wù)的,而僅僅作為網(wǎng)站管理員在某些時(shí)候上傳一下網(wǎng)站文件,我覺得 IIS 6.0 自帶的 FTP 服務(wù)組件就足夠用了。另外,Serv-U 作為一個(gè)名氣很大的軟件,針對(duì)它的攻擊手段也是數(shù)不勝數(shù)的,網(wǎng)上基于 Serv-U 的提權(quán)工具都泛濫成災(zāi)了。
IIS 6.0 的 FTP 配置非常方便,可以一勞永逸。IIS 6.0 的 FTP 有一個(gè)功能叫做 隔離用戶(PS: 這一功能 Linux 下的多個(gè)著名的 FTPD 軟件早在 N 年前就已經(jīng)具備了,而微軟直到 IIS 6.0 才有),通過(guò)這個(gè)功能,用戶只能限制在自己的主目錄。而 IIS 實(shí)現(xiàn)這一功能的方式是這樣的(引自官方幫助文檔): 創(chuàng)建隔離用戶的新 FTP 站點(diǎn) 1.2.3.4.5.6.7.8.在 IIS 管理器中,展開本地計(jì)算機(jī),右鍵單擊“FTP 站點(diǎn)”文件夾,指向“新建”,然后單擊“FTP 站點(diǎn)”。在“FTP 站點(diǎn)描述”和“IP 地址和端口設(shè)置”對(duì)話框中提供所需的信息,然后單擊“下一步”。在“FTP 用戶隔離”對(duì)話框中,單擊“隔離用戶”,然后單擊“下一步”。完成向?qū)У钠溆嗖襟E。右鍵單擊創(chuàng)建的新 FTP 站點(diǎn),然后單擊“屬性”。單擊“安全帳戶”選項(xiàng)卡。如果選中了“允許匿名連接”復(fù)選框,則在“用戶名”和“密碼”框中鍵入用于驗(yàn)證匿名用戶的用戶名和密碼。如果允許匿名訪問,請(qǐng)?jiān)?FTP 站點(diǎn)主目錄下創(chuàng)建 LocalUser 和 LocalUserPublic 子目錄。如果本地計(jì)算機(jī)用戶使用他們各自的帳戶用戶名登錄(而不是作為匿名用戶),請(qǐng)?jiān)?FTP 站點(diǎn)
根目錄下創(chuàng)建 LocalUser 和 LocalUserusername 子目錄,以允許每個(gè)用戶連接該 FTP 站點(diǎn)。
9.如果不同域的用戶使用顯式 domainusername 憑據(jù)登錄,請(qǐng)?jiān)谠?FTP 站點(diǎn)根目錄下為每個(gè)域
都創(chuàng)建一個(gè)子目錄(使用域名)。在每個(gè)域目錄下,為每個(gè)用戶創(chuàng)建一個(gè)目錄。例如,要支持用戶 Salesuser1 訪問,請(qǐng)創(chuàng)建 Sales 和 Salesuser1 目錄。
這種方式也有不足的地方,官方文檔中也有介紹:
注意 當(dāng)使用該模式創(chuàng)建了上百個(gè)主目錄時(shí),服務(wù)器性能會(huì)下降。
所以這種方式只適合用作小規(guī)模虛擬主機(jī)的 FTP 服務(wù),用戶多了還是換別的方式好,不過(guò)我個(gè)人覺得這個(gè)性能的影響不會(huì)太大,因?yàn)楫吘惯@個(gè) FTP 只是提供給網(wǎng)站管理員上傳網(wǎng)站的,而這種動(dòng)作并不會(huì)太頻繁。
因此,根據(jù)官方文檔的指示,只需新建一個(gè) FTP 站點(diǎn),把主目錄指向放置虛擬主機(jī)網(wǎng)站文件的目錄,比如此主目錄為 D:,這個(gè) D 盤的就是安裝系統(tǒng)是分出來(lái)專門放置網(wǎng)站的盤符。創(chuàng)建 D:LocalUser 目錄,這里要注意一點(diǎn),F(xiàn)TP 站點(diǎn)主目錄指向的應(yīng)該是 LocalUser 目錄的上級(jí)目錄,也就是 D:,而不能指向 D:LocalUser。
FTP 設(shè)置主要有這么一些:
?
?
? 可以把監(jiān)聽端口改成自己隨便選的數(shù)字,而不用默認(rèn)的21端口,可以避免被一些暴力掃描盯上。當(dāng)然得另行通知網(wǎng)站管理員新的 FTP 端口。FTP 站點(diǎn)鏈接數(shù)可以根據(jù)實(shí)際情況或需要做調(diào)整,或者不限制。如果需要啟用日志記錄以便將來(lái)反查一些惡意事件,為了防止時(shí)間一長(zhǎng),日志把系統(tǒng)盤占滿,可
以把日志文件目錄從默認(rèn)的系統(tǒng)目錄移到另一個(gè)專用目錄,比如 E:LogFiles 之類的。這時(shí)可能
要特別注意一個(gè)問題,如果新的目錄寫入有問題,可能要對(duì)目錄的權(quán)限做調(diào)整,這可以參考設(shè)置中指向的原來(lái)的那個(gè)目錄的權(quán)限來(lái)操作。
?
?
? 確認(rèn)允許匿名連接沒有被啟用。勾選上主目錄的寫入權(quán)限,不然用戶就無(wú)法上傳了。在目錄安全性里,可以勾選拒絕訪問,然后下面添加內(nèi)網(wǎng) IP 地址段,這樣的意思是來(lái)自列出的 IP
地址段之外的所有 IP 地址都將被拒絕訪問。這種方式適合像我這種向單位各用戶提供虛擬主機(jī)服務(wù)的情況,可以設(shè)置成只允許內(nèi)網(wǎng)用戶訪問 FTP。
到這里 FTP 服務(wù)就搞定了,后面添加任何虛擬主機(jī)和帳戶時(shí)都不再需要重新設(shè)置了。比如添加一個(gè)帳戶名為 user 的帳戶后,只要在 D:LocalUser 目錄下建立一個(gè)同名目錄(user)即可,IIS 6.0 的 FTP 會(huì)自動(dòng)將這個(gè)目錄識(shí)別為該用戶的根目錄。
下面要進(jìn)行 IIS 6.0 HTTP Server 的設(shè)置了。
IIS 6.0 HTTP Server 及 ASP、.NET 相關(guān)配置
首先可以右鍵點(diǎn)擊 網(wǎng)站,選屬性,調(diào)整這里的總設(shè)置,相當(dāng)于默認(rèn)設(shè)置。可能需要調(diào)整的有: ?
? ?
? ? 同樣是上面如果啟用日志記錄的設(shè)置。在 主目錄 選項(xiàng)卡里點(diǎn)下面的應(yīng)用程序設(shè)置里的 配置 按鈕,彈出的對(duì)話框中到 選項(xiàng) 選項(xiàng)卡中勾選 啟用父路徑,這是為了向傳統(tǒng)的 ASP 引用文件方式做兼容。由于 文檔 選項(xiàng)卡中的默認(rèn)內(nèi)容文檔只有 Defult.xxx,可以根據(jù)需要添加 index.asp、index.aspx,index.html,index.htm,并調(diào)整優(yōu)先次序。自定義錯(cuò)誤 指向了一些文件頁(yè)面,這里最好恢復(fù)成默認(rèn)值,也就是僅向客戶端傳遞錯(cuò)誤號(hào)和錯(cuò)誤信息關(guān)鍵字符串,安全和性能方面會(huì)好一些。停用 IIS 6.0 自動(dòng)建好的默認(rèn)站點(diǎn)。之后還需要在 Web 服務(wù)擴(kuò)展 中開啟 Active Server Pages。
IIS 6.0 還有一個(gè)地方很多人可能都希望調(diào)整一下,那就是上傳數(shù)據(jù)的大小限制。先停止 IIS 服務(wù),然后找到 C:WINDOWSsystem32inetsrvMetaBase.xml 文件,定位里面的 ASPMaxRequestEntityAllowed 處。默認(rèn)為 204800 即 204800 字節(jié)(200KB),修改為想要的數(shù)字如:2048000(即 2MB)。修改后重啟 IIS 服務(wù)即可。
接下來(lái)要進(jìn)行一個(gè)與 ASP 相關(guān)的極其重要的安全設(shè)置,那就是給Shell.Application、WScript.Shell、WScript.Network 這三個(gè)危險(xiǎn)組件做手術(shù)。有人采用注銷、禁用或刪除的方式來(lái)對(duì)待這三個(gè)組件,我覺得這樣太殘忍了!這三個(gè)組件是操作系統(tǒng)所有的,并不是單獨(dú)屬于 ASP 的,只不過(guò)微軟當(dāng)初在設(shè)計(jì) ASP 時(shí),愚蠢地賦予了 ASP 調(diào)用包括這三個(gè)組件在內(nèi)的一些系統(tǒng)組件的超能力。而完全謀殺這三個(gè)組件有可能導(dǎo)致將來(lái)為了某些正常目的而需要調(diào)用時(shí)出現(xiàn)問題。所以最好的做法是通過(guò)注冊(cè)表把這三個(gè)組件更名,將來(lái)要調(diào)用的時(shí)候用新名字來(lái)調(diào)用即可,而這個(gè)新名字只有你知道,所以相當(dāng)于密碼加密了。
比如,在注冊(cè)表里搜索 Shell.Application,將所有找到的匹配更名為 Shell.Application_xxx,并且把 Shell.Application.1 一并改掉,如改成 Shell.Application.1_xxx。三個(gè)組件都做這樣的修改,這只是第一步,我們要雙管齊下,修改對(duì)應(yīng)的 CLASS ID。在剛才的搜索里,記錄下來(lái)每個(gè)組件對(duì)應(yīng)的 CLSID 的值,然后把所有這些值改掉,但要注意一致性,比如 Shell.Application 的 CLSID 可能是 {13709620-C279-11CE-A49E-444553540000},可以把它都改成 {13709620-C279-11CE-A49E-444553541234}。
這里還要對(duì)網(wǎng)站主目錄進(jìn)行一些總的權(quán)限設(shè)置,以便下級(jí)的各網(wǎng)站目錄能夠直接繼承我們定制的權(quán)限。
?
?
? 右鍵點(diǎn)網(wǎng)站主目錄(本文即 D:LocalUser)選 屬性,打開的對(duì)話框中定位到 安全 選項(xiàng)卡,然后點(diǎn)下面的 高級(jí) 按鈕。首先取消勾選下面的 允許父項(xiàng)的繼承權(quán)傳播到該對(duì)象和所有子對(duì)象,彈出的對(duì)話框中點(diǎn) 復(fù)制 按鈕,把原有的繼承權(quán)限復(fù)制成本目錄自己的權(quán)限。之后只保留 Administrators、CREATOR OWNER、SYSTEM,其余帳戶如 Guests、Users
之類的全部刪除,據(jù)說(shuō)還要添加 ASPNET 帳戶的讀取和運(yùn)行權(quán)限,這個(gè)可以在實(shí)際運(yùn)行中從日志中或錯(cuò)誤中判斷是否真正需要。
最后,在系統(tǒng)中添加一個(gè)用戶組 vHost,所有的網(wǎng)站管理帳戶都放在這里面,這樣的好處是方便將來(lái)統(tǒng)一對(duì)這個(gè)組進(jìn)行一些權(quán)限設(shè)置。
IIS 的統(tǒng)一設(shè)置完成了,在下面的添加帳號(hào)和網(wǎng)站時(shí),還有一系列復(fù)雜的操作要做。
虛擬主機(jī)帳戶的建立、網(wǎng)站的建立、權(quán)限的設(shè)置
以實(shí)例說(shuō)明,比如要添加一個(gè)基于域名 test.domain.com 的虛擬主機(jī),對(duì)應(yīng)的管理帳戶是 test,依次做以下操作:
創(chuàng)建三個(gè)帳戶:test、test_iusr、test_iwam,其中 test 帳戶用于網(wǎng)站管理員上傳主頁(yè)的帳號(hào),test_iusr 為 IIS 進(jìn)程訪問此網(wǎng)站對(duì)應(yīng)的專用 IIS 來(lái)賓帳戶,test_iwam 為啟用相關(guān)程序(如應(yīng)用程序池、.NET程序)的專用 IIS 進(jìn)程帳戶。把三個(gè)帳戶隸屬于中的 Users 組去掉,然后分別設(shè)置隸屬于至:test-> vHost 組、test_iusr-> Guests 組(當(dāng)然也可以創(chuàng)建一個(gè)專用的 iusr 組)、test_iwam-> IIS_WPG 組。三個(gè)帳戶分別設(shè)置密碼,其中的 test 帳戶密碼告知網(wǎng)站管理員用于上傳網(wǎng)站。
在網(wǎng)站主目錄(本文中就是上面提提到的 D:LocalUser)下建立 test 目錄。接下來(lái)要設(shè)置此目錄的權(quán)限。?
?
? 首先確定這里目前只有繼承自父目錄 LocalUser 的權(quán)限,其它的刪除。添加 test 帳戶,勾選 修改 權(quán)限,系統(tǒng)會(huì)自動(dòng)把其它相關(guān)的必要權(quán)限勾選。這個(gè)操作是為了賦予網(wǎng)站管理員用此帳戶上傳網(wǎng)站的權(quán)限。添加 test_iusr 帳戶,這個(gè)帳戶的權(quán)限設(shè)置有兩種:
o 一種是同 test 帳戶一樣,一勞永逸,內(nèi)部的目錄都將有寫入和修改權(quán)限,用戶的網(wǎng)站
如果需要操作 Access 數(shù)據(jù)庫(kù)文件或者上傳文章的圖片附件之類都能順利進(jìn)行。當(dāng)然這樣也
有缺陷,因?yàn)檎麄€(gè)網(wǎng)站的所有目錄和文件都被賦予了 test_iusr 的寫入和修改權(quán)限,有一定的隱患。
o 另一種是只賦予 test_iusr 默認(rèn)的讀取和運(yùn)行權(quán)限。之后根據(jù)用戶的需要,把網(wǎng)站中的Access 數(shù)據(jù)庫(kù)和圖片附件上傳目錄單獨(dú)賦予 test_iusr 寫入權(quán)限(這方面比不上 Linux 下的 FTPD 軟件了,Linux 下的 FTPD 軟件一般都有讓用戶自行通過(guò) FTP Client 做
CHMOD 操作的功能)。
? 添加 test_iwam 帳戶,賦予默認(rèn)的讀取和運(yùn)行權(quán)限。
在 Internet 信息服務(wù)(IIS)管理器中,新建應(yīng)用程序池 AppPool_test。之后對(duì)此應(yīng)用程序池設(shè)置屬性,對(duì)話框中切換到 標(biāo)識(shí) 選項(xiàng)卡,點(diǎn)選第二個(gè)單選按鈕 配置,指定成剛才新建的 test_iwam 帳戶。
新建網(wǎng)站,對(duì)話框中 此網(wǎng)站的主機(jī)頭 填入 test.domain.com,以啟用基于域名的虛擬主機(jī)功能,路徑 指向前面新建的目錄 D:LocalUsertest,后面的 權(quán)限 中勾選 運(yùn)行腳本。接著修改新建好的網(wǎng)站的屬性,對(duì)話框中 主目錄 選項(xiàng)卡最下面的 應(yīng)用程序池 指定剛才新建的 AppPool_test,目錄安全性 選項(xiàng)卡 編輯 身份驗(yàn)證和訪問控制,把匿名訪問的帳戶改成上面的 test_iusr,ASP.NET 選項(xiàng)卡中把 ASP.NET 版本換成用戶網(wǎng)站需要的版本。
自此一個(gè)虛擬主機(jī)就搭建完成,也完成了一個(gè)網(wǎng)站的創(chuàng)建。最后可以對(duì)網(wǎng)站做一些安全測(cè)試,比如放個(gè) ASP 探針來(lái)檢查一些設(shè)置,或者運(yùn)行個(gè)木馬看看那些危險(xiǎn)組件之類的會(huì)不會(huì)被利用。
步驟比較繁瑣,尤其重要的就是創(chuàng)建三個(gè)帳戶,以及對(duì)網(wǎng)站的幾個(gè)專用賬戶的設(shè)置、應(yīng)用程序池的設(shè)置、目錄權(quán)限的設(shè)置。這樣做并不是無(wú)懈可擊,只不過(guò)把每個(gè)網(wǎng)站的權(quán)限全部分離,不再使用 IIS 統(tǒng)一的 IIS來(lái)賓帳號(hào)和 IIS 進(jìn)程帳號(hào)。由于 ASP 語(yǔ)言門檻低,雖然不乏很多優(yōu)秀的程序員,但也充斥著大量的低素質(zhì)編程人員,網(wǎng)站做得漏洞百出,可以很輕易地被利用。權(quán)限分離的好處就是,即使某個(gè)網(wǎng)站被黑,黑客也沒辦法利用這個(gè)網(wǎng)站的這幾個(gè)專用帳戶去侵害其它網(wǎng)站。接下來(lái)我所要做的就是通知被黑網(wǎng)站的管理員進(jìn)行徹底的自查了。
第二篇:asp 專題
三、簡(jiǎn)答題與程序設(shè)計(jì)題
編寫程序計(jì)算112+ 122+132+…+232的值。在個(gè)人主頁(yè)上添加時(shí)間信息,并判斷下午、晚上,上午和夜間,并分別給出問候:下午好、晚上好、上午好和夜里好。
編寫函數(shù)返回x和y的立方和,并舉例調(diào)用。
在ASP中,VBScript有多種控制程序流程語(yǔ)句,如If…Then, Select… Case,For … Next, Do … Loop, Exit等語(yǔ)句。請(qǐng)為這五個(gè)語(yǔ)句分別寫一段使用的代碼。
請(qǐng)看如下代碼<%TestString=“Test”TestATestBResponse.write TestStringSub TestA()TestString=“TestA”End SubSub TestB()Dim TestStringTestString=“TestB”End Sub%>這段代碼執(zhí)行后,運(yùn)行結(jié)果是什么?并解釋一下為什么?
編寫一個(gè)星期的函數(shù)GetWeek(aDate)返回“星期
一、星期
二、星期三...” 用ASP輸出九九乘法口決表的網(wǎng)頁(yè)輸出如下:1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9...要求編寫一個(gè)完整的ASP文件
2010-12-10 15:43 最佳答案 第一題: <% dim j:j=0 for i=112 to 232 step 10 j=i+j next response.write j %>
第二題: <% dim mytime:mytime=hour(now())if mytime>=0 then response.write “夜間好” if mytime>=8 then response.write “上午好” if mytime>=12 then response.write “下午好” if mytime>=18 then response.write “晚上好” %>
第三題: <% Response.Write “23和45的立方和是:” &getSum(23,45)
function getSum(a,b)
getSum=a^3+b^3 end function %>
第四題:
1>
if...then
for example:
Dim Color, MyVar
Sub ChangeBackground(Color)
MyVar = lcase(Color)
If myvar=“red” then
document.bgColor = “red”
elseif myvar= “green”
document.bgColor = “green”
elseif myvar= “blue”
document.bgColor = “blue”
Else response.write(“選擇另一種顏色”)
End if
End if
End Sub
2>select..case
for example:
Dim Color, MyVar
Sub ChangeBackground(Color)
MyVar = lcase(Color)
Select Case MyVar
Case “red”
document.bgColor = “red”
Case “green” document.bgColor = “green”
Case “blue”
document.bgColor = “blue”
Case Else
MsgBox “選擇另一種顏色”
End Select
End Sub 3> For…next
比如實(shí)現(xiàn)一個(gè)循環(huán)輸出記錄
For i=1 to rs.recordcount If rs.eof then
Rs(“title”)Rs.movenext End if Next 4> Do … Loop
以上例類似,實(shí)現(xiàn)重復(fù)顯出記錄 If not rs.eof then
i=1
do while not rs.eof
rs(“title”)
rs.movenext
i=i+1
loop
end if
第五題:
運(yùn)行結(jié)果是:testA 原因是:testA所附值的是一個(gè)全局變量TestString testB因?yàn)橛蠨im TestString這句定義,所以它所附值的只是一個(gè)局部變量。第六題:
function GetWeek(aDate)if isdate(aDate)then GetWeek=weekdayname(WeekDay(aDate))end if end function response.Write GetWeek(“2002/1/3”)第七題: 方法1:
<%=j&“*”&i&“=”&j*i%> <%next%> | <%=“ ”%> <%next%> |
第三篇:ASP總結(jié)
ASP 課 程 設(shè) 計(jì) 總 結(jié)系別:信息工程系 班級(jí):09大計(jì)一班 學(xué)號(hào):52 姓名:張明
通過(guò)這次課程設(shè)計(jì),我拓寬了知識(shí)面,鍛煉了能力,綜合素質(zhì)得到了提高。課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.通過(guò)理論與實(shí)際的結(jié)合、人與人的溝通,進(jìn)一步提高思想覺悟。尤其是觀察、分析和解決問題的實(shí)際工作能力,以便培養(yǎng)成為能夠主動(dòng)適應(yīng)社會(huì)主義現(xiàn)代化建設(shè)需要的高素質(zhì)的復(fù)合型人才。作為整個(gè)學(xué)習(xí)體系的有機(jī)組成部分,課程設(shè)計(jì)雖然安排在連續(xù)兩周進(jìn)行,但并不具有絕對(duì)獨(dú)立的意義。它的一個(gè)重要功能,在于運(yùn)用學(xué)習(xí)成果,檢驗(yàn)學(xué)習(xí)成果。運(yùn)用學(xué)習(xí)成果,把課堂上學(xué)到的系統(tǒng)化的理論知識(shí),嘗試性地應(yīng)用于實(shí)際設(shè)計(jì)工作,并從理論的高度對(duì)設(shè)計(jì)工作的現(xiàn)代化提出一些有針對(duì)性的建議和設(shè)想。檢驗(yàn)學(xué)習(xí)成果,看一看課堂學(xué)習(xí)與實(shí)際工作到底有多大距離,并通過(guò)綜合分析,找出學(xué)習(xí)中存在的不足,以便為完善學(xué)習(xí)計(jì)劃,改變學(xué)習(xí)內(nèi)容與方法提供實(shí)踐依據(jù)。對(duì)我們計(jì)算機(jī)專業(yè)的專科生來(lái)說(shuō),實(shí)際能力的培養(yǎng)至關(guān)重要,而這種實(shí)際能力的培養(yǎng)單靠課堂教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,必須從課堂走向?qū)嵺`。這也是一次預(yù)演和準(zhǔn)備畢業(yè)設(shè)計(jì)工作。通過(guò)課程設(shè)計(jì),讓我們找出自身狀況與實(shí)際需要的差距,并在以后的學(xué)習(xí)期間及時(shí)補(bǔ)充相關(guān)知識(shí),為求職與正式工作做好充分的知識(shí)、能力準(zhǔn)備,從而縮短從校園走向社會(huì)的心理轉(zhuǎn)型期。
回顧起此次asp課程設(shè)計(jì),至今我仍感慨頗多,的確,從拿到老師給我們的題目,然后老師簡(jiǎn)單的闡述我們?cè)撟鲂┦裁矗撏瓿尚┦裁吹臅r(shí)候,我就覺得這個(gè)課程設(shè)計(jì)是很有挑戰(zhàn)的,因?yàn)槲抑榔綍r(shí)自
己學(xué)的知識(shí)不是很牢固,這些做起來(lái)肯定很棘手。事實(shí)驗(yàn)證了我的想法。在整整兩星期的日子里,可以說(shuō)得是苦多于甜,由于對(duì)相關(guān)知識(shí)所學(xué)甚少,可以說(shuō)做起設(shè)計(jì)來(lái)是一片茫然。在設(shè)計(jì)的過(guò)程中遇到問題,可以說(shuō)得是困難重重,遇到過(guò)各種各樣的問題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固。看著那些陌生的代碼和程序,真的不知道該怎么辦。但是最后還是我們組其他成員幫助了我。在他們做的差不多的情況下,我在幫忙整理和美化,并試著去看懂代碼,在這期間我也弄懂了不少問題和知識(shí)。由于自己并沒多少知識(shí),別人可以說(shuō)是通過(guò)此次課程設(shè)計(jì)鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過(guò)的知識(shí),而我呢,只能說(shuō)是從這次課程設(shè)計(jì)中重新審視了自己,終于發(fā)現(xiàn)自己對(duì)所學(xué)知識(shí)的嚴(yán)重不足,這也給我提了個(gè)醒,沒知識(shí)終究將是一事無(wú)成。
不過(guò)通過(guò)這次課程設(shè)計(jì)我也明白了很多事理。它使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。
課程設(shè)計(jì)達(dá)到了專業(yè)學(xué)習(xí)的預(yù)期目的。在兩個(gè)星期的課程設(shè)計(jì)之后,我們普遍感到不僅實(shí)際動(dòng)手能力有所提高,更重要的是通過(guò)對(duì)匯編語(yǔ)言重大功能的了解,進(jìn)一步激發(fā)了我們對(duì)專業(yè)知識(shí)的興趣,并能夠結(jié)合實(shí)際存在的問題在專業(yè)領(lǐng)域內(nèi)進(jìn)行更深入的學(xué)習(xí)。在課程設(shè)計(jì)過(guò)程中,收獲知識(shí),提高能力的同時(shí),我也學(xué)到了很多人生的哲理,懂得怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過(guò)程中怎么樣去克服心理上的不良情緒。因此在以后的生活和學(xué)習(xí)的過(guò)程中,我一定會(huì)把課程設(shè)計(jì)的精神帶到生活中,不畏艱難,勇往直前!
第四篇:asp總結(jié)
生成靜態(tài)頁(yè)面的代碼:
<%
dim xmlHttp,os, PersonNum
'定義xmlhttp
function GetXmlText(Url)
dim GetXmlHttp
set GetXmlHttp=server.Createobject(“Microsoft.XMLHTTP”)GetXmlHttp.open “Get”,url,false,“",”“
GetXmlHttp.Send
'GetXmlText=GetXmlHttp.Responsetext
GetXmlText=GetXmlHttp.ResponseBody
set GetXmlHttp=Nothing
end function
'轉(zhuǎn)換為字符
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject(”adodb.stream“)objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
'保存文件
Sub SaveToFile(strBody,File)
Dim objStream
Set objStream = Server.CreateObject(”ADODB.Stream“)With objStream
.Type = 2
.Open
.Charset = ”GB2312“
.Position = objStream.Size
.WriteText = strBody
.SaveToFile Server.MapPath(File),2
.Close
End With
Set objStream = Nothing
End Sub
%>
<% dim k
k=0
'set rs=server.createobject(”adodb.recordset“)
'sql=”select ComId FROM CompanyTbl order by Comid desc“
'rs.open sql,conn,1,1
'PersonNum = rs.recordcount
'
do while k<10
Randomize
ComId=int(rnd*1000)
%>
<%SaveToFile
BytesToBstr(GetXmlText(”“%>
<%
'rs.movenext
k=k+1
loop
'rs.close()
'Set rs=Nothing
'Qsite.ShowMsg ”成功生成企業(yè)(“&PersonNum &”)份“ , ”../sitesys/muban1.asp“
%>
加載數(shù)據(jù)庫(kù)代碼:
<%
response.expires=0
response.buffer=true
session.timeout=30
dim conn
dim char_str(20)
sub OpenDataConn()
dim connstr
connstr = ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“
connstr = connstr & Server.MapPath(”../data/qhousedb.asp“)
'response.write connstr
set conn=Server.CreateObject(”AdoDb.Connection“)
conn.Open connstr
end sub
sub CloseDataConn()
'conn.close
set conn=Nothing
end sub
%>
插入記錄語(yǔ)句的執(zhí)行1:
sql=”insert into news(topic,q1,fromw,sort,comment)values(“&topic&”,“&q1&”,“&fromw&”,'“&sort&”',“&comment&”)“
opendataconn
conn.execute sql
response.redirect”news_del.asp“
修改語(yǔ)句的執(zhí)行2:
sql=”updatenews set topic=“&topic&”,q1=“&q1&”,fromw=“&fromw&”,sort='“&sort&”',DNT=now(),comment=“&comment&” where newsid=“&newsid&”“
刪除語(yǔ)句的執(zhí)行3:
<%
opendataconn
ids=split(request(”newsid“),”,“)
for i=0 to ubound(ids)
tt=trim(ids(i))
set rs=server.createobject(”adodb.recordset“)
'rs.open”select * from news where newsid=“&tt&”“,conn,1,1
'If Not Rs.Eof Then
'imgname=Split(Trim(Rs(”imgname“)),”,“)
' For m=0 to ubound(imgname)
'If len(imgname(m))>12 then
'set fso=Server.CreateObject(”Scripting.FileSystemObject“)
' fso.deleteFile Server.MapPath(”../pic/“&imgname(m))
'Set fso=Nothing
' end if
'Next
' End if
'rs.close
sql=”select * from news where newsid=“&tt&”“
rs.open sql,conn,1,1
if not rs.eof then
conn.execute ”delete from news where newsid=“&tt&”“
rs.close
set rs=nothing
end if
conn.execute”delete from news where newsid=“&tt&”“
next
response.redirect”news_del.asp“
closedataconn
%>
輸出語(yǔ)句的執(zhí)行4:
<%
strSql=”select top 12 * from news where sort=1 order by dnt desc“set rs=Server.CreateObject(”ADODB.RecordSet“)
rs.open strSql,conn,3,3
do while not rs.eof%>
<%
Rs.MoveNext
Loop
Rs.Close %>
Session.timeout=100
失效時(shí)間!
把文件寫入txt中
<%
dim fs,fname,f,t,x
set fs=Server.CreateObject(”Scripting.FileSystemObject“)公共的部分
'set fname=fs.CreateTextFile(”textads.txt“,true)
'fname.WriteLine(”我是偉!!“&year(now())&”-“&month(now())&”-“&day(now())&”“)
'fname.Close
'set fname=nothing
'set fs=nothing是寫入文件中
set t=fs.OpenTextFile(”textads.txt“,1,false)
x=t.ReadLine 張小
x=replace(x,”,“,”我是張小偉“)
t.close
Response.Write(”“& x &”")讀出里面的內(nèi)容 %>
第五篇:學(xué)習(xí)ASP
學(xué)習(xí)ASP.NET 技術(shù)框架的心得和體會(huì)
經(jīng)過(guò)一學(xué)期對(duì)ASP.NET這門課程的學(xué)習(xí),讓我們學(xué)習(xí)到很多東西,這門課程向?qū)W生全面的介紹了ASP.NET3.5動(dòng)態(tài)網(wǎng)站開發(fā)需要的基本技術(shù),包括配置技術(shù)、數(shù)據(jù)層、應(yīng)用層的實(shí)現(xiàn)。通過(guò)學(xué)習(xí)與實(shí)踐,學(xué)生將具備基本的ASP.NET應(yīng)用程序開發(fā)技能。ASP.NET是建立在公共語(yǔ)言運(yùn)行庫(kù)上的編程框架,可用于在服務(wù)器上生成功能強(qiáng)大的Web 應(yīng)用程序。
ASP.NET是Microsoft的Active Server Pages的新版本,是建立在微軟新一代.Net平臺(tái)架構(gòu)上、建立在公共語(yǔ)言運(yùn)行庫(kù)上,在服務(wù)器后端為用戶提供建立強(qiáng)大的企業(yè)級(jí)WEB應(yīng)用服務(wù)的編程框架。ASP.NET為開發(fā)能夠面向任何瀏覽器或設(shè)備的更安全、更強(qiáng)的可升級(jí)性、更穩(wěn)定的應(yīng)用程序提供了新的編程模型和基礎(chǔ)結(jié)構(gòu)。使用ASP.NET提供的內(nèi)置服務(wù)器控件或第三方控件,可以建立及復(fù)雜又靈活的用戶界面,大幅度減少了生成動(dòng)態(tài)網(wǎng)頁(yè)所需的代碼,同時(shí),ASP.NET能夠在服務(wù)器上動(dòng)態(tài)編譯和執(zhí)行這些控件代碼。
ASP.NET使用一種字符基礎(chǔ)的,分級(jí)的配置系統(tǒng),使你服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡(jiǎn)單。因?yàn)榕渲眯畔⒍急4嬖诤?jiǎn)單文本中,新的設(shè)置有可能都不需要啟動(dòng)本地的管理員工具就可以實(shí)現(xiàn)。這種被稱為 Local Administration的哲學(xué)觀念使ASP.NET的基于應(yīng)用的開發(fā)更加具體,和快捷。一個(gè)ASP.NET的應(yīng)用程序在一臺(tái)服務(wù)器系統(tǒng)的安裝只需要簡(jiǎn)單的拷貝一些必須的文件,不需要系統(tǒng)的重新啟動(dòng),一切就是這么簡(jiǎn)單。多處理器環(huán)境的可靠性ASP.NET已經(jīng)被
刻意設(shè)計(jì)成為一種可以用于多處理器的開發(fā)工具,它在多處理器的環(huán)境下用特殊的無(wú)縫連接技術(shù),將很大的提高運(yùn)行速度。即使你現(xiàn)在的ASP.NET應(yīng)用軟件是為一個(gè)處理器開發(fā)的,將來(lái)多處理器運(yùn)行時(shí)不需要任何改變都能提高他們的效能,但現(xiàn)在的ASP卻做不到這一點(diǎn)。自定義性和可擴(kuò)展性ASP.NET設(shè)計(jì)時(shí)考慮了讓網(wǎng)站開發(fā)人員可以在自己的代碼中自己定義plug-in的模塊。這與原來(lái)的包含關(guān)系不同,ASP.NET可以加入自己定義的如何組件。網(wǎng)站程序的開發(fā)從來(lái)沒有這么簡(jiǎn)單過(guò)。安全性基于Windows認(rèn)證技術(shù)和每應(yīng)用程序配置,你可以確保你的原程序是絕對(duì)安全的。ASP.NET的語(yǔ)法在很大程度上與 ASP 兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,并提供更好的安全保護(hù)。可以通過(guò)在現(xiàn)有 ASP 應(yīng)用程序中逐漸添加 ASP.NET 功能,隨時(shí)增強(qiáng) ASP 應(yīng)用程序的功能。ASP.NET 是一個(gè)已編譯的、基于.NET 的環(huán)境,把基于通用語(yǔ)言的程序在服務(wù)器上運(yùn)行。將程序在服務(wù)器端首次運(yùn)行時(shí)進(jìn)行編譯,比ASP即時(shí)解釋程序速度上要快很多.而且是可以用任何與.NET 兼容的語(yǔ)言(包括 Visual Basic.NET、C# 和 JScript.NET.)創(chuàng)作應(yīng)用程序。另外,任何 ASP.NET 應(yīng)用程序都可以使用整個(gè).NET Framework。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點(diǎn),其中包括托管的公共語(yǔ)言運(yùn)行庫(kù)環(huán)境、類型安全、繼承等等。ASP.NET 可以無(wú)縫地與 WYSIWYG HTML 編輯器和其他編程工具(包括 Microsoft Visual Studio.NET)一起工作。這不僅使得 Web 開發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點(diǎn),包括開發(fā)人員可以用來(lái)將服務(wù)器
控件拖放到 Web 頁(yè)的 GUI 和完全集成的調(diào)試支持。當(dāng)創(chuàng)建 ASP.NET 應(yīng)用程序時(shí),開發(fā)人員可以使用 Web 窗體或 XML Web services,或以他們認(rèn)為合適的任何方式進(jìn)行組合。每個(gè)功能都能得到同一結(jié)構(gòu)的支持,使您能夠使用身份驗(yàn)證方案,緩存經(jīng)常使用的數(shù)據(jù),或者對(duì)應(yīng)用程序的配置進(jìn)行自定義.如果你從來(lái)沒有開發(fā)過(guò)網(wǎng)站程序,那么這不適合你,你應(yīng)該至少掌握一些HTML語(yǔ)言和簡(jiǎn)單的Web開發(fā)術(shù)語(yǔ)(不過(guò)我相信如果有興趣的話是可以很快的掌握的)。你不需要先前的ASP開發(fā)經(jīng)驗(yàn)(當(dāng)然有經(jīng)驗(yàn)更好),但是你必須了解交互式Web程序開發(fā)的概念,包含窗體,腳本,和數(shù)據(jù)接口的概念。ASP.NET 提供了數(shù)個(gè)重要的優(yōu)點(diǎn):
1.增強(qiáng)的性能:ASP.NET 是在服務(wù)器上運(yùn)行的編譯好的公共語(yǔ)言運(yùn)行庫(kù)代碼。ASP.NET 可利用早期綁定,實(shí)時(shí)編譯,本機(jī)優(yōu)化和盒外緩存服務(wù)。這相當(dāng)于在編寫代碼行之前便顯著提高了性能。世界級(jí)的工具支持.ASP.NET Framework 補(bǔ)充了Visual Studio 集成開發(fā)環(huán)境中世界級(jí)的工具支持。大量工具箱和設(shè)計(jì)器WYSIWYG 編輯,拖放服務(wù)器控件和自動(dòng)部署只是這個(gè)強(qiáng)大的工具所提供功能中的少數(shù)幾種。
2.威力和靈活性:由于 ASP.NET 基于公共語(yǔ)言運(yùn)行庫(kù),因此 Web 應(yīng)用程序開發(fā)人員 威力和靈活性,可以利用整個(gè)平臺(tái)的威力和靈活性,NET Framework 類庫(kù),消息處理和數(shù)據(jù)訪 問解決方案都可從 Web 無(wú)縫訪問.ASP.NET 也與語(yǔ)言無(wú)關(guān),所以可以選擇最適 合應(yīng)用程序的語(yǔ)言,或跨多種語(yǔ)言分割應(yīng)用程序,另外,公共語(yǔ)言運(yùn)行庫(kù)的交互性保證在遷移到 ASP.NET 時(shí)保留基于COM 的開發(fā)中的現(xiàn)有
投資。
3.簡(jiǎn)易性:ASP.NET 使執(zhí)行常見任務(wù)變得容易,從簡(jiǎn)單的窗體提交和客戶端身份驗(yàn)證,到部署和站點(diǎn)配置。例如: ASP.NET 頁(yè)框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開的用戶界面,和在類似 Visual Basic 的簡(jiǎn)單窗體處理模型中處理事件。另外,公共語(yǔ)言運(yùn)行庫(kù)利用托管代碼服務(wù)(如自動(dòng)引用計(jì)數(shù)和垃圾回收)簡(jiǎn)化了程序開發(fā)。
4.可管理性:ASP.NET 采用基于文本的分層配置系統(tǒng),簡(jiǎn)化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和 Web 應(yīng)用程序。由于配置信息是以純文本形式存儲(chǔ)的,因此可以在沒有本地管理工具幫助的情況下應(yīng)用新設(shè)置。這種零本地管理思想也擴(kuò)展到了 ASP.NET Framework 應(yīng)用程序的部署。只需將必要的文件復(fù)制到服務(wù)器, 即可將 ASP.NET Framework 應(yīng)用程序部署到服務(wù)器。不需要重新啟動(dòng)服務(wù)器,即使是在部署或替換運(yùn)行的編譯代碼時(shí)。
5.可縮放性和可用性:ASP.NET 在設(shè)計(jì)時(shí)考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外。進(jìn)程受到 ASP.NET 運(yùn)行庫(kù)的密切監(jiān)視和管理,以便當(dāng)進(jìn)程行為不正常(泄漏,死鎖)時(shí),可就地創(chuàng)建新進(jìn)程,以幫助保持應(yīng)用程序始終可用于處理請(qǐng)求。自定義性和擴(kuò)展性.ASP.NET隨附了一個(gè)設(shè)計(jì)周到的結(jié)構(gòu)。它使開發(fā)人員可以在適當(dāng)?shù)募?jí)別插入代碼。實(shí)際上, 可以用自己編寫的自定義組件擴(kuò)展或替換ASP.NET 運(yùn)行庫(kù)的任何子組件。實(shí)現(xiàn)自定義身份驗(yàn)證或狀態(tài)服務(wù)一直沒有變得更容易。
6.安全性: 借助內(nèi)置的 Windows 身份驗(yàn)證和基于每個(gè)應(yīng)用程序的配置,可以保證應(yīng)用安全性,程序是安全的。
以上這些是我對(duì)本科目的簡(jiǎn)單介紹以及其部分內(nèi)容。在學(xué)習(xí)設(shè)計(jì)模式時(shí)要多思多悟,其思想就會(huì)漸漸地融入你的大腦,在真實(shí)的設(shè)計(jì)實(shí)踐中,忘掉所有的寫在書上的模式,一切從實(shí)際出發(fā),相信你的直覺,只要達(dá) 到設(shè)計(jì)要求的方案就是可行的方案,事實(shí)上,你這樣做了之后,回過(guò)頭來(lái)再看,會(huì)發(fā)現(xiàn)你的設(shè)計(jì)往往暗合設(shè)計(jì)模式的理論。在Visual Studio 2008的開發(fā)環(huán)境下我們知道了怎么樣去用ASP.NET建立Web網(wǎng)頁(yè)和創(chuàng)建ASP.NET Web頁(yè)面所需的基礎(chǔ)知識(shí)等等。在學(xué)習(xí)過(guò)程中主要要建立自己的學(xué)習(xí)模式,大膽的去嘗試,要有信心,制定自己的學(xué)習(xí)計(jì)劃,尋找適合自己的學(xué)習(xí)方法,這樣就會(huì)很容易去學(xué)習(xí)了。
在快樂的學(xué)習(xí)過(guò)程中我們更加了解了自己的專業(yè)以及自己的發(fā)展方向,在以后的學(xué)習(xí)中廣泛閱讀與本專業(yè)相關(guān)的書籍以及知識(shí),多方面得去擴(kuò)展自己的才能,既然選擇了這門專業(yè)就要努力去做到最好,為自己的以后多打基礎(chǔ)。
學(xué)習(xí)ASP.NET 技術(shù)框架的心得和體會(huì)
系別 :
班級(jí) :
姓名 :
學(xué)號(hào) :機(jī)電動(dòng)力與信息工程系 09計(jì)算機(jī)馬楠120090510027