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