• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于微信支付平臺的在線投票系統(tǒng)

      2019-10-08 09:01:51蔣嵩林
      軟件 2019年3期
      關(guān)鍵詞:刷票商戶頁面

      蔣嵩林

      摘? 要: 現(xiàn)代社會中,網(wǎng)絡(luò)投票由于存在欺詐投票、數(shù)據(jù)篡改、投票數(shù)據(jù)丟失、結(jié)果無法驗證等問題,一直飽受用戶詬病。而對于以微信支付為代表的移動支付,由于其安全便捷性,一直飽受用戶贊譽。如果將這兩者結(jié)合起來,將會碰撞出怎樣的火花呢?本系統(tǒng)基于微信支付構(gòu)建投票系統(tǒng),每次投票時支付象征性的金額,同時發(fā)起退款確認支付的真實性,并利用了微信歷史交易記錄的可查詢性,創(chuàng)造性地打造了一個安全有保證的投票系統(tǒng),為用戶提供優(yōu)質(zhì)的投票服務(wù)同時也降低了開發(fā)成本。

      關(guān)鍵詞: 投票系統(tǒng);微信支付

      【Abstract】: In contemporary society, there are problems existed in the online voting systems such as repeated fraudulent voting, data tampering, loss of voting data, and failure to verify the outcome of the voting data, and these problems causes inconvenience to the users. Meanwhile, the mobile pay systems represented by Wechat pay are distinguished due to its safety and convenience. If we combine the voting system with Wechat pay, a huge difference will be made. My system is based on Wechat pay. When you want to vote, you just need to pay a little, then a refund will give to you to ensure that the voting is real. The system can double check the voting record by checking the trading record saved on the Wechat Sever. As a result, the system provides users with a safe and fair environment to vote and it also reduces the developing cost.

      【Key words】: Voting system; Wechat pay

      0? 引言

      近些年,由于移動互聯(lián)網(wǎng)的快速發(fā)展,以及網(wǎng)絡(luò)民主的流行,網(wǎng)絡(luò)投票變得越發(fā)流行起來。同時,隨著微信用戶數(shù)的不斷增長,基于降低成本的需要,越來越多的網(wǎng)絡(luò)投票基于微信開發(fā)平臺來實現(xiàn)。但是現(xiàn)今網(wǎng)絡(luò)投票仍存在投票管理和服務(wù)需求的多樣化、系統(tǒng)規(guī)模的擴大化,伴隨著重復(fù)投票、欺詐投票、數(shù)據(jù)篡改、結(jié)果無法驗證等數(shù)據(jù)的客觀性問題和投票后數(shù)據(jù)安全性問題得不到解決。因此本文借鑒了微信支付付款模式,并基于這種模式開發(fā)出了安全可靠的投票系統(tǒng)。

      1? 現(xiàn)狀分析

      1.1? 常用微信防刷票技術(shù)[1]

      現(xiàn)代同類基于微信平臺防刷票技術(shù)一般有如下幾種:①OpenID驗證。OpenID是加密后的微信號,每個用戶對每個公眾號的 OpenID是唯一的,可以通過OpenID來判斷一個用戶是否已經(jīng)投過票,以此來限制同一個微信用戶重復(fù)投票。②限制關(guān)注公眾號才能投票。在投票時通過微信接口先判斷用戶有沒有關(guān)注公眾號,沒有關(guān)注則跳轉(zhuǎn)至關(guān)注頁面,此方法可以防止沒有關(guān)注公眾號的“僵尸用戶”刷票。③判斷上一級頁面。通過http請求header中的

      Referer變量,判斷投票操作的上級頁面,可以防止直接發(fā)送請求來進行投票的部分自動投票軟件。④判斷是否在微信客戶端上操作。通過請求頭部信息中的agent變量來判斷是否在微信客戶端中打開投票頁面。拒絕非微信客戶端上的請求,以防止部分自動投票軟件。⑤判斷IP地址或MAC地址,通過獲取用戶的IP或MAC地址,限制用戶的刷票行為。

      1.2? 技術(shù)缺陷

      對于①OpenID驗證技術(shù),一般投票平臺都會同時承接多項投票業(yè)務(wù),如果其中一項投票的投票日志記錄了投票者的OpenID,并且發(fā)生了泄露,或者投票者通過偵聽網(wǎng)站的手段獲得了OpenID,那么刷票者便可以借用這些OpenID刷本站其他項投票業(yè)務(wù)的票。

      對于②限制關(guān)注公眾號才能投票,刷票者如果擁有大量微信賬號,完全可以用一些“按鍵精靈”或者更高級的方法,模擬用戶手動關(guān)注公眾號后再進行刷票。并且,關(guān)注公眾號本身就有吸引粉絲的嫌疑,勢必招來用戶的厭惡。

      對于③判斷上一級頁面和④判斷是否在微信客戶端上操作,這兩種方法更不值得一提,③的方法,通過抓包,觀察投票時上一級頁面的特點,即可破解[2]。而④的方法,可以直接用爬蟲模擬User-Agent頭就可以輕松破解[3]。

      對于⑤判斷IP地址或MAC地址,現(xiàn)有IP代理和偽裝MAC地址的技術(shù)已經(jīng)使這兩種方法不堪一擊。

      同樣,還有一些防刷票的方法,它們或者可以被輕松模擬破解,或者搜集了過多的用戶信息[4],大大增加了用戶投票程序的復(fù)雜度,對正常投票用戶比較不友好,而且如果服務(wù)器不夠安全,有很大的個人隱私泄露風(fēng)險。

      2? 微信支付設(shè)計模式

      移動支付由于其便捷性與安全性,一直以來廣受用戶青睞。微信平臺的支付系統(tǒng),由于其成熟的操作流程,同時依托其強大的社交網(wǎng)絡(luò),成為移動支付市場的一方壟斷者。

      微信支付的流程如下。

      2.1? 預(yù)處理階段

      商戶平臺首先生成付款圖文消息鏈接或二維碼,并將其展示給用戶。

      當(dāng)用戶點擊消息或掃描二維碼后,將在微信內(nèi)置瀏覽器中打開商戶H5頁面,同時微信客戶端在網(wǎng)頁內(nèi)請求生成支付訂單。

      隨后商戶后臺系統(tǒng)自動生成商戶訂單,并調(diào)用統(tǒng)一下單API,微信支付系統(tǒng)生成預(yù)付單隨后返回信息給商戶后臺系統(tǒng)。

      商戶后臺系統(tǒng)生成JSAPI頁面調(diào)用的支付參數(shù)并簽名,將prepay_id, paySign等支付參數(shù)反饋到微信客戶端。

      2.2? 發(fā)起支付

      當(dāng)用戶點擊發(fā)起支付后,微信客戶端將向微信支付系統(tǒng)JSAPI接口請求支付,微信支付系統(tǒng)將檢查參數(shù)合法性和授權(quán)域權(quán)限,通過后便會返回驗證結(jié)果,并要求支付授權(quán)。此時微信客戶端便會提示用戶輸入密碼。

      2.3? 確認支付

      當(dāng)用戶輸入了支付密碼,微信客戶端便會直接向微信支付系統(tǒng)提交支付授權(quán),微信支付系統(tǒng)會驗證支付授權(quán),并分別向微信客戶端和商戶后臺系統(tǒng)發(fā)送支付結(jié)果消息。

      具體流程如圖1所示。

      2.4? 退款

      當(dāng)用戶誤操作或者因其它原因需要退款之時,商戶可以通過微信支付API提交退款申請,退款狀態(tài)變化如圖2所示。

      3? 基于微信支付平臺的在線投票系統(tǒng)

      系統(tǒng)將借用微信支付模式,采用“客戶端——投票服務(wù)器——第三方驗證服務(wù)器”的構(gòu)架,將微信支付系統(tǒng)作為第三方驗證服務(wù)器,每次投票時用戶需向投票支付系統(tǒng)支付象征性的費用(如1毛或1分),同時,當(dāng)系統(tǒng)將投票支付訂單號記錄在案,對訂單號產(chǎn)生賬號進行判斷,如果該賬號已經(jīng)投過票,則將投票記為無效,并發(fā)起退款,如果該賬號尚未投票,則立刻發(fā)起退款,如退款成功則將用戶的投票標(biāo)記為有效,并記錄在數(shù)據(jù)庫中,否則標(biāo)記為無效,來確保支付信息在傳輸過程中不被篡改。這樣設(shè)計的用戶投票支付系統(tǒng)既具有可靠性(只要微信服務(wù)器不出故障),又同時具有方便性,因為如今移動支付的普及性。此外,微信支付需要實名認證,且同一個身份證最多只可認證5名用戶,這讓那些刷票者手中大量未經(jīng)實名認證的微信號頓時無用武之地,大大提高了投票的實名性,杜絕了大量刷票的行為。

      投票結(jié)束后,系統(tǒng)還將自動核對每一個訂單號的真實有效性,防止數(shù)據(jù)發(fā)生篡改。

      這樣的投票系統(tǒng)還將投票服務(wù)范圍增加到了線下,使用時,只需掃描二維碼,向你想要投票者支付象征性的費用,就可以為你的理想候選者投上您神圣的一票。

      本投票系統(tǒng)工作流程如下:

      3.1? 預(yù)處理階段

      首先,同一般微信支付付款流程,本系統(tǒng)首先生成投票圖文消息鏈接或二維碼,并將其展示給用戶。

      當(dāng)用戶點擊消息或掃描二維碼后,將在微信內(nèi)置瀏覽器中打開投票目標(biāo)的詳細信息頁面,同時微信客戶端在網(wǎng)頁內(nèi)請求生成投票訂單。

      隨后商戶后臺系統(tǒng)自動生成投票訂單,并調(diào)用統(tǒng)一下單API,微信支付系統(tǒng)生成預(yù)付單隨后返回信息給投票系統(tǒng)。

      投票系統(tǒng)生成JSAPI頁面調(diào)用的支付參數(shù)并簽名,將prepay_id, paySign等支付參數(shù)反饋到微信客戶端。

      3.2? 發(fā)起投票

      當(dāng)用戶點擊發(fā)起投票后,微信客戶端將向微信支付系統(tǒng)JSAPI接口請求支付,微信支付系統(tǒng)將檢查參數(shù)合法性和授權(quán)域權(quán)限,通過后便會返回驗證結(jié)果,并要求支付授權(quán)。此時微信客戶端便會提示用戶輸入密碼[8]。

      3.3? 確認投票成功

      當(dāng)用戶輸入了支付密碼,微信客戶端便會直接向微信支付系統(tǒng)提交支付授權(quán),微信支付系統(tǒng)會驗證支付授權(quán),并分別向微信客戶端和投票系統(tǒng)發(fā)送支付結(jié)果消息。投票系統(tǒng)在收到消息后會立刻發(fā)起退款,稍等片刻后,如果微信支付系統(tǒng)確認退款成功,則將支付訂單號記錄在數(shù)據(jù)庫中,以備校驗[9],同時,向用戶發(fā)送提示,確認投票成功。

      3.4? 投票最后校驗

      當(dāng)投票結(jié)束,系統(tǒng)立即開始查詢保存在微信服務(wù)器上的歷史交易訂單號,并和投票系統(tǒng)服務(wù)器本地進行同步,防止投票系統(tǒng)被入侵篡改[10]。

      4? 結(jié)束語

      微信支付與網(wǎng)絡(luò)投票相結(jié)合,經(jīng)過巧妙的設(shè)計,有效解決了投票實際使用過程中出現(xiàn)的問題,實現(xiàn)了投票結(jié)果可追溯。最終實現(xiàn)了投票系統(tǒng)的安全、公平、公正,并且較好地利用了現(xiàn)有資源,降低了開發(fā)成本。

      參考文獻

      [1]肖卓明, 陳寧. 網(wǎng)絡(luò)投票防刷票技術(shù)探討[J]. 科技與創(chuàng)新, 2018, 20: 64-65.

      [2]符天, 汪志, 王貞. Web服務(wù)的SQL注入攻擊及防御研究[J].軟件, 2018, 39(4): 44-47.

      [3]胡云峰, 陳皖芬. 偽造HTTP請求報文協(xié)議頭對網(wǎng)絡(luò)投票系統(tǒng)刷票的可行性研究[J]. 文山學(xué)院學(xué)報, 2012, 25(6): 69-71.

      [4]吳三柱. 在線投票系統(tǒng)中防刷票技術(shù)研究[J]. 價值工程,2018,22:203-204.

      [5]騰訊. 微信支付開發(fā)文檔[OL]. (2019-01-10)[2019-01-21]. https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_4.

      [6]騰訊. 微信支付開發(fā)文檔[OL]. (2019-01-10)[2019-01-21]. https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_5

      [7]Kosba A, Miller A, Shi E, et al. Hawk: The blockchain model of cryptography and privacy-preserving smart contracts[C]. Security and Privacy (SP), 2016 IEEE Symposium on. IEEE, 2016: 839-858.

      [8]騰訊. 微信支付開發(fā)文檔[OL]. (2019-01-10)[2019-01-21]. https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1.

      [9]黨京, 孫弋. 基于區(qū)塊鏈的電子投票系統(tǒng)關(guān)鍵技術(shù)的實現(xiàn)[J]. 軟件,? 2018, 39(11): 140144.

      [10]李靜彧, 李兆森. 基于區(qū)塊鏈存證的電子數(shù)據(jù)真實性探討[J]. 軟件, 2018, 39(6): 109-112.

      猜你喜歡
      刷票商戶頁面
      大狗熊在睡覺
      刷新生活的頁面
      金鷹獎主動公開“刷票”情況
      要改變對網(wǎng)絡(luò)投票的過度依賴
      雜文月刊(2019年22期)2019-12-04 03:06:26
      要改變對網(wǎng)絡(luò)投票的過度依賴
      江蘇贛榆農(nóng)商行 上線商戶回訪管理系統(tǒng)
      金融周刊(2018年13期)2018-12-26 09:09:38
      “543”工作法構(gòu)建黨建共同體
      微信投票亂局與治道變革
      商戶小額貸款信用評價模型
      同一Word文檔 縱橫頁面并存
      囊谦县| 永济市| 天峨县| 洮南市| 汝城县| 志丹县| 黔江区| 延川县| 灵璧县| 深泽县| 赞皇县| 颍上县| 普洱| 建水县| 松原市| 望奎县| 云龙县| 梅河口市| 彭州市| 保定市| 保靖县| 绵竹市| 义马市| 新竹市| 昌江| 安溪县| 吉安市| 济宁市| 嘉禾县| 三门县| 土默特右旗| 象州县| 鸡西市| 信丰县| 惠水县| 靖安县| 永州市| 福建省| 从化市| 长岭县| 石城县|