陳成 廣東南方網絡信息科技有限公司510623
在這個移動互聯網時代下,在線問卷調查和網絡投票活動日趨流行。對于一些新的產品、新的觀點的調查范圍更加廣泛,得到的消息也能夠及時的反饋給發起調查問卷的單位。還有,網絡投票已經成為評選活動的重要方式。很多競賽活動,比如視頻大賽,講解比賽等,都離不開民主投票,以保證盡量公平。
基于以上背景,本文結合互聯網技術設計了“問卷投票自動化管理系統”,主要基于Laravel和Angular框架。問卷投票系統不僅擴大了信息反饋的范圍、節省了人力資源,而且使得企業在競爭激烈的市場中擁有更強大的資本。該系統為用戶提供自主發起問卷或投票,在線設計內容,設定問卷或投票模板,采集數據,調查或投票結果展示,多種技術手段防范作弊刷票。
為實現Web應用的快速開發和版本迭代,本文采用技術框架的方式對常用的功能提供通用的解放方案,將更多的精力放在業務邏輯的實現上,從而縮短開發周期,避免大量重復勞動。
Laravel是目前最流行的PHP開發框架之一,它使用IoC(依賴注入容器)結構和MVC(Model-View-Controller)架構模式。Laravel自帶了強大的Eloquent ORM和遷移工具,能夠完美的與多種數據庫協同工作,使用PDO(PHP Data Object)參數綁定避免SQL注入攻擊。支持請求的RESTful路由,通過簡單的閉包就能響應HTTP請求,能夠方便地實現RESTful API。
隨著互聯網應用的發展,友好的用戶界面、良好的用戶體驗、統一的界面風格、復雜的邏輯交互等要求,大量優秀的前端技術框架隨之產生。其中AngularJS是一款優秀的前端JavaScript框架。AngularJS是一種 MVC 的前端框架,以數據和邏輯為驅動核心,它有著諸多特性,最重要的是:模塊化,雙向數據綁定,語義化標簽,依賴注入等。
為了使用戶界面能夠兼容PC端、Android端、蘋果手機等多個終端,系統還采用了Bootstrap框架。它是目前流行的用于前端開發的開源工具包,它簡潔靈活,使Web開發更加快捷。它有很多特點,跨設備、跨瀏覽器,兼容多個終端的響應式布局,提供全面的組件。基于Laravel框架的問卷投票系統采用了Angular和Bootstrap前端框架,形成了功能完備、兼容多終端、風格統一的網站。
模型-視圖-控制器(Model-View-Controller)架構模式分為Model,View和Controller三個組件。其中,Model層負責如何為數據建模;View層負責用戶界面生成,如何向終端呈現從Model層得到的數據以及提供交互;Controller層負責Model層和View層的對接,對接主要是對應連個端:一端是向模型請求處理需要的數據來源,另一端則是把處理結果用某種方式傳遞給視圖,中間的具體過程就是控制器負責的層面。使用這樣的設計模式就是為了解耦,使3個組件相互之間不存在依賴,有利于代碼可維護性、可讀性、靈活性,有益于系統管理和維護。
整個系統分為問卷管理和投票管理兩部分。在問卷管理中,用戶對某個主題或熱門話題編輯和發布調查問卷,設置問卷模板,通過系統編輯可以將指定的統計結果實時生成統計圖,其中統計圖形有折線圖、柱狀圖、餅狀圖,方便用戶在統計報告中使用。在投票管理中,用戶對投票進行設置和發起,可以設定投票模板,修改投票選項信息,設置防刷票手段。網民可以訪問發布后的地址進行填寫或投票。整個系統的功能模塊如圖1所示。
(1)登錄模塊:為了系統的安全考慮,用戶需輸入相應的用戶名和密碼登錄后臺管理系統,且用戶名和密碼是和管理員預先設定的一樣。
(2)問卷投票管理:用戶可查看相應的問卷投票項目列表;新建新問卷或者投票;設置展示模板;錄入和修改內容,根據題目類型(單選、多選、填空、投票單選、投票多選)設計題目內容;點擊發布,即創建完成;可以刪除和停止發布問卷或投票項目;可以設置投票活動的防范刷票功能。

圖1 系統功能模塊
(3)統計模塊:可查看問卷提交或投票時間,來自IP,來源等;以圖表的方式展示問卷投票結果,下載統計報表。
(4)個人資料修改:用戶可以對個人資料進行修改和密碼修改。
(5) 權限角色管理:管理員可查看、創建和修改系統權限和角色。不同的角色擁有不同的權限,方便用戶的權限設置。
(6)用戶管理:管理員可查看和搜索用戶信息;創建、修改用戶;給用戶授予角色對應的權限。
(7)日志管理:用戶在管理后臺的登錄和對問卷投票項目的操作都被記錄在日志中,管理員可以查看所有操作的日志。
在線投票具有快捷高效、成本低廉等優勢,但容易作弊刷票一直是其缺陷。為了投票的公平公正,本系統采用多種技術手段結合防范作弊刷票,用戶可以根據不同的需求在管理后臺設置多種防范刷票功能的組合。
(1)IP限制;可限制每個IP在一定時間內只能對一個選項投票一次或數次,因IP很難偽造,可靠性較高。 需要注意是如果在同一個局域網下,則可能存在不同終端IP相同的情況。
(2)設備限制:投票系統使用Cookie、Session等技術標記已投票過的設備(電腦、手機等),但技術上Cookie很容易丟失和被刪除(例如清空瀏覽器緩存等)。
(3)圖形驗證碼:圖形驗證碼要求投票者需輸入一些機器較難識別的圖形驗證碼,可有效防止利用電腦程序進行模擬自動投票。
(4)日志分析:所有投票人次的時間、IP、所選選項、瀏覽器信息都會一一記錄,管理員可通過對日志的人工分析,發現可疑的投票行為。
(5)自定義用戶輸入項:自定義輸入項用于讓投票者提交更多信息,常用于信息收集,例如要求錄入聯系方式、地址等,可在一定程度上防范刷票。
經過實際運用,基于以上各種功能和技術手段,均能在一定程度上防范作弊刷票,或增加作弊刷票的成本。
本文研究在移動互聯網時代下,實現智能問卷投票系統。該系統的特點是同時支持手機、電腦端投票或提交問卷,然后統計和顯示結果,簡單、快捷;有多種不同風格的問卷投票模板和類型,滿足不同項目的要求;并且采用技術手段防范作弊刷票,可設置多種防范刷票功能的組合,方便操作和管理。本系統還有許多方面需要完善,比如提高系統性能,豐富問題類型。