最后一個(gè)頁了,其實(shí)編輯頁的功能跟回復(fù)頁reply.asp差不多,甚至功能比回復(fù)頁還弱,做法也是一樣的,只不過是少了對回復(fù)字段"Reply"和回復(fù)的時(shí)間字段"RDate"的更新,所以,很容易就能把編輯頁做出來:
頁面都做完了,趕快輸入http://localhost/guestbook/測試一下:
怎么顯示“尚無留言記錄”?呵呵~~這就對了,我們自己填寫第一條留言,點(diǎn)擊"留言"進(jìn)入填寫留言頁,輸入:
提交后轉(zhuǎn)到了留言板首頁,看看辛苦這么久的勞動(dòng)成果:
發(fā)現(xiàn)問題了吧? 1)頁面被嘆號(hào)撐大了 2)多個(gè)連續(xù)空格只顯示一個(gè) 3)回車換行無效 4)HTML竟然直接解釋顯示 5)最可怕的是,在地址欄輸入數(shù)據(jù)庫的路徑:http://localhost/guestbook/data.mdb可以直接下載數(shù)據(jù)庫 幸好問題發(fā)現(xiàn)得早,既然發(fā)現(xiàn)問題,那就逐個(gè)解決:
1)修改 css.css 文件中的: .thin { border-collapse: collapse; } 改為: .thin { border-collapse: collapse; table-layout:fixed; word-wrap:break-word; word-break:break-all; }
補(bǔ)充:因?yàn)镮E6以下的瀏覽器對CSS的繼承性支持不好,所以還需要修改 CSS 文件第一行的規(guī)則:
body,td,input,button,textarea{ font-family: Verdana, "宋體"; font-size: 11px; color: #707070; background-color: #F3F3F3; }
這樣頁面結(jié)構(gòu)就不會(huì)被惡意留言破壞了
2)在index.asp的HTML代碼開始之前加上:
<% Function HTMLEncode(Str)<br>Str=Replace(Str,"<","<") '把Str中的"<"替換成"<" Str=Replace(Str,">",">") '把Str中的">"替換成">", 跟上面這行一起是屏蔽HTML代碼的 Str=Replace(Str," "," ") '把Str中的" "替換成" ",解決多個(gè)連續(xù)空格只顯示一個(gè)的問題 Str=Replace(Str,Chr(10),"<br>") '把Str中的回車符替換成"<br>",解決回車換行無效的問題 HTMLEncode=Str '返回經(jīng)過上面字符替換后的Str End Function %>
然后修改綁定留言內(nèi)容的那段代碼為:
<%=HTMLEncode(rs.Fields.Item("Content").value)%>
同理修改綁定回復(fù)內(nèi)容的代碼,還有管理頁admin.asp的相應(yīng)部分代碼
3)因?yàn)閿?shù)據(jù)庫里明文保存著管理密碼,所以對數(shù)據(jù)庫的保護(hù)尤為重要。通常的做法是把數(shù)據(jù)庫data.mdb的擴(kuò)展名改為.asp(data.asp)或.asa(data.asa),再修改數(shù)據(jù)庫連接字符串的代碼(Connections/conn.asp):
MM_conn_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("/guestbook/data.mdb") 為 MM_conn_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("/guestbook/data.asp") 或 MM_conn_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("/guestbook/data.asa")
不過需要注意的是這樣還不安全,因?yàn)橛行┓⻊?wù)器配置不當(dāng),即使改了數(shù)據(jù)庫文件的擴(kuò)展名,但是知道具體路徑的話用鏈接另存為的方法一樣可以下載,所以最好的保護(hù)方法還是給數(shù)據(jù)庫文件起一個(gè)長度適當(dāng)且毫無規(guī)律復(fù)雜難記的名字。
還有一個(gè)不知道是誰想出來的怪招,就是在數(shù)據(jù)庫名字中加上一個(gè)"#"符號(hào),例如改成dat#a.asp(數(shù)據(jù)庫連接字符串也作相應(yīng)改動(dòng)),地址欄中輸入http://localhost/guestbook/dat#a.asp看看,是不是顯示“無法找到該頁”的404錯(cuò)誤?因?yàn)闉g覽器把"#"后的字符解釋成錨點(diǎn),所以文件名就變成了dat,而這個(gè)文件是不存在的,所以就顯示404錯(cuò)誤(文件或目錄未找到)
Dreamweaver MX 2004打造留言板的教程到這里全部結(jié)束了,所有代碼及資源可以在這里下載:guestbook.rar 留言板演示:http://x-lover.com/guestbook/
出處:閃吧
責(zé)任編輯:藍(lán)色
上一頁 回復(fù)頁 reply.asp [12] 下一頁
◎進(jìn)入論壇網(wǎng)頁制作、網(wǎng)站綜合版塊參加討論
|