吳宗霖,丁黃浩,楊艷紅
(蘇州大學(xué) 應(yīng)用技術(shù)學(xué)院,江蘇蘇州,215300)
隨著網(wǎng)絡(luò)的普及和通訊設(shè)備的進(jìn)化使得人們的信息接收能力飛速提高,同時(shí)也出現(xiàn)了許多通過(guò)網(wǎng)絡(luò)和通訊設(shè)備的詐騙案例和詐騙手段。為了提高人們對(duì)于各類詐騙的防范意識(shí),減少被詐騙人群數(shù)量,應(yīng)從詐騙源頭入手,提高群眾的防詐騙意識(shí),重視防詐騙教育的普及,向廣大人民分析并揭露詐騙手段。
JSP全稱Java Server Pages,是一種動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。它使用JSP標(biāo)簽在HTML網(wǎng)頁(yè)中插入Java代碼,主要用于實(shí)現(xiàn)Java web應(yīng)用程序的用戶界面部分。網(wǎng)頁(yè)開(kāi)發(fā)者們通過(guò)結(jié)合HTML代碼、XHTML代碼、XML元素以及嵌入JSP操作和命令來(lái)編寫(xiě)JSP[1]。JSP標(biāo)簽有多種功能,比如訪問(wèn)數(shù)據(jù)庫(kù)、記錄用戶選擇信息、訪問(wèn)JavaBeans組件等,還可以在不同的網(wǎng)頁(yè)中傳遞控制信息和共享信息。 JSP性能優(yōu)越,使用方便,易于移植,可以用最簡(jiǎn)單的方式來(lái)實(shí)現(xiàn)復(fù)雜應(yīng)用。
MySQL是一款安全、跨平臺(tái)、高效的并與Java編程語(yǔ)言緊密結(jié)合的數(shù)據(jù)庫(kù)系統(tǒng)。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。是目前運(yùn)行速度最快的SQL語(yǔ)言數(shù)據(jù)庫(kù)之一。
SQL是結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language),本質(zhì)上是一種數(shù)據(jù)庫(kù)查詢和程序設(shè)計(jì)語(yǔ)言[2]。SQL 的典型特征是非過(guò)程化,它不要求用戶了解數(shù)據(jù)的具體存放方式, 對(duì)于不同的數(shù)據(jù)結(jié)構(gòu),都實(shí)現(xiàn)數(shù)據(jù)描述、控制和數(shù)據(jù)操縱等功能。功能強(qiáng)大、操作靈活讓 SQL 迅速成為數(shù)據(jù)庫(kù)語(yǔ)言的通用標(biāo)準(zhǔn)。
Servlet是Sun公司開(kāi)發(fā)的、在服務(wù)器端運(yùn)行的Java程序。它的主要功能是交互式地實(shí)現(xiàn)瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)的web內(nèi)容[3]。Servlet能夠讀取客戶端發(fā)送到服務(wù)端的數(shù)據(jù)進(jìn)行回應(yīng)。Servlet 由 Servlet 容器提供,Servlet容器是提供了Servlet功能的服務(wù)器,本系統(tǒng)使用的Tomcat 就是這樣的服務(wù)器。當(dāng)客戶端發(fā)出HTTP請(qǐng)求時(shí),先由HTTP服務(wù)器接收,并對(duì)HTML靜態(tài)頁(yè)面進(jìn)行解析,HTTP服務(wù)器不會(huì)對(duì)Servlet請(qǐng)求進(jìn)行處理,它會(huì)將Servlet請(qǐng)求發(fā)送給Servlet容器,Servlet容器接收后會(huì)調(diào)用相應(yīng)的Servlet進(jìn)行處理,并將處理后的結(jié)果返回給Servlet容器,再通過(guò)HTTP服務(wù)器將結(jié)果返回給客戶端。
該系統(tǒng)是基于前后端分離的開(kāi)發(fā)方式設(shè)計(jì)的系統(tǒng),其前端注重用戶交互體驗(yàn),界面大方簡(jiǎn)潔美觀,流動(dòng)性強(qiáng)。該系統(tǒng)的前端分別設(shè)計(jì)了學(xué)習(xí)視頻模塊、案例模塊、用戶登陸模塊、2D滑動(dòng)詐騙模擬游戲區(qū)塊以及3D書(shū)畫(huà)瀏覽區(qū)塊,且首頁(yè)配備快速導(dǎo)航,能夠方便用戶快速切換頁(yè)面,使用系統(tǒng)服務(wù)。該系統(tǒng)的后端管理員能夠?qū)τ脩舻男畔⑦M(jìn)行增刪改查等管理操作,進(jìn)行系統(tǒng)維護(hù),也可以對(duì)欄目大類信息和案例條目詳細(xì)信息進(jìn)行修改更新等功能,進(jìn)行頁(yè)面的運(yùn)營(yíng)和維護(hù)。系統(tǒng)總體功能結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)功能圖
動(dòng)態(tài)網(wǎng)站數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)是動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)過(guò)程中的關(guān)鍵技術(shù),MySQL作為一種關(guān)系型的數(shù)據(jù)庫(kù),以其容易理解、使用方便、易于維護(hù)、可用于復(fù)雜查詢等特點(diǎn)成為了管理和設(shè)計(jì)信息系統(tǒng)的主流選擇之一。根據(jù)防詐騙系統(tǒng)的需求及其所需要實(shí)現(xiàn)的功能設(shè)計(jì)了數(shù)據(jù)庫(kù),具體如下:
(1)用戶信息表(user):用戶名、郵箱、密碼、生日、賬號(hào)許可度(為0是超級(jí)管理員,為1則是普通用戶)。
(2)欄目信息表(column):欄目名、欄目編號(hào)、欄目?jī)?nèi)容、上架時(shí)間、欄目公告。
(3)案例信息表(case):案例編號(hào)、案例標(biāo)題、案例內(nèi)容、案例來(lái)源、作者名稱、布日期、案例瀏覽量。
需要建立數(shù)據(jù)表的結(jié)構(gòu)為:
(1)user表:用戶信息表是對(duì)系統(tǒng)所有用戶以及后臺(tái)管理員信息的描述,用來(lái)存放和記錄系統(tǒng)前臺(tái)和后臺(tái)的用戶信息,如表1所示。
表1 user表
(2)column表:欄目信息表是對(duì)首頁(yè)案例大類的一個(gè)大體描述,用于存放案例的大類,以及說(shuō)明案例類目的概況,如表2所示。
表2 column表
(3)case表:案例信息表是對(duì)案例詳細(xì)信息的描述,用于存放和記錄案例的相關(guān)內(nèi)容,如表3所示。
表3 case表
系統(tǒng)前臺(tái)主要用于用戶交互,系統(tǒng)的首頁(yè)主要包含五個(gè)部分,頭部有輪播圖內(nèi)容,其中包含防詐騙教育推廣視頻,教育漫畫(huà),公益廣告等。第二個(gè)則是案例板塊,包含四大詐騙案例欄目,每個(gè)欄目又包含著各個(gè)主題詳細(xì)的案例內(nèi)容。第三個(gè)是滑動(dòng)瀏覽模塊,該模塊包含三個(gè)滑動(dòng)瀏覽盒子,盒子里包含的內(nèi)容則是以層層遞進(jìn)的方式模擬的三個(gè)2D紙片人游戲,以寓教于樂(lè)的方式向用戶傳遞如何預(yù)防詐騙并保護(hù)自己。第四個(gè)部分包含了3D書(shū)頁(yè)模塊,用戶可以翻動(dòng)系統(tǒng)自帶的3D電子書(shū),進(jìn)行防詐騙知識(shí)學(xué)習(xí)。第五個(gè)部分則是尾部,其中包含了系統(tǒng)以及開(kāi)發(fā)團(tuán)隊(duì)的必要信息。該頁(yè)面包含以下三個(gè)主要難點(diǎn),第一個(gè)是網(wǎng)頁(yè)綁定響應(yīng)函數(shù)到游戲模塊自動(dòng)播放游戲動(dòng)圖,需要將函數(shù)綁定進(jìn)窗口滾輪,同時(shí)添加窗口的外部監(jiān)聽(tīng)器window.addEventListner進(jìn)行實(shí)時(shí)監(jiān)聽(tīng),并計(jì)算出到達(dá)元素時(shí)頁(yè)面的實(shí)時(shí)高度,以此來(lái)實(shí)現(xiàn)滾輪到達(dá)元素自動(dòng)觸發(fā)函數(shù)使2D紙片人游戲自動(dòng)觸發(fā)并播放。第二個(gè)是游戲內(nèi)選項(xiàng)切換場(chǎng)景功能,需要綁定按鈕響應(yīng)函數(shù),用if語(yǔ)句來(lái)進(jìn)行判斷,遍歷數(shù)組中儲(chǔ)存好的圖片并達(dá)到切換的目的,在這個(gè)過(guò)程中需要對(duì)畫(huà)面的排版進(jìn)行準(zhǔn)確的把控,保證在復(fù)雜的代碼關(guān)系中元素能夠有序觸發(fā)。第三個(gè)是游戲滑動(dòng)瀏覽頁(yè)面的實(shí)現(xiàn),需要對(duì)瀏覽部分進(jìn)行分割,并綁定滾輪響應(yīng)函數(shù)使之在滾輪滑動(dòng)的過(guò)程中,有透明度,陰影和高度等立體變換,在這個(gè)過(guò)程中,我們需要對(duì)滾輪綁定函數(shù)進(jìn)行測(cè)試,以此達(dá)到了最終的合適的參數(shù)為:
var box2height = TOP - document.documentElement. scrollTop*1.15;
var box1opcity = TOP / document.documentElement. scrollTop * 1.05;
var box2opcity = TOP / document.documentElement. scrollTop
var box2scale = TOP / document.documentElement.scrollTop
box3height = TOP*1.2 - document.documentElement. scrollTop;
在系統(tǒng)的首頁(yè)會(huì)有登陸按鈕,點(diǎn)擊登陸按鈕可以進(jìn)行用戶登陸,如果用戶沒(méi)有注冊(cè)該系統(tǒng)賬號(hào),則可以切換至注冊(cè)頁(yè)面進(jìn)行注冊(cè),注冊(cè)頁(yè)面端有機(jī)器人客服系統(tǒng)可以幫助解決用戶注冊(cè)遇到的一些硬性問(wèn)題或者普遍遇到的問(wèn)題,如果有進(jìn)一步的困難則可以從QQ頁(yè)面跳轉(zhuǎn)至人工客服尋求幫助。注冊(cè)成功之后,系統(tǒng)將自動(dòng)返回至登陸頁(yè)面進(jìn)行登陸,系統(tǒng)的登陸流程包括:①驗(yàn)證登陸;②查詢權(quán)限;③登陸至相應(yīng)端頁(yè)面[4]。在登陸的過(guò)程中需要對(duì)用戶賬號(hào)進(jìn)行驗(yàn)證,首先判斷用戶是否在文本框內(nèi)輸入了用戶名密碼和驗(yàn)證碼,在這個(gè)邏輯實(shí)現(xiàn)中,使用了request.getParameter()的方法,用來(lái)獲取通過(guò)http協(xié)議提交過(guò)來(lái)的數(shù)據(jù),通過(guò)容器的實(shí)現(xiàn)來(lái)取得通過(guò)get或者post方法提交過(guò)來(lái)的數(shù)據(jù),該方法把客戶端的數(shù)據(jù)傳送到服務(wù)器端,并返回String類型的數(shù)據(jù)使之與web端輸入的內(nèi)容對(duì)比驗(yàn)證其是否為空,并作出相應(yīng)的紅字提示,如果不為空,則再對(duì)數(shù)據(jù)庫(kù)中的用戶名密碼進(jìn)行查找并判斷是否正確,接著再對(duì)隨機(jī)驗(yàn)證碼進(jìn)行判斷是否符合,全部驗(yàn)證通過(guò)后,系統(tǒng)會(huì)對(duì)該登陸賬號(hào)的預(yù)先設(shè)置好的權(quán)限進(jìn)行判斷,再依據(jù)賬號(hào)權(quán)限進(jìn)入其對(duì)應(yīng)的管理權(quán)限界面,具體的登陸流程如圖2所示。
圖2 登陸算法流程圖
在用戶信息管理功能模塊中,管理員賬號(hào)可以對(duì)所有用戶的信息進(jìn)行查詢,刪除,修改等管理操作,來(lái)維護(hù)系統(tǒng)環(huán)境,封禁違規(guī)用戶,保護(hù)網(wǎng)絡(luò)安全。管理員可以用分頁(yè)查詢、搜索查詢、快速查找等多種查詢方法來(lái)查詢系統(tǒng)全部的用戶信息,方便了管理員的統(tǒng)一管理以及精準(zhǔn)修改,當(dāng)管理員查詢到相應(yīng)的用戶之后,管理員可以對(duì)該用戶信息進(jìn)行修改更新,也可以快捷刪除不良用戶,或者主動(dòng)增加用戶信息,為有突發(fā)狀況無(wú)法注冊(cè)的的用戶提供了便利,在此處的邏輯實(shí)現(xiàn)中多次使用了request.setAttribute()方法,該方法為某一變量賦值,該值使用request.getRequestDispatcher().forward(request, response)的方法從Jsp頁(yè)面中去獲取,接著使用request.getAttribute()方法使Jsp頁(yè)面獲取到該值進(jìn)行顯示,而該方法傳遞的數(shù)值只會(huì)出現(xiàn)在Web容器內(nèi)部,這個(gè)部分用于頁(yè)面的紅字提示,可以輔助管理員的一系列信息管理操作。在驗(yàn)證管理員輸入不為空之后,系統(tǒng)會(huì)對(duì)管理員輸入的用戶信息進(jìn)行查找驗(yàn)證,比對(duì)數(shù)據(jù)庫(kù)確認(rèn)存在后,可完成刪除修改等一系列操作。其中具體的修改界面如圖3所示。
圖3 用戶快速刪除功能界面
在欄目信息管理功能中,主要實(shí)現(xiàn)了對(duì)欄目的編號(hào)、信息、內(nèi)容、時(shí)間、公告、名稱的修改操作,管理員使用這一功能,可以根據(jù)欄目實(shí)時(shí)更新相應(yīng)的內(nèi)容,對(duì)欄目進(jìn)行分類編號(hào)以及詳細(xì)信息的修改,并方便了更新每日公告板,以及公益短視頻。欄目作為案例模塊的分類入口,對(duì)欄目的分類,更加方便了之后案例的管理,使整個(gè)頁(yè)面系統(tǒng)調(diào)理更加清晰,避免了管理員的冗余工作,大大提高了管理效率。
在案例管理功能中,主要實(shí)現(xiàn)了增加案例、刪除案例、修改案例、查詢案例的四步操作,在這四步操作的基礎(chǔ)下,管理員能夠更好的修改案例的編號(hào),標(biāo)題,內(nèi)容,時(shí)間,作者名稱等詳細(xì)的案例信息。并可以根據(jù)案例每日瀏覽量制定好更合適的瀏覽計(jì)劃,上架效果更好的案例資源與鏈接,方便了用戶的觀看學(xué)習(xí)的同時(shí),也大大提高了自己的工作效率。
防詐騙系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)是基于Java Web的基礎(chǔ)上,實(shí)現(xiàn)的一個(gè)前后端分離系統(tǒng),經(jīng)過(guò)單元測(cè)試和系統(tǒng)測(cè)試,證明了系統(tǒng)的穩(wěn)定性與可靠性,同時(shí)異步加載大大優(yōu)化了頁(yè)面的加載速度。在如今這個(gè)詐騙方法層出不窮的時(shí)代,防詐騙系統(tǒng)的必要性也體現(xiàn)了出來(lái),為了能夠給大眾群體提供免費(fèi)的反詐騙知識(shí)以及鍛煉反詐騙意識(shí),我們的系統(tǒng)實(shí)現(xiàn)并達(dá)到了預(yù)期的功能,符合國(guó)家當(dāng)下防詐騙宣傳,幫助廣大老百姓提高反詐騙能力,能夠向用戶傳達(dá)一定的防詐騙知識(shí),具有重大教育意義。系統(tǒng)前臺(tái)頁(yè)面美觀簡(jiǎn)潔且通俗易懂,方便老年人以及青少年使用,適用于廣大群眾,系統(tǒng)后臺(tái)操作方便,兼容度高,加快整體響應(yīng)速度,很大程度上方便了管理員的操作,能夠很好的支撐和運(yùn)營(yíng)起整個(gè)系統(tǒng)。