2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  目錄</b></p><p><b>  第一章 緒論3</b></p><p><b>  1.1背景3</b></p><p>  1.1.1劍川繡花鞋的生產(chǎn)經(jīng)營狀況3</p><p>  1.1.2目前的銷售模式4</p>

2、;<p>  1.1.3 提出的策略4</p><p>  1.2 電子商務(wù)的現(xiàn)狀和好處5</p><p>  1.2.1 中國電子商務(wù)的現(xiàn)狀5</p><p>  1.2.2 電子商務(wù)的優(yōu)點(diǎn)5</p><p>  1.3 開展劍川繡花鞋文化宣傳網(wǎng)的必要性5</p><p>  1.3.1 劍川

3、繡花鞋面臨的沖擊6</p><p>  1.3.2 開展劍川繡花鞋電子商務(wù)網(wǎng)站的必要性6</p><p>  1.4 研究結(jié)果6</p><p>  第二章 劍川繡花鞋文化宣傳網(wǎng)的基本設(shè)計(jì)原則6</p><p>  2.1劍川繡花鞋文化宣傳網(wǎng)的設(shè)計(jì)目標(biāo)6</p><p>  2.2劍川繡花鞋文化宣傳網(wǎng)設(shè)計(jì)的基

4、本原則7</p><p>  2.3劍川繡花鞋文化宣傳網(wǎng)系統(tǒng)的開發(fā)7</p><p>  第三章 劍川繡花鞋文化宣傳網(wǎng)開發(fā)技術(shù)8</p><p>  3.1 網(wǎng)站開發(fā)編程語言8</p><p>  3.1.1 php簡介8</p><p>  3.1.2 php的特點(diǎn)8</p><p

5、>  3.1.1 腳本語言9</p><p>  第四章 劍川繡花鞋文化宣傳網(wǎng)的模塊架構(gòu)9</p><p>  4.1 B2C電子商務(wù)網(wǎng)站架構(gòu)的研究步驟10</p><p>  4.2 劍川繡花鞋文化宣傳網(wǎng)架構(gòu)模型11</p><p>  第五章 劍川繡花鞋文化宣傳網(wǎng)的具體功能11</p><p&g

6、t;  5.1 前臺(tái)設(shè)計(jì)11</p><p>  5.2 后臺(tái)設(shè)計(jì)12</p><p>  5.3 數(shù)據(jù)庫設(shè)計(jì)12</p><p>  第六章 “劍川繡花鞋文化宣傳網(wǎng)”的優(yōu)缺點(diǎn)13</p><p>  6.1“劍川繡花鞋文化宣傳網(wǎng)”的優(yōu)點(diǎn)13</p><p>  6.1.1、無限延伸13</p>

7、<p>  6.1.2、低成本14</p><p>  6.1.3、多功能14</p><p>  6.2 網(wǎng)站系統(tǒng)尚存在的一些缺陷和弱點(diǎn)14</p><p>  6.2.1.線上付款的安全性14</p><p><b>  第七章 總結(jié)14</b></p><p>  

8、第八章 致謝15</p><p><b>  摘要</b></p><p>  大理州劍川縣繡花鞋在1999年以前年產(chǎn)量不超過6000雙,而到2005年,產(chǎn)量就達(dá)23.6萬雙。然而由于當(dāng)?shù)貤l件的限制,劍川繡花鞋并未被廣大消費(fèi)者所認(rèn)知,只在旅游景點(diǎn)和為數(shù)不多的店鋪有銷售,網(wǎng)上銷售更是寥寥無幾。</p><p>  隨著信息技術(shù)的發(fā)展,信息的傳

9、遞已突破了時(shí)間和地域的局限,電子商務(wù)交易能夠在網(wǎng)上完成產(chǎn)供銷全部業(yè)務(wù)流程的電子商務(wù)虛擬市場。從封閉的銀行電子金融系統(tǒng)到開放式的網(wǎng)絡(luò)電子銀行,電子商務(wù)以其獨(dú)特的運(yùn)作模式,大大提高了商業(yè)運(yùn)作的效率,并有效地降低了成本。電子商務(wù)以更為方便和快捷的方式,把企業(yè)的產(chǎn)品及服務(wù)等信息,通過信息網(wǎng)絡(luò)快速直觀的呈現(xiàn)在用戶面前,讓用戶接受并迅速的達(dá)成相關(guān)的意向。</p><p>  關(guān)鍵字:繡花鞋,電子商務(wù)</p>&

10、lt;p><b>  Abstract </b></p><p>  Dali embroidered shoes Jianchuan County prior to 1999 the annual output not exceed 6000 pairs by 2005, production reached 236,000 pairs. However, due to local

11、conditions, Jianchuan embroidered shoes have not been perceived by consumers, only one of the few tourist attractions and shops selling, online sales is very few. With the development of information technology, infor

12、mation transmission has been broken time and geographical constraints, e-commerce transactions can be completed online pr</p><p>  Keywords: embroidered shoes, E-Commerce </p><p>  第一章、劍川繡花鞋文化宣

13、傳網(wǎng)介紹</p><p>  劍川繡花鞋文化宣傳網(wǎng)是一個(gè)結(jié)合信息服務(wù)型、廣告型和交易型的綜合型電子商務(wù)網(wǎng)站。其前臺(tái)功能包括:繡花鞋文化宣傳、公司形象宣傳、產(chǎn)品展示、廣告宣傳、商品訂購、網(wǎng)上支付、網(wǎng)絡(luò)客戶服務(wù)和會(huì)員實(shí)時(shí)互動(dòng),其后臺(tái)功能包括:產(chǎn)品管理、會(huì)員管理、新聞管理、論壇管理、廣告管理和系統(tǒng)設(shè)置。</p><p>  劍川繡花鞋文化宣傳網(wǎng)采用B2C的模式,網(wǎng)站的設(shè)計(jì)和開發(fā)需要圍繞以下原則:

14、</p><p> ?。?)、充分展示產(chǎn)品信息、文化信息、廣告信息和企業(yè)信息;</p><p> ?。?)、方便客戶查找商品、在線訂購和網(wǎng)上支付;</p><p> ?。?)、方便企業(yè)與客戶以及客戶與客戶的交流和互動(dòng);</p><p> ?。?)、方便管理和更新信息;</p><p> ?。?)、確保網(wǎng)站安全;<

15、/p><p> ?。?)、優(yōu)化網(wǎng)站訪問速度;</p><p>  二、我的開發(fā)任務(wù)介紹</p><p>  圖1:通過php代碼把網(wǎng)頁與數(shù)據(jù)庫關(guān)聯(lián)起來</p><p>  結(jié)合小組的實(shí)際情況,為了充分利用好和發(fā)揮好小組的人力資源,經(jīng)過開發(fā)小組的討論和協(xié)商,我們把整個(gè)項(xiàng)目的開發(fā)任務(wù)分為:數(shù)據(jù)庫開發(fā)、靜態(tài)網(wǎng)頁開發(fā)和動(dòng)態(tài)網(wǎng)頁開發(fā)。</p>

16、<p>  在開發(fā)過程中,我負(fù)責(zé)整個(gè)項(xiàng)目的動(dòng)態(tài)網(wǎng)頁編寫(圖1黃色虛線框),通過設(shè)計(jì)和編寫php代碼將其嵌入到靜態(tài)網(wǎng)頁中,控制網(wǎng)頁顯示信息和接收信息,操縱數(shù)據(jù)庫查詢和更新信息,使網(wǎng)頁與數(shù)據(jù)庫緊密地關(guān)聯(lián)起來,形成功能完善的動(dòng)態(tài)信息管理系統(tǒng)。</p><p>  從圖1中可以看出我的開發(fā)任務(wù)緊扣了其他成員的開發(fā)任務(wù),因此我所編寫的代碼:必須確保與靜態(tài)網(wǎng)頁功能的一致性;必須確保與數(shù)據(jù)庫結(jié)構(gòu)的一致性;必須確保整

17、個(gè)項(xiàng)目的系統(tǒng)性。</p><p><b>  三、語言工具的選擇</b></p><p>  為了實(shí)現(xiàn)功能的友好銜接,我必須保持與其他成員的溝通和交流,同時(shí)需要讀懂和理解他們的工作成果,因此我需要掌握的語言包括:PHP、HTML、JavaScript、CSS和MySQL。</p><p>  3.1PHP+Apache+MySQL</p&

18、gt;<p>  通過PHP代碼可以搭建起信息的傳輸橋梁,開辟出從靜態(tài)網(wǎng)頁到數(shù)據(jù)庫的高速數(shù)據(jù)通道,選擇其作為開發(fā)語言的理由主要為:</p><p> ?。?)、運(yùn)用PHP開發(fā)項(xiàng)目,程序開發(fā)快,運(yùn)行快,和其它技術(shù)相比,PHP本身免費(fèi),所有的PHP源代碼事實(shí)上都可以得到,技術(shù)本身學(xué)習(xí)快。</p><p> ?。?)、PHP可以嵌入HTML語言,它相對(duì)于其他語言,編輯簡單,實(shí)用性強(qiáng)

19、;用PHP做出的動(dòng)態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;</p><p> ?。?)、PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。</p><p>  (4)、PHP具有非常強(qiáng)大的功能,所有的CGI的功能PHP都能實(shí)現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。</p>

20、;<p> ?。?)、PHP+Apache+MySQL是一個(gè)完全免費(fèi)的、性能優(yōu)異的Web服務(wù)器應(yīng)用開發(fā)組合,已經(jīng)成為絕大多數(shù)中小型網(wǎng)站的應(yīng)用解決方案。</p><p>  3.2、DIV+CSS(層疊樣式表)</p><p>  DIV控制了網(wǎng)頁的模塊和數(shù)量,CSS讓各個(gè)DIV穿上漂亮的衣裳,讓網(wǎng)頁看上去得體和漂亮,同時(shí)得到各種瀏覽器的接受和認(rèn)可。另外,div+css 作為網(wǎng)

21、頁的一種布局方法,它有別于傳統(tǒng)的HTML網(wǎng)頁設(shè)計(jì)語言中的表格(table)定位方式,真正地達(dá)到了w3c內(nèi)容與表現(xiàn)相分離。其具備的優(yōu)勢(shì)主要包括:頁面載入更快、降低流量費(fèi)用、修改設(shè)計(jì)時(shí)更有效率和更好地被搜索引擎收錄。</p><p>  3.3、JavaScript</p><p>  JS代碼插入到HTML中,讓本來靜止不動(dòng)的網(wǎng)頁開始翩翩起舞,主動(dòng)地展示出數(shù)據(jù)信息,同時(shí)使得網(wǎng)頁和用戶之間建立

22、起了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,這樣的網(wǎng)頁便包含了更多活躍的元素和更加精彩的內(nèi)容。</p><p>  四、功能分析和技術(shù)代碼劃分</p><p>  劍川繡花鞋文化宣傳網(wǎng)的功能復(fù)雜,開發(fā)人員必須結(jié)合各種開發(fā)方法,整體上把握全局的同時(shí)逐一擊破。如果不考利項(xiàng)目的整體功能效果,將導(dǎo)致網(wǎng)站失去功能的連貫性;如果不細(xì)心分析,將導(dǎo)致網(wǎng)站功能的遺漏和不足;如果不對(duì)功能進(jìn)行歸類,將導(dǎo)致工期源長且

23、不便于管理。</p><p>  避開網(wǎng)站各個(gè)功能的連貫性,從技術(shù)角度出發(fā),以信息和數(shù)據(jù)作為管理對(duì)象,網(wǎng)站的代碼僅需要實(shí)現(xiàn):信息的查詢功能、信息的添加功能、信息的修改功能、信息的刪除功能、信息的分頁顯示功能、文件的上傳和下載功能、郵件的發(fā)生功能和在線支付功能等等。只要掌握了以上技術(shù),將其寫成能功能完善的操作類,并且可以靈活調(diào)用,那么系統(tǒng)的開發(fā)便變成了功能組織的過程,哪里需要功能,需要什么樣的功能,相應(yīng)的操作類就出

24、現(xiàn)在哪里,通過靈活地調(diào)用和組織,開發(fā)人員可以更為輕松地實(shí)現(xiàn)并聯(lián)系起各個(gè)功能。</p><p>  五、淺談表單提交方式</p><p>  5.1、get方式與post方式的特點(diǎn)比較</p><p> ?。?)、get方式是從服務(wù)器上獲取數(shù)據(jù),post方式是向服務(wù)器傳送數(shù)據(jù);</p><p> ?。?)、get方式提交數(shù)據(jù)時(shí),用戶可以在瀏覽器

25、上直接看到提交的數(shù)據(jù),一些系統(tǒng)內(nèi)部消息將會(huì)一同顯示在用戶面前,而post的所有操作對(duì)用戶來說都是不可見的;</p><p> ?。?)、get方式傳送的數(shù)據(jù)量較小,不能大于2KB。Post方式傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB;</p><p> ?。?)、get方式的安全性非常低,post方式的安全性較高。但是執(zhí)行效率卻比

26、Post方式好。</p><p> ?。?)、get方式的接受值方法如:$no=$_GET["no"];post方式的接受值方法如:$name=$_POST["name"];</p><p>  5.2、靈活地選擇提交方式</p><p> ?。?)、 get方式的安全性較post方式要差些,包含機(jī)密信息的時(shí)候,我選擇post

27、數(shù)據(jù)提交方式;</p><p> ?。?)、 post方式容量大,安全性高,我便用于數(shù)據(jù)的添加、修改或刪除,get方式的提交提交速度快,我就用于數(shù)據(jù)的查詢;</p><p>  (3)、 get方式提交數(shù)據(jù)時(shí)候,如果處理技術(shù)不到家,我建議最好不要提交中文的數(shù)據(jù),避免出現(xiàn)亂碼等錯(cuò)誤,當(dāng)然數(shù)字和字母是不會(huì)出現(xiàn)問題的; </p><p>  六、MD5(消息摘要算法)加密

28、密碼</p><p>  任何人都有自己獨(dú)一無二的指紋,這常常成為公安機(jī)關(guān)鑒別罪犯身份最值得信賴的方法;與之類似,通過MD5不可逆的字符串變換算法,MD5可以為任何文件(不管其大小、格式、數(shù)量)產(chǎn)生一個(gè)等長度(32位)的獨(dú)一無二的“數(shù)字指紋”,如果任何人對(duì)文件做了任何改動(dòng),其MD5值也就是對(duì)應(yīng)的“數(shù)字指紋”都會(huì)發(fā)生變化。</p><p>  在php開發(fā)過程中,我使用了MD5對(duì)密碼進(jìn)行加密

29、,php自帶的md5()函數(shù),使我輕松解決了密碼加密問題,使用方法如下:</p><p><b>  <?php</b></p><p>  $str=”password”;</p><p>  $password=md5($str);</p><p><b>  ?></b></

30、p><p><b>  七、sql注入說明</b></p><p>  Web安全紛繁復(fù)雜,危害最嚴(yán)重的當(dāng)屬SQL注入。SQL Injection,中文名稱為“SQL 注射”,是一種數(shù)據(jù)庫攻擊手段,也是WEB應(yīng)用程序漏洞存在的一種表現(xiàn)形式,它的實(shí)際意義就是利用某些數(shù)據(jù)庫的外部接口把用戶數(shù)據(jù)插入到實(shí)際的數(shù)據(jù)庫操作語言當(dāng)中,從而達(dá)到入侵?jǐn)?shù)據(jù)庫乃至操作系統(tǒng)的目的。</p&

31、gt;<p><b>  八、雙重防護(hù)策略</b></p><p>  8.1、雙重防護(hù)策略介紹</p><p>  圖2:雙重過濾表單提交信息</p><p>  如果把表單關(guān)聯(lián)的JS文件和PHP文件作為表單的的左膀右臂(如圖2),充分發(fā)揮其職責(zé),牢牢地守死信息輸入的關(guān)卡,那么畸形數(shù)據(jù)將永遠(yuǎn)地拒之門外。策略一:信息格式匹配;策略

32、二:全方位防止sql注入。</p><p>  8.2、信息格式匹配</p><p>  JS的引入,能夠滿足我需要的任何網(wǎng)頁交互效果,同時(shí)我通過JS可以實(shí)現(xiàn)信息的第一次過濾,其策略為:通過對(duì)輸入信息格式的判斷,以此檢測(cè)出輸入信息是否合法,如果格式不是指定的格式,那么表單將拒絕提交。方法如下:</p><p>  方法一,擅用正則表達(dá)式:</p>&l

33、t;p>  // JavaScript checkfile</p><p>  function validate()</p><p><b>  {</b></p><p>  var msg1='<div style="color:#f00;">*';</p><p&

34、gt;  var msg2='*</div>';</p><p>  if(!Istrue(document.formu.em.value,1))</p><p><b>  { </b></p><p>  document.getElementById("error1").innerHTML

35、=msg1+"請(qǐng)輸入正確的郵箱!"+msg2;//動(dòng)態(tài)插入html錯(cuò)誤提示信息</p><p>  document.formu.em.focus(); //焦點(diǎn)移到錯(cuò)誤位置</p><p>  return false; //返回false則拒絕提交</p><p><b>  } </b></p><

36、p>  else if(document.formu.sf.value!==""&&!Istrue(document.formu.sf.value,3))</p><p><b>  { </b></p><p>  document.getElementById("error1").innerHTML =

37、"";</p><p>  document.getElementById("error2").innerHTML =msg1+"請(qǐng)輸入正確的身份證號(hào)!"+msg2;</p><p>  document.formu.sf.focus(); </p><p>  return false; </p&g

38、t;<p><b>  }</b></p><p><b>  else </b></p><p>  return true;//所有檢測(cè)通過才提交表單</p><p><b>  }</b></p><p><b>  //正則表達(dá)式</b&g

39、t;</p><p>  function Istrue(str,n)</p><p><b>  {</b></p><p><b>  var reyx;</b></p><p><b>  switch(n)</b></p><p><b&g

40、t;  {</b></p><p><b>  case 1:</b></p><p>  reyx=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;</p><p>  break;//郵箱</p><p><b&g

41、t;  case 2:</b></p><p>  reyx=/^(1[3,5,8,7]{1}[\d]{9})|(((400)-(\d{3})-(\d{4}))|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{3,7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1

42、}))$)$/;</p><p>  break;//手機(jī)號(hào)</p><p>  case 3: reyx=/^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X)?$/;break;</p><p><b>  //case:;</b></p><p>  /

43、/break;無限擴(kuò)展</p><p><b>  default:</b></p><p>  alert("未知輸入錯(cuò)誤!");</p><p>  return false;</p><p><b>  }</b></p><p>  return(

44、reyx.test(str));</p><p><b>  }</b></p><p>  方法二,屏蔽鍵盤畸形輸入:</p><p>  <input name="nm" type="text" maxlength="4" onKeyUp="value=value.

45、replace(/[ -~]/g,'')" class="ipt2"/><!--只能輸入中文--></p><p>  <input name="" value="" onkeyup="this.value=this.value.replace(/\D/g,&#39;&#39;

46、)" class="ipt2" type="text" maxlength="3" /><!—只能輸入整數(shù)--></p><p>  8.3、全方位防止sql注入</p><p>  JS再厲害,也不過是唱獨(dú)角戲罷了,php才是信息的操縱者,它可以穿梭于服務(wù)器與客戶端之間,php傳遞的信息包裹在sql語

47、句里,因此sql語句才是數(shù)據(jù)庫的入場券,同時(shí)sql語句圣旨般的權(quán)利可以命令數(shù)據(jù)庫做任何數(shù)據(jù)操作。同時(shí)這也就說明,一旦偽造“圣旨”成功,則“君讓臣死,臣不得不死”也不是不可能的事情。因此養(yǎng)成良好的sql語句的編寫習(xí)慣,細(xì)心編寫代碼,是我們這些菜鳥的一門必修課。當(dāng)然,道高一尺魔高一丈,只有更安全的策略,沒有決對(duì)安全的措施。對(duì)信息進(jìn)行過濾的另一個(gè)策略為:全方位防止sql注入。下面我簡單列舉此次代碼開發(fā)過程中關(guān)注的幾個(gè)問題:</p>

48、<p>  問題一,選取安全的傳遞方式:</p><p>  從安全方式的選取出發(fā),涉及安全數(shù)據(jù)時(shí):不選用get傳輸數(shù)據(jù),因?yàn)閺牡刂窓谝部梢宰⑷雜ql攻擊,用post替代;不使用a標(biāo)簽: <a href="user.php?uid=1">會(huì)員信息</a>,用:<input type="button" onclick="

49、self.location=' user.php?uid=1’>" value="會(huì)員信息" />替換。</p><p>  問題二,遵循數(shù)據(jù)庫規(guī)范:</p><p>  從遵循規(guī)范性出發(fā),sql語句要盡量嚴(yán)密且符合數(shù)據(jù)庫的要求,比如在下面的例子中,兩句sql語句的作用是一樣的,語句的區(qū)別只是有無一對(duì)單引號(hào),但是沒有單引號(hào)就給了攻擊者更多發(fā)

50、揮的空間,有單引號(hào)不僅符合數(shù)據(jù)庫的規(guī)范,同時(shí)也讓攻擊者不方便拼接sql語句。</p><p><b>  <?php</b></p><p>  echo"<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />";&

51、lt;/p><p><b>  $uid=1;</b></p><p>  $sql="select * from yuser where uid=$uid";//不嚴(yán)密的編寫</p><p>  //$sql="select * from yuser where uid=’$uid’";嚴(yán)密的編寫</

52、p><p>  require_once("DB.php"); </p><p>  $result=array();</p><p>  $result = returnarray($sql);</p><p>  echo $sql;</p><p>  echo $result[0][1];<

53、;/p><p><b>  ?></b></p><p>  問題三,使用信息包裝器:</p><p>  比如,將 PHP 的內(nèi)置 mysql_real_escape_string() 函數(shù)用作任何用戶輸入的包裝器。這個(gè)函數(shù)對(duì)字符串中的字符進(jìn)行轉(zhuǎn)義,使字符串不可能傳遞撇號(hào)等特殊字符的同時(shí)讓 MySQL 根據(jù)特殊字符進(jìn)行操作,就可以避免用戶輸

54、入中的惡意 SQL 注入。看下面的例子:</p><p>  //對(duì)于下面的sql語句</p><p><b>  <?php</b></p><p>  $okay = 0;</p><p>  $nm = $_POST['user'];</p><p>  $pw = $

55、_POST['pw'];</p><p>  $sql = "select count(*) as ctr from users where </p><p>  username='".$nm."' and password='". $pw."' limit 1";</p&g

56、t;<p><b>  ?></b></p><p>  //例如,如果用戶輸入 yw 作為用戶名,輸入 ' or '1'='1 作為密碼,那么實(shí)際上會(huì)將以下字符串傳遞給 PHP,然后將查詢傳遞給 MySQL:$sql = "select count(*) as ctr from users where username=&

57、#39;yw' and password='' or '1'='1' limit 1";</p><p>  //對(duì)于下面的sql語句</p><p><b>  <?php</b></p><p>  $okay = 0;</p><p>  $n

58、m = $_POST['user'];</p><p>  $pw = $_POST['pw'];</p><p>  $sql = "select count(*) as ctr from users where </p><p>  username='".mysql_real_escape_strin

59、g($nm)."' </p><p>  and password='". mysql_real_escape_string($pw)."' limit 1";</p><p><b>  ?></b></p><p>  //例如,如果用戶輸入 yw 作為用戶名,輸入 &#

60、39; or '1'='1 作為密碼,那么實(shí)際上會(huì)將以下字符串傳遞給 PHP,然后將查詢傳遞給 MySQL:select count(*) as ctr from users where username='yw' and password='\' or \'1\'=\'1' limit 1"</p><p><

61、;b>  九、JS代碼篇</b></p><p>  9.1、隨機(jī)新聞變換</p><p>  圖3.隨機(jī)新聞變換效果</p><p>  圖3是我用純JS編寫一個(gè)隨機(jī)新聞變換效果,沒有用到Jquery,技術(shù)簡單,同時(shí)支持?jǐn)?shù)據(jù)庫數(shù)據(jù)的綁定和新聞數(shù)量擴(kuò)展,我將代碼抽取出來,做成運(yùn)用實(shí)例test.html,代碼如下:</p><p&

62、gt;  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></p><p>  <html xmlns="http://www.w3.org/1999/x

63、html"></p><p>  <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></p><p>  <title>首 頁(j-box)</title></p><

64、p>  <style type="text/css"></p><p>  *{ font-size:12px; color:#999; }</p><p>  body{ text-align:center; padding:0px; margin:0 auto;}</p><p>  #all {width: 600px;}

65、</p><p>  #newsimg,#newsimgto{ width:300px; height:200px; float:left;}</p><p>  #newsimg{ border:1px solid #0CF;}</p><p>  .titlered{ float:left; color:#F00; font-size:18px;}</p&

66、gt;<p>  .newstitle{ width:298px; float:left; text-align:left;}</p><p>  a:link, a:visited{ text-decoration: none;color:#999;cursor:pointer;}</p><p>  a:hover {color:#090;}</p><

67、;p>  </style></head></p><p>  <body><div id="all"><div id="newsimg"><div id="newsimgto" ></div></p><p>  </div> &

68、lt;span class="titlered">新聞瀏覽</span><div class="newstitle"><a id="n1" onmouseover="newschange('http://cimg21.163.com/cnews/2008/5/29/20080529063645633e1.jpg')&

69、quot; href="http://cimg21.163.com/cnews/2008/5/29/20080529063645633e1.jpg" name="http://cimg21.163.com/cnews/2008/5/29/20080529063645633e1.jpg" >○陜西災(zāi)區(qū)學(xué)生烈日下備戰(zhàn)高考</a></div> <div class=

70、"newstitle"><a id="n2" onmouseover="newschange('http://cimg21.163.com/cnews/2008/5/29/20080529042010e2865.jpg')" href="http://cimg21.163.com/cnews/2008/5/29/2</p>

71、<p>  <script language="javascript" type="text/javascript"></p><p>  //隨機(jī)自動(dòng)切換,以五張為例</p><p>  function autonewschange()</p><p>  {setTimeout("auto

72、newschange()",5000);</p><p><b>  try{</b></p><p>  var d="n"+(Math.round(Math.random()*4)+1);</p><p>  for(i=1;i<=4;i++)</p><p>  {if(&quo

73、t;n"+i==d)</p><p>  document.getElementById(d).style.cssText="color:#090;";</p><p><b>  else</b></p><p>  document.getElementById("n"+i).style.c

74、ssText="color:#999;";</p><p><b>  }</b></p><p>  var c=document.getElementById(d).name;</p><p>  newschange(c);</p><p><b>  }</b></

75、p><p><b>  catch(e)</b></p><p><b>  { }</b></p><p><b>  }</b></p><p><b>  //新聞切換</b></p><p>  function newscha

76、nge(d)</p><p><b>  {</b></p><p>  document.getElementById("newsimgto").innerHTML ='<img src="'+d+'" width="300" height="200" /&

77、gt;';</p><p><b>  }</b></p><p>  autonewschange();</p><p><b>  </script></b></p><p>  9.2、JS實(shí)現(xiàn)簡單驗(yàn)證碼</p><p>  //首先:網(wǎng)頁中插入以下

78、JS代碼</p><p>  <script language="javascript" type="text/javascript"></p><p>  var code ; //定義驗(yàn)證碼(全局變量)</p><p>  function createCode(){ </p><p>

79、  code = "";</p><p>  var codeLength = 4;//驗(yàn)證碼的長度</p><p>  var checkCode = document.getElementById("checkCode");</p><p>  checkCode.value = "";</p&g

80、t;<p>  var selectChar = new Array(2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','J','K','L','M','N','P

81、','Q','R','S','T','U','V','W','X','Y','Z');</p><p>  for(var i=0;i<codeLength;i++) {</p><p>  var charIndex

82、 = Math.floor(Math.random()*32);</p><p>  code +=selectChar[charIndex];</p><p><b>  }</b></p><p>  if(code.length != codeLength)</p><p>  { createCode();}&l

83、t;/p><p>  checkCode.value = code;</p><p>  }</script></p><p>  //其次:輸出驗(yàn)證碼:</p><p>  <body onLoad="createCode();">//加載驗(yàn)證碼</p><p>  驗(yàn)證碼:&

84、lt;input id="vc" name="vc" type="text" maxlength="4" />*//輸入框</p><p>  <input type="text" name="checkCode" id="checkCode" readonl

85、y="true" onClick="createCode()"/>//文本框輸出驗(yàn)證碼,單擊可變換</p><p><b>  </body></b></p><p>  //再次:判斷方法:</p><p>  if(document.forml.vc.value=="&qu

86、ot;||document.forml.vc.value.toUpperCase()!=code)</p><p>  alert(“驗(yàn)證碼錯(cuò)誤”);</p><p>  9.3、JS常用知識(shí)歸納</p><p>  (1)、獲取標(biāo)簽的屬性值(如:var a=document.formu.em.value;var b=document.getElementById(

87、“name”).name;);</p><p> ?。?)、改變標(biāo)簽屬性值(如:document.getElementById("selectfrm").src="select.php?txt="+d; window.open("countadd.php?id="+d+"&table=2","newwindow&qu

88、ot;);self.location=”index.php”;);</p><p> ?。?)、插入html和設(shè)置css屬性(如:document.getElementById("error2").innerHTML = "*請(qǐng)輸入正確的手機(jī)號(hào)碼!*";document.getElementById(d).style.cssText="color:#999;&qu

89、ot;;);</p><p>  (4)、 實(shí)現(xiàn)網(wǎng)頁自動(dòng)切換效果,比如通過setTimeout("xxx",5000):5秒鐘后調(diào)用xxx函數(shù),然后就停止;通過setinterel("xxx",5000):每隔5秒就會(huì)調(diào)用一次XXX);</p><p><b>  十、php代碼騙</b></p><p>

90、;  10.1、簡潔php數(shù)據(jù)庫操作類</p><p>  在整個(gè)項(xiàng)目的代碼開發(fā)過程中,反復(fù)地使用以下類進(jìn)行數(shù)據(jù)的檢索、增加、修改和刪除,代碼很簡潔,也很通用,當(dāng)然這完全依賴于php自帶的系統(tǒng)函數(shù),減輕了開發(fā)人員的工作負(fù)擔(dān)。</p><p><b>  //DB.php</b></p><p><b>  <?php</b

91、></p><p>  function connect()</p><p>  {$con = mysql_connect("127.0.0.1","root","111");</p><p>  mysql_select_db("test",$con);</p>

92、<p>  mysql_set_charset("utf8",$con);</p><p>  return $con;}</p><p>  function returnnull($sql)</p><p>  { $con = connect();</p><p>  $res = mysql_query(

93、$sql);//mysql_query() 向與指定的連接標(biāo)識(shí)符關(guān)聯(lián)的服務(wù)器中的當(dāng)前活動(dòng)數(shù)據(jù)庫發(fā)送一條查詢。</p><p>  $value=mysql_affected_rows();</p><p>  mysql_close($con); //用來查看對(duì)應(yīng)于 DELETE,INSERT,REPLACE 或 UPDATE 。 </p><p><b>

94、;  }</b></p><p>  function returnarray($sql)</p><p>  {$con= connect();</p><p>  $res = mysql_query($sql,$con);//參數(shù)2:規(guī)定 SQL 連接標(biāo)識(shí)符。如果未規(guī)定,則使用上一個(gè)打開的連接。</p><p>  $arr

95、= array();</p><p>  for($i=0;$i<mysql_num_rows($res);$i++)//mysql_num_rows()來查看對(duì)應(yīng)于 SELECT 語句返回了多少行</p><p>  { $arr[$i]= mysql_fetch_array($res,MYSQL_NUM);}</p><p>  mysql_free_r

96、esult($res);//處理完結(jié)果集后可以通過調(diào)用 mysql_free_result() 來釋放與之關(guān)聯(lián)的資源,盡管腳本執(zhí)行完畢后會(huì)自動(dòng)釋放內(nèi)存。</p><p>  mysql_close($con);</p><p>  return $arr;</p><p><b>  }</b></p><p><

97、b>  ?></b></p><p>  10.2、利用mysql的limit實(shí)現(xiàn)分頁</p><p>  在網(wǎng)上找了很多分頁類,要么復(fù)雜到看不懂,要么不是自己想要的效果,最后自己想著寫,用單獨(dú)的一個(gè)php文件設(shè)置頁碼,用另一個(gè)php文件顯示分頁信息,簡單地實(shí)現(xiàn)了分頁功能,技術(shù)含量低,但思路簡單,適合像我這樣的初學(xué)者使用。理解思路如下:</p><

98、;p> ?。?)看這句簡單的查詢語句:$sql = "select * from notebook limit 0,15";,它向notebook表中第一行數(shù)據(jù)開始取數(shù),共取15行數(shù)據(jù);假如我們每頁顯示15條信息,那么第一頁為:limit 0,15;第二頁為:limit 15,15;第三頁為:limit 30,15;……以此類推。</p><p> ?。?)、為了判斷整個(gè)數(shù)據(jù)表共可以

99、分為幾頁,我們首先需要查詢出總行數(shù),然后除以15,通過ceil()方法返回不小于總行數(shù)除以15的值的下一個(gè)整數(shù)(總頁數(shù))。如:ceil(45/15)=3,ceil(44/15)=3。</p><p> ?。?)引入變量$pageno作為頁碼,則所有頁都可以用limit $pageno*15,15表示。</p><p>  (4)、點(diǎn)擊“首頁”時(shí),將$pageno設(shè)為0;點(diǎn)擊“下一頁”時(shí),判

100、斷有無下一頁,有則$pageno++;點(diǎn)擊“上一頁”時(shí),判斷有無上一頁,有則$pageno--;點(diǎn)擊“尾頁”,將$pageno設(shè)為總頁數(shù)。</p><p> ?。?)用$_SESSION['pageno']= $pageno;記錄當(dāng)前選中頁的頁碼,這樣用戶在刷新頁面的時(shí)候,頁碼也不會(huì)改變。</p><p>  用一個(gè)php文件設(shè)置頁碼:</p><p&g

101、t;  // pageclass.php</p><p><b>  <?php</b></p><p>  $no = $_GET["noteno"];//獲取編號(hào)0:首頁,1:下一頁,2:上一頁,3:尾頁</p><p>  $sql = "select * FROM notebook ";&l

102、t;/p><p>  require_once("DB.php");//引入數(shù)據(jù)庫操作類</p><p>  $sum =count( runquery($sql));//查出總行數(shù)</p><p>  session_start();</p><p>  $pageno=$_SESSION['pageno']

103、;</p><p>  switch($no)</p><p><b>  {</b></p><p>  case 0:$pageno=0;break;</p><p>  case 1:if(($pageno+1)*15<$sum){ $pageno++;} break;</p><p>

104、;  case 2:if($pageno*15>=15){ $pageno--;} break;</p><p>  case 3:$pageno=ceil($sum/15-1);break;</p><p>  default :break;</p><p><b>  }</b></p><p>  $_SES

105、SION['pageno']=$pageno;</p><p>  echo"<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />";</p><p>  echo "<script>self.locat

106、ion='notebook.php'</script>";</p><p><b>  ?></b></p><p>  用另外一個(gè)php文件顯示分頁信息:</p><p>  // notebook.php</p><p><b>  <?php </b

107、></p><p>  session_start();</p><p>  if($_SESSION['pageno']==null)//假如首次首次瀏覽,頁碼為空</p><p>  $_SESSION['pageno']=0;</p><p>  $from=($_SESSION['page

108、no']*15);</p><p>  $sql = "select * from notebook order by ndate desc limit ".$from.",15";</p><p>  //……輸出數(shù)據(jù)……</p><p><b>  ?></b></p>

109、<p><b>  <div> </b></p><p>  <a href="pageclass.php?noteno=0">首 頁</a></p><p>  <a href="pageclass.php?noteno=1">下一頁</a></p&

110、gt;<p>  <a href="pageclass.php?noteno=2">上一頁</a></p><p>  <a href="pageclass.php?noteno=3">尾 頁</a></p><p><b>  </div></b><

111、;/p><p>  10.3、通過郵件找回密碼</p><p>  會(huì)員通過自己的郵箱接收自己的密碼,這樣不但可以對(duì)用戶進(jìn)行身份認(rèn)證,同時(shí)密碼的保密性也好。mail()和sochet方式都可以發(fā)送郵件。</p><p>  作為新手會(huì)選擇系統(tǒng)自帶的mail(),認(rèn)為只要mail()的參數(shù)填寫正確就可以發(fā)送郵件了,但結(jié)果常常大失所望,因?yàn)閙ail()還需要組件的支持,要使

112、郵件函數(shù)可用,PHP 需要已安裝且正在運(yùn)行的郵件系統(tǒng),配置方面相當(dāng)麻煩,而且服務(wù)器環(huán)境改變了后,我又要重新配置。</p><p>  Socket的本質(zhì)是:傳一個(gè)遠(yuǎn)程主機(jī)地址,和服務(wù)端口號(hào),然后生成 一個(gè)socket對(duì)象,以供使用!發(fā)送電子郵件不需要任何配置,而且網(wǎng)上socket類比較多,只要會(huì)使用socket類,那么發(fā)送郵件就不存在任何的問題了。</p><p>  10.4、php常用

113、知識(shí)歸納</p><p>  (1)、擅用系統(tǒng)自帶函數(shù),如:加密使用MD5()、時(shí)區(qū)設(shè)置date_default_timezone_set("prc"); $dt=date("Y-m-d H:i:s")等;</p><p>  (2)、結(jié)合其他語言一起實(shí)現(xiàn)相應(yīng)功能,如:先通過JS判斷信息格式后再提交表單等;</p><p> 

114、 (3)、將重復(fù)使用的代碼統(tǒng)一寫成相應(yīng)的功能函數(shù)和方法,封裝成類,最后放于一個(gè)文件中,形成功能完整和通用性好的代碼工具。</p><p><b>  總結(jié)</b></p><p>  首先,通過整個(gè)小組成員的共同努力,我們完成了該系統(tǒng)。在完成的過程中讓我們對(duì)在校所學(xué)知識(shí)做了一個(gè)總結(jié),特別是本系統(tǒng)應(yīng)用到的相關(guān)知識(shí):JSP、JavaBean、Servlet、過濾器、XML

115、與DOM,HTML+DIV+CSS架構(gòu),Javascript + ajax;通過對(duì)以前知識(shí)的復(fù)習(xí)和鞏固,在此基礎(chǔ)上再學(xué)習(xí)一些新的知識(shí),還有涉及到數(shù)據(jù)庫的部分知識(shí),讓我們系統(tǒng)的學(xué)習(xí)了數(shù)據(jù)庫的相關(guān)知識(shí)。其次,我們6個(gè)同學(xué)一個(gè)小組,分不同的模塊設(shè)計(jì),幾個(gè)小組成員之間要相互配合,互相幫助,共同進(jìn)步;只要有其中的一個(gè)沒有按照約定完成自己的工作,那么我們的工作就不可能完成;所以,在這個(gè)過程中,不管是誰的能力有多強(qiáng),如果他不和其他人合作,那么他做什么

116、都是多余的;總之,這次系統(tǒng)的完成我們最大的感受就是團(tuán)隊(duì)的力量是強(qiáng)大的,任何時(shí)候我們都必須記?。何覀兪且粋€(gè)團(tuán)隊(duì)。再次,我們?cè)谡麄€(gè)過程中遇到了很多困難,我們向其它同學(xué)朋友虛心的請(qǐng)教了,也從中認(rèn)識(shí)了不少朋友,也學(xué)習(xí)到了不少知識(shí),提高了我們的交流能力和自學(xué)能力。最后,不斷地和老師溝通和交流減少了我們?cè)谕瓿蛇^程中遇到的一些麻煩。</p><p><b>  致謝</b></p><

117、p>  本文的是在xx老師的指導(dǎo)下完成的。從開題到構(gòu)思、包括最后的提煉,都得到了xx老師的細(xì)心指點(diǎn)和提攜。xx老師學(xué)術(shù)的認(rèn)真與嚴(yán)謹(jǐn)給我們留下了十分深刻的印象,同時(shí)也給予了我們莫大的幫助和鼓舞,僅在此獻(xiàn)上我們最真摯的敬佩與感激。</p><p>  并且在此感謝所有幫助過我的其它老師、同學(xué)以及朋友們。最后,向評(píng)審該論文及參加論文答辯的各位老師表示衷心的感謝和誠摯的敬意。</p><p>

118、;<b>  參考文獻(xiàn)</b></p><p>  1《 PHP開發(fā)入行真功夫》,三揚(yáng)科技,電子工業(yè)出版社,2009-07。</p><p>  2《 HTML網(wǎng)頁設(shè)計(jì)》,賈素玲、王強(qiáng), 清華大學(xué)出版社,2007-05。</p><p>  3《DIV+CSS網(wǎng)頁布局商業(yè)案例精粹》,覽眾、張曉景, 電子工業(yè)出版社,2007-12。</p&

119、gt;<p>  4《個(gè)性化電子商務(wù)網(wǎng)站的研究與實(shí)現(xiàn)》,于小紅。</p><p>  5《DIV+CSS網(wǎng)站布局從入門到精通》,朱印宏、鄧艷超, 石油工業(yè)出版社,2011-01。</p><p>  6《電子商務(wù)網(wǎng)站后臺(tái)數(shù)據(jù)庫的連接設(shè)計(jì)》,葉小榮。 </p><p>  7《JavaScript高級(jí)程序設(shè)計(jì)(第2版)》,(美)澤卡斯, 人民郵電出版社,

120、2010-07。</p><p>  8《深入淺出MySQL數(shù)據(jù)庫開發(fā)、優(yōu)化與管理維護(hù)》,唐漢明,人民郵電出版社,2008-04。</p><p>  9《期刊論文》,梁春晶,B2C電子商務(wù)系統(tǒng)功能模塊的設(shè)置。</p><p>  10《學(xué)位論文》,李晶,電子商務(wù)拍賣網(wǎng)站的研究與設(shè)計(jì)實(shí)現(xiàn)。</p><p>  11《數(shù)據(jù)分析方法》,梅長林、范

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論