淺談網(wǎng)站建站的開(kāi)發(fā)技巧

2022-08-08    分類(lèi): 網(wǎng)站建設(shè)

在學(xué)習(xí).NET程序開(kāi)發(fā)之前,本人也學(xué)習(xí)過(guò)一段時(shí)間的前端:辛辛苦苦找好了素材,把頁(yè)面設(shè)計(jì)好,切好,拼好之后,卻發(fā)現(xiàn)它卻只是靜態(tài)頁(yè)面,不能進(jìn)行任何操作。這就好比做一道可口的菜,材料都準(zhǔn)備好了,卻只能看不能品嘗。要想吃上美味的菜肴,還要看炒菜的技術(shù)。炒菜不能著急,要掌握好火候才能炒出好吃的菜。做程序也一樣,不能著急。在開(kāi)發(fā)一個(gè)新功能之前,首先要整理好開(kāi)發(fā)思路,再進(jìn)行開(kāi)發(fā)。往往一個(gè)好的開(kāi)發(fā)思路與技巧就能讓你事半功倍。
只要是程序員都能寫(xiě)出代碼,但這些代碼的價(jià)值卻往往體現(xiàn)在一些細(xì)節(jié)上。下面給大家介紹兩個(gè)我在程序開(kāi)發(fā)過(guò)程中總結(jié)技巧。
【案例一】過(guò)濾不安全的參數(shù),防止SQL注入
做過(guò)網(wǎng)站的人都知道,網(wǎng)站往簡(jiǎn)單了說(shuō),無(wú)非就是三個(gè)頁(yè)面:首頁(yè)、列表、詳細(xì)。很多人認(rèn)為詳細(xì)頁(yè)面做起來(lái)最輕松、最簡(jiǎn)單,因?yàn)橹恍枰獜臄?shù)據(jù)庫(kù)讀取數(shù)據(jù)綁定到頁(yè)面即可,但網(wǎng)站的安全性往往就出在詳細(xì)頁(yè)上。因?yàn)轫?yè)面上需要用到GET傳值,這種傳值方式就會(huì)暴露出程序中傳遞的參數(shù)信息,若是傳遞的參數(shù)有問(wèn)題,不僅會(huì)給一些“不法分子”留下了后門(mén),還會(huì)大大降低用戶(hù)的體驗(yàn)度,然后接著就是后期維護(hù)以及一大堆的bug修復(fù)。與其后期繁瑣的修復(fù)與維護(hù),還不如在編寫(xiě)的時(shí)候就避免,編寫(xiě)出高質(zhì)量代碼。
如果傳遞了不合法的參數(shù)應(yīng)跳轉(zhuǎn)至錯(cuò)誤信息提示頁(yè)或直接跳轉(zhuǎn)至首頁(yè)。不合法的情況一般包括三種:參數(shù)未傳遞、參數(shù)類(lèi)型不匹配以及信息不存在。
解決方案:
提前做好錯(cuò)誤信息提示頁(yè),例如:Error.aspx
在Page_Load中接收參數(shù)時(shí),做參數(shù)校驗(yàn),步驟如下:
a.先驗(yàn)證參數(shù)是否已傳遞。如若未傳遞,則跳轉(zhuǎn)到錯(cuò)誤提示頁(yè)面(提示信息:參數(shù)未傳遞)。
b.驗(yàn)證參數(shù)傳遞的類(lèi)型是否合法。如若不合法,則跳轉(zhuǎn)到錯(cuò)誤提示頁(yè)面(提示信息:參數(shù)類(lèi)型不匹配)。
c.驗(yàn)證信息是否存在。
d.最后初始化頁(yè)面。InitPage();
結(jié)論:事實(shí)上,每個(gè)方法都應(yīng)該寫(xiě)在try{…}catch{…}里面,將捕獲到的異常信息寫(xiě)入日志,便于網(wǎng)站管理人員或開(kāi)發(fā)人員查看。因?yàn)椋灰浅绦?,就?huì)存在bug,我們所能做的就是,盡量避免bug的發(fā)生。所以,今天,你try-catch了嗎?^_^
【案例二】jQuery+Ajax也很重要
用戶(hù)注冊(cè):用戶(hù)帳號(hào)應(yīng)該是唯一的,用戶(hù)在注冊(cè)時(shí),自身是不知道自己所填寫(xiě)的帳號(hào)名是否有重復(fù)。若是作為用戶(hù),很耐心的從上至下填完了注冊(cè)信息,提交時(shí)卻提示“用戶(hù)名已被注冊(cè)”,看到這樣的提示信息,沒(méi)有耐心的用戶(hù)就會(huì)直接關(guān)掉頁(yè)面,這樣我們就會(huì)失去一個(gè)潛在客戶(hù)。為避免這樣的事情發(fā)生,就需要用到j(luò)Query+Ajax通過(guò)另外一個(gè)處理頁(yè)面來(lái)進(jìn)行判斷,讓頁(yè)面及時(shí)獲取返回的信息來(lái)判斷該用戶(hù)名是否被注冊(cè)。所以,為了達(dá)到一個(gè)良好的用戶(hù)體驗(yàn),防止頁(yè)面刷新,jQuery+Ajax是不可或缺的。
解決方案
在網(wǎng)站中新建一個(gè)一般處理程序的頁(yè)面,如CheckUserName.ashx。
注冊(cè)頁(yè)面中引入Jquery文件。
綁定注冊(cè)頁(yè)面填寫(xiě)帳號(hào)的input的焦點(diǎn)離開(kāi)事件(bulr),通過(guò)Jquery的$.ajax方法來(lái)獲取一般處理程序返回的結(jié)果信息。
結(jié)論:要想提升網(wǎng)站質(zhì)量,提高用戶(hù)的體驗(yàn)度,jQuery+Ajax是不可或缺的。技術(shù)不是難點(diǎn),開(kāi)發(fā)思路尤為重要。
建站的技巧都是在建站過(guò)程中遇到錯(cuò)誤解決后所積累的經(jīng)驗(yàn),以上兩個(gè)案例都是比較常見(jiàn)的。
沒(méi)有做不好的網(wǎng)站,只有寫(xiě)不出讓用戶(hù)體驗(yàn)價(jià)值高的程序。為了追求更高更專(zhuān)業(yè)的水平,我們必須要站在客戶(hù)的角度思考如何才能開(kāi)發(fā)出讓客戶(hù)滿(mǎn)意的功能,少一些不和諧的用戶(hù)體驗(yàn),少一些bug,就能換來(lái)多一分的用戶(hù)好評(píng)。

作者:zhang-shuoying
本文原創(chuàng)自網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司—轉(zhuǎn)載請(qǐng)注明出處

本文題目:淺談網(wǎng)站建站的開(kāi)發(fā)技巧
分享路徑:http://www.bm7419.com/news0/187550.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作自適應(yīng)網(wǎng)站、靜態(tài)網(wǎng)站品牌網(wǎng)站建設(shè)、Google、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管