使用ASP開發(fā)web站點_ASP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:如何用ASP來獲取客戶端真實IP的地址?要想透過代理服務器取得客戶端的真實IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 來讀取。不過要注意的事,并不是每個代理服務器都能用 Request.ServerVariab
一般的大型網站目前已經越來越少的使用ASP來架構,不過在中小型商務站點上,ASP依然占據(jù)了較大的市場范圍。ASP以其簡單,開發(fā)周期短,易維護的優(yōu)點受到中小型站點管理員的青睞。不過,據(jù)我所知,完全使用ASP來集成更新維護網站的僅常見于那些真正的商務站點或者比較成熟的技術站點,更多的網站僅僅有一些獨立的欄目在使用ASP程序。這樣的特點是站點管理過于分散,比如:每進入一個欄目管理都要輸入不同的帳號賀密碼。不僅浪費管理員的精力,更加重了網站的維護困難程度。而我們看見的那些單欄目使用的ASP程序有很多是從網上尋找的源代碼,這樣使你的網站安全性也會受到一定的威脅,因為網上提供的源代碼都是開放的,每個人都可以研究這個代碼,當然后果你也知道,ASP的安全性本來就是一個受用戶長期關注的問題,而被開放的源代碼更是危險。當然我并不是不贊成大家使用網上的源代碼,只是希望各位能夠注意這個問題,不要完全信奉拿來主義,該修改的地方還是要修改,該打補丁的地方還是要打上補丁(當然絕不是讓你去修改人家的版權信息)。綜上所述,我覺得凡是對ASP有一定了解的人都可以自己開發(fā)一套整站系統(tǒng),并且使集成化的。本專題的目的就是為了指引大家如何建立一套完整的web動態(tài)站點。
為了使各個層次的讀者都能看懂本文,有必要先講講下面這些話:
如果你是初學者,你應該掌握什么?
必要的VBScript和JavaScript。VBS作為主要的ASP程序編寫語言來自于Visual Basic,學過VB的人可以很快的掌握,JavaScript就不用說了,嵌入在網頁里面,客戶端使用平凡的腳本語言。你最好擁有一定的HTML語言知識,不然會覺得很惱火。
SQL語句基礎亦是基礎!
初期你不必掌握全部,基本的就可以了。
前提:我們將用最基本的語句和功能編寫一套web動態(tài)站點的整站系統(tǒng)。
您只要認真看完此專題,可以基本掌握web整站開發(fā)的思想,并已能賦予實際應用。當然,隨學習的深入,您可以加入更多的功能或對程序算法進行改進。
(1)對網站進行需求分析:
很多人都忽略了這一點,他們認為開發(fā)web站點程序不需要用軟件工程的思想,實際上最后會導致web站點的無序化,比如:一些人想到要開發(fā)什么站點想都不想,直接開始寫代碼,想到什么就寫什么,直到他們寫完之后,才發(fā)現(xiàn)我還需要什么功能沒有寫,然后就立刻返回加代碼。這樣的話,使得程序極易出錯。所以一開始的時候還是建議你像軟件工程一樣,制定web站點開發(fā)的需求分析,應包括所開發(fā)web系統(tǒng)的基本要求,如:功能,性能,用戶群,基本的數(shù)據(jù)流程和處理流程,安全與保密的要求。web系統(tǒng)的目標,條件、假設、限制等。
詳細一點來說,就以我們的站點來說,它是一個技術型站點,就應包括新聞系統(tǒng)、文章系統(tǒng)、下載系統(tǒng)等等,那么這些系統(tǒng)需要具備哪些功能就是我們要分析的問題。
下面我們就從實例來分析要實現(xiàn)的功能:
新聞系統(tǒng):一個新聞系統(tǒng)最重要的一點就是能夠實時的把新聞傳達給用戶,那么新聞系統(tǒng)應該具備哪些功能?發(fā)布時間,點擊次數(shù),插入圖片,以及對新聞來源赫作者的一些注釋。當然發(fā)布時間這些都是非常容易實現(xiàn)的功能。插入圖片可以使用html功能,ubb轉換表或上傳圖片來解決,這些方法本文就不再一一闡述,大家可以參考有關資料。
實際上,不管對于什么系統(tǒng),當你在一開始對其需求進行了詳細分析之后,實現(xiàn)起來肯定比想到哪寫道哪輕松高效。如果方便的話用電腦或者紙將web系統(tǒng)的開發(fā)需求記錄下來,在開發(fā)過程中也可以進行參考。這里還不得不提的一個話題是關于用戶驗證的,一般我們對用戶的驗證使用的是session和cookie,Session變量和cookies是同一類型的。如果某用戶將瀏覽器設置為不兼容任何cookie,那么該用戶就無法使用這個Session變量及cookies。一般來說,對于網站管理員的操作我個人推薦使用session,因為我們的主題是開發(fā)web整站,那么管理員肯定要在多個管理頁面中跳轉,在這里session是非常方便的。若是對用戶進行驗證,那么可以使用cookies,比如用戶可以設置強制瀏覽器把cookie存儲在計算機上面,只需要使用response.cookies的Expires屬性就可以輕松的做到,還有一點就是因為sessionID的信息是非常容易丟失的,對于用戶這種長時間訪問的集群,則必須通過在用戶的web瀏覽器中存儲一個專用的cookie,并且把cookie信息保存到數(shù)據(jù)庫中來創(chuàng)建一個用戶標識。
上面這一節(jié)我們講到了web整站開發(fā)的先期需求分析,就我個人認為是在網站工程中非常重要的一步。
(2)組織和管理站點結構
往往在開發(fā)一個有一定規(guī)模的站點的時候,使站點具有較好的目錄結構是一個值得注意的問題。商業(yè)應用的程序往往都要求具有在事務內部運行腳本和組件的能力。事務是服務器端的操作,簡單的說就是即便該操作包含了許多步驟,例如:下定單,查看定單,打印訂單等也只能整體返回操作是成功還是失敗。用戶可以創(chuàng)建在事務內部運行的ASP腳本,如果教本的任何一部分操作失敗,那么整個事務就終止。
這里我們要詳細說明的并不是事務性腳本在整站中的應用,而是要讓你在開發(fā)中不至于被眾多的文件,眾多的操作攪昏了頭。
合理的對文件名進行組織。例如:我們將管理頁面命名為admin.asp,而管理頁面中對各個欄目進行操作的頁面可以在admin后面加下劃線然后命以這個欄目的名稱,比如新聞管理頁面admin_news.asp,下載管理頁面admin_download.asp
關于文件的放置。我這里僅是以我得做法來講解,相信各位能有自己的見解。將所有管理操作頁面放置于同一目錄下面,為的是更加方便的管理和分配權限。各個欄目用戶頁面可以放在一個目錄下方便于管理。數(shù)據(jù)庫可以放在統(tǒng)一的目錄下面。
怎樣減少文件的數(shù)量。你沒有必要為每個添加,刪除,修改或者別的操作新建許多頁面,你可以使用參數(shù)來減少頁面,打一個比方,在管理頁面admin_news.asp中,當admin_news.asp?action=addnew的時候執(zhí)行添加操作,當admin_news.asp?action=del的時候執(zhí)行刪除操作,這樣將大大增強你站點集成化程度。
可以重用的代碼。很多代碼是可以重復使用的,比如UBB的轉換表等,可以把它們單獨放在一個目錄中。
(3)開發(fā)后臺管理
我不知道各位開發(fā)者是不是和我一樣,先將后臺開發(fā)完畢后再進行前臺開發(fā)。或者你是混在一起來做。不過,我認為先開發(fā)后臺是比較合適的。前面我們講過先要對系統(tǒng)進行分析,要實現(xiàn)哪些功能自己心里要有個底。這樣做起來才會事半功倍,也會減少許多不必要的錯誤。后臺管理無非具有以下這些功能:
1)用戶驗證
2)添加網站數(shù)據(jù)
3)修改網站數(shù)據(jù)
4)刪除網站數(shù)據(jù)
5)站點系統(tǒng)設置
6)站點訪問統(tǒng)計
7)搜集用戶信息
...
如何把他們同意的集中在一起管理,是我們要解決的問題。比如說用戶驗證我們可以這樣來實現(xiàn):
<%
...
username=replace(trim(request("username")),"'","")
password=replace(trim(Request("password")),"'","")
set rs=server.createobject("adodb.recordset")
sql="select * from admin where password='"&password&"' and username='"&username&"'"
rs.open sql,conn,1,1
if not(rs.bof and rs.eof) then
if password=rs("password") then
session("admin")=rs("username")
session("flag")=rs("f
分享:用ASP木馬實現(xiàn)FTP和解壓縮在肉雞上放網站最麻煩的可能就是更新和上傳大量的文件了,終端服務大白天容易被發(fā)現(xiàn),自己開個ftp又不放心.自己在網上轉了一圈發(fā)現(xiàn)通過結合無組件上傳和asp木馬可以輕松實現(xiàn). asp木馬大家都很熟
相關ASP教程:
- 相關鏈接:
- 教程說明:
ASP教程-使用ASP開發(fā)web站點。