您的位置:首頁(yè) >  新聞中心 > 行業(yè)動(dòng)態(tài)
  行業(yè)動(dòng)態(tài)
 

c#注冊(cè)集成調(diào)用手機(jī)短信驗(yàn)證碼平臺(tái)接口api異構(gòu)系統(tǒng)解決方案

來(lái)源:原創(chuàng)    時(shí)間:2018-03-01    瀏覽:0 次

    隨著中國(guó)一躍成為世界上最大的移動(dòng)通訊市場(chǎng),手機(jī)短信以它通訊費(fèi)用低廉,雙向傳輸,通訊質(zhì)量可靠,速度快等顯著優(yōu)點(diǎn)受到了越來(lái)越多人的青睞。不僅是個(gè)人,企業(yè)引入短信這種通訊方式也是非常必要的企業(yè)利用短信通信的優(yōu)勢(shì),可實(shí)現(xiàn)企業(yè)內(nèi)部的辦公通知、客戶關(guān)懷、機(jī)房監(jiān)控、遠(yuǎn)程調(diào)度等業(yè)務(wù)如果企業(yè)同時(shí)還有業(yè)務(wù)系統(tǒng),短信可作為業(yè)務(wù)系統(tǒng)的延伸完成許多重要的作用,可以實(shí)現(xiàn)比較復(fù)雜的互動(dòng)行為。比如與ERP系統(tǒng)連接,可以使業(yè)務(wù)人員或客戶隨時(shí)隨地查詢所要的業(yè)務(wù)信息;與SCM系統(tǒng)連接可以將整個(gè)供應(yīng)鏈中的反饋信息及時(shí)錄入系統(tǒng),也可以使客戶查詢供應(yīng)鏈運(yùn)作狀態(tài)因此,如何快速開(kāi)發(fā)出集成有完備的短信息發(fā)送、記錄、接受功能的應(yīng)用程序,以及讓已有的各功能復(fù)雜、不同實(shí)現(xiàn)方案的異構(gòu)業(yè)務(wù)系統(tǒng)能方便的集成短信息發(fā)送功能成為一個(gè)待解決的問(wèn)題。本文針對(duì)短信息發(fā)送的特點(diǎn),利用NET平臺(tái)提出了一種簡(jiǎn)潔高效的短信息發(fā)送解決方案并詳細(xì)描述了該方案的實(shí)現(xiàn)。實(shí)賤表明,該方案具有實(shí)現(xiàn)簡(jiǎn)潔、二次開(kāi)發(fā)方便、安全高效等特點(diǎn)

blob.png

目前企業(yè)實(shí)現(xiàn)自主短信息發(fā)送有兩種方案。一是與中國(guó)移動(dòng)、中國(guó)聯(lián)通的短信息網(wǎng)關(guān)相連接該方法適用于發(fā)送短信息量大,短信息面向公眾的企業(yè),成本較高;二是通過(guò)計(jì)算機(jī)串口、USB口或PCI接口與諸如短信收發(fā)機(jī)的GSM終端相連接實(shí)現(xiàn)短信息的發(fā)送。該方法特別適用于企業(yè)內(nèi)部業(yè)務(wù)系統(tǒng)短信息發(fā)送木文采用第二種方案,用一臺(tái)與計(jì)算機(jī)串口相連的短信收發(fā)機(jī)完成短信息收發(fā)的任務(wù)般企業(yè)里的業(yè)務(wù)系統(tǒng)結(jié)構(gòu)各異,很多程序員熟悉的平臺(tái)和開(kāi)發(fā)工具也不盡相同。為此,根據(jù)短信息發(fā)送的特點(diǎn),本文提出-種不同于 HTTP POST和 HTTP GET協(xié)議的URL解析方案。即通過(guò)

    在程序里調(diào)用特為便于對(duì)發(fā)送的短信息進(jìn)行記錄、管理以及對(duì)短信息的限制使用,用 SQL Server2000建立了個(gè)數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)定義了如下主要數(shù)據(jù)表:用戶信息表、用戶地址本表、用戶文件夾表、待發(fā)短信息褻、已發(fā)送短信息表、發(fā)送失敗短信息表等系統(tǒng)采用 ASPNET技術(shù)來(lái)實(shí)現(xiàn),編程語(yǔ)言采用C#,設(shè)計(jì)目標(biāo)是為各種復(fù)雜異構(gòu)的系統(tǒng)提供統(tǒng)的URL調(diào)用發(fā)送短信息接口,同時(shí)提供了注冊(cè)、定制、修改用戶信息以及管理短信息的界面。應(yīng)用程序調(diào)用公共調(diào)用接口模塊,傳入為該應(yīng)用程序注冊(cè)的用戶名、密碼、接受手機(jī)號(hào)碼以及待發(fā)送短信息,公共調(diào)用接口模塊驗(yàn)證用戶名、密碼等信息后,將這些信息送入數(shù)據(jù)庫(kù)的待發(fā)短信息表中,短信息發(fā)送模塊將待發(fā)短信息表中的短信息發(fā)送出去。管理員和用戶可通過(guò)用戶、短信息管理模塊修改用戶密碼、短信息發(fā)送限制條件以及查詢所發(fā)短信息ASP.NET與 Microsoft Net Framework及 Microsoft Internet信息服務(wù)(IS)協(xié)同工作以提供Web應(yīng)用程序安全性圍。

    用戶在注冊(cè)模塊里輸入用戶名,郵箱等基本信息。按提交鍵以后,應(yīng)用程序自動(dòng)產(chǎn)生一個(gè)隨機(jī)密碼,并使用 System. Web Mail. Maiimessage類發(fā)送封 email將注冊(cè)信息和隨機(jī)密碼發(fā)送到用戶注冊(cè)郵箱,同時(shí)發(fā)送一份到系統(tǒng)管理員郵箱。待系統(tǒng)管理員回復(fù)確認(rèn)后,此用戶賬號(hào)即開(kāi)始有效用戶的注冊(cè)信息存儲(chǔ)在數(shù)據(jù)庫(kù)的用戶信息表中。為避免密碼的明文存儲(chǔ),使用net提供的類對(duì)密碼執(zhí)行散列運(yùn)算。同時(shí)為增加免受潛在攻擊的安全性,對(duì)密碼散列執(zhí)行Salt運(yùn)算。Salt就是在已執(zhí)行散列運(yùn)算的密碼中插入的一個(gè)隨機(jī)數(shù)字。這一策略有助于阻止?jié)撛诘墓粽呃妙A(yù)先計(jì)算的字典攻擊(字典攻擊是攻擊者使用密鑰的所有可能組合來(lái)破解密碼的攻擊)。當(dāng)使用Salt值使散列運(yùn)算進(jìn)一步隨機(jī)化后,攻擊者將需要為每個(gè)Salt值創(chuàng)建一個(gè)字典,這將使攻擊變得非常復(fù)雜且成本極Salt值隨散列存儲(chǔ)在且未經(jīng)過(guò)加密。所存儲(chǔ)的Salt值可以在隨后用于密碼驗(yàn)證。本系統(tǒng)用 System Security. Cryptography. RNG Cryptoserviceprovider命名空間創(chuàng)建一個(gè)4字節(jié)Salt值每個(gè)客廣的密碼中都將插入一個(gè)隨機(jī)的Saat值

    身份驗(yàn)證是從用戶處獲取標(biāo)識(shí)憑據(jù)(如用戶名和密碼)并通過(guò)某些授權(quán)機(jī)構(gòu)驗(yàn)證那些憑據(jù)的過(guò)如果這些憑據(jù)有效,則提交這些憑據(jù)的實(shí)體被視為已通過(guò)身份驗(yàn)證。在身份得到驗(yàn)證后,授權(quán)進(jìn)程將確定該身份是否可以訪問(wèn)給定資源ASPNET通過(guò)身份驗(yàn)證提供程序(即包含驗(yàn)證請(qǐng)求方憑據(jù)所需代碼的代碼模塊)來(lái)實(shí)現(xiàn)身份驗(yàn)證。 ASPNET支持 Windows、Foms、 Passport三種身份驗(yàn)證和不驗(yàn)證。本文對(duì)用戶登錄系統(tǒng)提供Forms身份驗(yàn)證,即在應(yīng)用程序根目錄中的 Web. config中將 authentication mode設(shè)為 forms,同時(shí)抬

定標(biāo)簽中的namname表示指定要用于身份驗(yàn)證的 HTTP Cookie下,name的值是, ASPXAUTH。采用此種方式驗(yàn)證用戶后,以此用戶的信息建立一個(gè) Forms Authenticationticxet類型的身份驗(yàn)證票,再加密序列化為一個(gè)字符串,最后將這個(gè)字符串寫(xiě)到客戶端的name指定名字的Cookie中。一旦這個(gè) Cookie寫(xiě)到客戶端后,此用戶再次訪問(wèn)這個(gè)web應(yīng)用時(shí)將會(huì)連同 Cookie一起發(fā)送到服務(wù)端,服務(wù)端將囚此知道此用戶是已經(jīng)驗(yàn)證過(guò)的公共調(diào)用接口由于短信息發(fā)送具有傳輸參數(shù)較少的特點(diǎn),即只有身份驗(yàn)證需要的用戶名、密碼和發(fā)送短信息需要用到的手機(jī)號(hào)碼、消息內(nèi)容等參數(shù)。據(jù)此,本文提出了一種有別于復(fù)雜的 web service結(jié)構(gòu)的方法

    例如在地址欄輸入如下地址:http://www.ohfrw.com為短信息發(fā)送web應(yīng)用程序所在URL頁(yè)面利用 Request.URL. Tostring取得URL信息,其中 Request.URL為URI類型。URICuniformidentifier,統(tǒng)一資源標(biāo)識(shí)符),是表示“任意惟標(biāo)識(shí)符”的一個(gè)普通術(shù)語(yǔ)。URLuniform resource locator,統(tǒng)-資源定位符),是UR的一個(gè)普通類型。下來(lái)對(duì)URL信息進(jìn)行有效性檢查,若通過(guò)則將URL傳遞的用戶名 username、密碼 passwd接受的手機(jī)號(hào)碼 mobiles、待發(fā)送的短信息msg提取出來(lái)。在用戶信息表中,查詢 username所在的密碼散列值和salt值,將從URL提取的 passwd與salt散列運(yùn)算并與密碼散列值比較,如果驗(yàn)證通過(guò)則進(jìn)行下一步處理。否則返回接下來(lái)從已發(fā)送短信息表中查詢?cè)撚脩艚裉焖l(fā)的短信息條數(shù),若未超過(guò)設(shè)定的域值則進(jìn)行下步處理,否則返回最后將此用戶信息、接受手機(jī)號(hào)碼、待發(fā)送短信存入待發(fā)送短信息表中,留待發(fā)送模塊處理。

發(fā)送模塊

    短信收發(fā)機(jī)提供了標(biāo)準(zhǔn)的AT指令用于控制短信息的接受和發(fā)送。九十年代初,AT命令僅被用于 Modem操作,由于沒(méi)有控制移動(dòng)電話文本消息的先例,因此開(kāi)發(fā)了一種 SMS Block Mode的協(xié)議,通過(guò)終端設(shè)備(TE)或電腦來(lái)完全控制SMS。幾年后,主要的移動(dòng)電話生產(chǎn)廠商諾基亞、愛(ài)立信摩托羅拉和HP共同為GSM研制了一整套AT命令,其中包含對(duì)SMS的控制。AT命令在此基礎(chǔ)上演化并被加入GSM0705標(biāo)準(zhǔn),以及之后的GSM0707標(biāo)準(zhǔn)對(duì)SMS的控制共有三種實(shí)現(xiàn)途徑:最初的 Block mode;基于AT命令的 Text Mode;基于AT命令的 PDU Mode。PDU方式將消息正文經(jīng)過(guò)十六進(jìn)制編碼后進(jìn)行發(fā)送。目前PDU是最常用的發(fā)送格式基于微軟提供的 MSCOMM串口控件,利用vuaC+開(kāi)發(fā)一個(gè)名為 Thep Smscontrol的控件,將AT指令封裝其中,方便調(diào)試和開(kāi)發(fā)。NET開(kāi)發(fā)平臺(tái)提供了 Visual c#開(kāi)發(fā)工具,可以非常方便的集成各種控件和使用 ADO. NET操作數(shù)據(jù)庫(kù)。本文的發(fā)送模塊即是基于visual c#完成,該模塊在開(kāi)始階段初始化短信收發(fā)機(jī)的各種參數(shù)然后使用System.Windows.Forms. Timer定義一個(gè)定時(shí)器,每隔一個(gè)設(shè)定射時(shí)間閆隔,如10秒鐘,輪洵一次數(shù)據(jù)庫(kù)的待發(fā)短信息表,若有新的記錄,則調(diào)用 Thep Smscontrol控件提供的函數(shù)將短信息發(fā)往指定的手機(jī)號(hào)碼,同時(shí)將該發(fā)送記錄從待發(fā)短信息表中刪除,并保存至已發(fā)送信息表中,若信息發(fā)送失敗,則將此記錄保存至發(fā)送失敗短信息表中,其中對(duì)數(shù)據(jù)庫(kù)的增加和刪除記錄采取原子操作

短宿息和用戶管理模塊戶設(shè)計(jì)一個(gè)頁(yè)面方便用戶和管理員查誨發(fā)送的短信息記錄,同時(shí)提供用戶管理頁(yè)面,用于用管理和密碼修改等

應(yīng)用實(shí)例

    基于本文提出的解決方案,利用URL公共調(diào)用接口,我們分別在 windows和Linu系統(tǒng)上用 VisualC++開(kāi)發(fā)工具和gc工具開(kāi)發(fā)了幾套應(yīng)用系統(tǒng),并在其中方便的集成了短信息發(fā)送功能以網(wǎng)絡(luò)監(jiān)控程序集成短信息發(fā)送功能為例,在 register注冊(cè)頁(yè)面上注冊(cè)一個(gè)用戶名 netmonitor,經(jīng)批準(zhǔn)后得到一個(gè)密碼asd321。則調(diào)用如下URL即可完成一條監(jiān)控短信息的送

http://www.ohfrw.comI網(wǎng)絡(luò)服務(wù)一切正常↓利用VC在 windows下調(diào)用URL公共調(diào)用接口有兩種方案:1,利用 windows的API,使用Intermetopen和 Internetopenurl兩個(gè)函數(shù)即可完成對(duì)URL的調(diào)用即完成短信息發(fā)送;2,利用Cintemetsession類完成對(duì)URL的調(diào)用在 Lnux下使用“ lynx url” shell 1命令即可完成對(duì)URL的調(diào)用

結(jié)論

    本文提出的基于NET開(kāi)發(fā)的短信息解決方案,利用一臺(tái)短信息收發(fā)機(jī)即可實(shí)現(xiàn)企業(yè)內(nèi)各種異構(gòu)系統(tǒng)的完備的短信息發(fā)送功能,并且具有實(shí)現(xiàn)方案簡(jiǎn)潔、二次開(kāi)發(fā)簡(jiǎn)單、運(yùn)行高效、穩(wěn)定安全的特點(diǎn),具有很高的實(shí)用價(jià)值。


免费视频观无码一区,国内精品一区二区无码,99精品无码视频在线播放,ā片国产在线播放