• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            08年07月16日

            Posted on 2008-07-16 18:08 RichardHe 閱讀(1655) 評(píng)論(29)  編輯 收藏 引用
            說(shuō)下最近在忙的事吧.最近公司游戲和一個(gè)社區(qū)合作.我負(fù)責(zé)和這個(gè)社區(qū)平臺(tái)的客戶端和服務(wù)器的設(shè)計(jì)
            這個(gè)社區(qū)老是把一些簡(jiǎn)單問(wèn)題復(fù)雜化來(lái)做.本杰我們的和其它平臺(tái)的都已經(jīng)做好了的,但是它們現(xiàn)在想在我的
            的客戶端加加一個(gè)內(nèi)嵌瀏覽器.說(shuō)是怕它們的帳號(hào)和密碼被盜,難道放在WEB中輸入就不會(huì)了嗎?不都是在客戶端
            輸入嗎?有什么本質(zhì)的區(qū)別嗎?
            現(xiàn)在的流程是這樣的,通過(guò)客戶端內(nèi)嵌瀏覽器輸入的用戶名和密碼到它們的服務(wù)器驗(yàn)證,然后把結(jié)果返回到我們
            游戲帳號(hào)服務(wù)器,再通過(guò)帳號(hào)服務(wù)器通知我們的客戶端,從而再進(jìn)行登錄以后的事情.
            以前我們和XX網(wǎng)的流程,先在客戶端輸入用戶名和密碼,通過(guò)SOCKET到他們的服務(wù)器進(jìn)行驗(yàn)證,通過(guò)以后再登錄到我
            們的游戲服務(wù)器,如果這個(gè)用戶名在我們的帳號(hào)服務(wù)器中的話那么進(jìn)行驗(yàn)證登錄,如果不在,則在帳號(hào)服務(wù)器寫入一條
            這個(gè)帳號(hào)的記錄,包括用戶名,是否成年等等.
            PS:以上的密碼都是經(jīng)過(guò)MD5和一個(gè)密鑰加密的,都是不可逆的,有那么容易破解嗎?

            Feedback

            # re: 08年07月16日[未登錄](méi)  回復(fù)  更多評(píng)論   

            2008-07-16 19:57 by steven
            如果覺(jué)得自己是對(duì)的 一定要用論證說(shuō)明 有些人是不懂技術(shù)的 只是想當(dāng)然 還是要溝通好 。

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-16 23:02 by huoxd
            我談下自己的想法,是不是那家公司覺(jué)得對(duì)于web訪問(wèn)提供數(shù)字簽名,加密處理等更加方便(例如客戶端安裝控件,服務(wù)端也做對(duì)應(yīng)配置),可能考慮部署更加方便,現(xiàn)成的資源也比較多.

            # re: 08年07月16日[未登錄](méi)  回復(fù)  更多評(píng)論   

            2008-07-17 08:41 by cppexplore
            他們的server端是java之類的東西寫的吧。
            他們不會(huì)或者懶得寫socket,想直接用servelet而已

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-17 09:20 by RichardHe
            @huoxd
            應(yīng)該是這樣的!因?yàn)樗麄児緵](méi)有用過(guò)C++開(kāi)發(fā),絕大多數(shù)都是WEB的方式,一直在想辦法通過(guò)WEB來(lái)驗(yàn)證等等!

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-17 09:21 by RichardHe
            @cppexplore
            我也不知道他們服務(wù)器是什么寫的,應(yīng)該是JAVA,因?yàn)樗麄兊腤EB也是JSP的

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-17 09:22 by txw
            人家是怕帳號(hào)密碼在你的客戶端輸入的階段就被HOOK走了,而不是害怕你的數(shù)據(jù)包被破解了。在瀏覽器輸入帳號(hào)密碼絕對(duì)比在你客戶端輸入要安全得多的。他們的要求其實(shí)也是合理的。因?yàn)闉g覽器是相對(duì)安全很多的。但是如果因?yàn)檫@個(gè)問(wèn)題涉及到要修改你系統(tǒng)原先的架構(gòu)那么就不劃算了,如果只是登錄流程變一下,嵌入個(gè)瀏覽器,那還是不過(guò)分的。

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-17 09:32 by RichardHe
            @txw
            謝謝你的指點(diǎn).如果現(xiàn)在嵌入個(gè)瀏覽器所增加的工作量相對(duì)以前來(lái)說(shuō)是相當(dāng)大的,我這邊的系統(tǒng)和數(shù)據(jù)庫(kù)也要專門重新構(gòu)架了.因?yàn)槟菢拥脑?我還要專門處理它們的服務(wù)器返回到我們的游戲服務(wù)器,再?gòu)奈覀兊挠螒蚍?wù)到游戲客戶端,這之間有一個(gè)映射關(guān)系比較難處理。

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-17 10:41 by txw
            是的,如果問(wèn)題涉及到架構(gòu),那或許需要重新溝通。但是如果帳號(hào)密碼安全至關(guān)重要,或許他們的方案更有保障。瀏覽器可以保證輸入的時(shí)候被HOOK的可能性大大減少,同時(shí)數(shù)據(jù)包WEB都是SSL加密的,要破解的可能性也是微乎其微的。還有client是有可能被逆向工程的。

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-17 11:09 by RichardHe
            @txw
            謝謝了..經(jīng)過(guò)你這么一說(shuō)真是明白了許多..
            因?yàn)樽约簺](méi)做過(guò)WEB開(kāi)發(fā)過(guò),所以其中的許多東西還是不太了解的!

            # re: 08年07月16日[未登錄](méi)  回復(fù)  更多評(píng)論   

            2008-07-17 12:18 by cppexplore
            根本原因還是因?yàn)槟沁厸](méi)有socket,想直接用servlet吧。這樣他們那邊的改動(dòng)很小,不需要涉入他們不熟悉的領(lǐng)域。被hook,指鍵盤輸入嗎,web下一樣可以。單純的得出結(jié)論:web輸入比client端輸入更安全,這個(gè)論調(diào)還需要詳細(xì)的論證吧,用客戶端的東東多了去了,也都沒(méi)用客戶端嵌入web的方式輸密碼。
            https可以用ssl加密隧道,socket一樣可以。
            這個(gè)問(wèn)題就是要么你們改,他們不改,要么他們不改,你們用web輸入。
            衡量2個(gè)方案的改動(dòng)量,還是你們改比較簡(jiǎn)單。

            # re: 08年07月16日[未登錄](méi)  回復(fù)  更多評(píng)論   

            2008-07-17 12:40 by 代李
            小小的問(wèn)一下: 直接在客戶端發(fā)送http請(qǐng)求 可以不呢?

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-17 12:46 by kun
            我也認(rèn)為 他們只是懶得改 罷了。
            不過(guò)反過(guò)來(lái)說(shuō),你現(xiàn)在的情緒是否也有點(diǎn)這樣的成分在里面呢?

            不如趁這個(gè)機(jī)會(huì)練下手。等做出來(lái)之后,你就多份經(jīng)驗(yàn)了,WEB的,Socket的你都弄過(guò),那么下次再有類似需求的時(shí)候,你就可以權(quán)衡哪種更好了。

            # re: 08年07月16日[未登錄](méi)  回復(fù)  更多評(píng)論   

            2008-07-17 13:01 by cppexplore
            @ 代李
            可以

            這對(duì)博主來(lái)說(shuō)是個(gè)好方案,還是用socket發(fā)送,可以建立tcp短連接,發(fā)送的數(shù)據(jù)采用http協(xié)議格式的,這樣就兩邊皆大歡喜了吧。

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-17 14:36 by RichardHe
            @kun
            現(xiàn)在是25號(hào)正式上線,21號(hào)上內(nèi)測(cè),沒(méi)時(shí)間啊?時(shí)間上來(lái)不急.

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-17 16:37 by RichardHe
            @cppexplore
            用socket發(fā)送,可以建立tcp短連接,發(fā)送的數(shù)據(jù)采用http協(xié)議格式
            可以這樣嗎?小弟我也是第一次用網(wǎng)絡(luò)這東西.所以許多東西還是不太懂.
            是否可以指點(diǎn)下呢?

            # re: 08年07月16日[未登錄](méi)  回復(fù)  更多評(píng)論   

            2008-07-17 17:20 by cppexplore
            @RichardHe
            web也是用的socket。http的通訊方式如下:
            建立連接(connect)
            發(fā)送請(qǐng)求(send)
            接收響應(yīng)(recv)
            斷開(kāi)連接(close)
            每次請(qǐng)求響應(yīng) 都要建立連接,斷開(kāi)連接,就是tcp短連接,也是http使用的方式。
            http的格式可以看rfc,或者抓包看看就知道
            一般是(post方式才需要body的):
            post/get/header url http/1.1\r\n
            header: value\r\n
            Content-Length: ..\r\n
            Content-Type: ..\r\n
            \r\n
            body

            內(nèi)嵌web可以說(shuō)是個(gè)很快速的方案,只要你能拿到web上返回的數(shù)據(jù),又何必自己寫socket發(fā)數(shù)據(jù)呢。或者可以一邊用內(nèi)嵌web寫原型系統(tǒng),一邊寫socket方式的。

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-17 17:32 by RichardHe
            @cppexplore
            現(xiàn)在問(wèn)題是很難從我的客戶端得到WEB上返回的數(shù)據(jù),要是能得到的話就什么都簡(jiǎn)單了.

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-17 17:33 by true
            可以看看libevent對(duì)http的封裝,類似的庫(kù)也不少。

            # re: 08年07月16日[未登錄](méi)  回復(fù)  更多評(píng)論   

            2008-07-17 20:05 by CppExplore
            @RichardHe
            我猜也是你拿到返回的數(shù)據(jù)很困難,呵呵。
            用socket吧 不需要用apache ace libevent那么復(fù)雜的封裝庫(kù)。寫個(gè)最基本最簡(jiǎn)單的阻塞式socket,連接 發(fā)送 ,等響應(yīng),之后關(guān)閉就是了。發(fā)送就是發(fā)送這個(gè)好了:
            POST /url HTTP/1.1\r\n
            Content-Length: 24\r\n
            Content-Type: application/txt\r\n
            \r\n
            username=jim&pass=mypass

            詳細(xì)的信息可以問(wèn)那邊要,他們一定有示例的頁(yè)面,用頁(yè)面發(fā)個(gè)請(qǐng)求,抓包就知道了。

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-18 11:13 by RichardHe
            @true
            謝謝指點(diǎn)!!

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-18 11:14 by RichardHe
            @CppExplore
            謝謝指點(diǎn)......但還是不知道怎么抓包?
            用SOCKET抓嗎?也不知道它們返回的是什么樣的消息格式?
            它們是有一個(gè)專門的登錄頁(yè)面的.

            POST /url HTTP/1.1\r\n
            Content-Length: 24\r\n
            Content-Type: application/txt\r\n
            \r\n
            username=jim&pass=mypass

            這個(gè)是指什么??我這邊所要發(fā)的嗎?這個(gè)是WEB里面要發(fā)的吧?

            # re: 08年07月16日[未登錄](méi)  回復(fù)  更多評(píng)論   

            2008-07-18 12:38 by Jezz
            Web登陸和客戶端登陸在安全性上沒(méi)有太大差異. 能破解的都能破解. 建議直接提交Web接口數(shù)據(jù),得到返回結(jié)果

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-19 20:27 by RichardHe
            @Jezz
            我的客戶端很難得到返回的結(jié)果!

            # re: 08年07月16日[未登錄](méi)  回復(fù)  更多評(píng)論   

            2008-07-21 09:42 by 代李
            直接使用socket發(fā)送 http協(xié)議 返回的東西跟網(wǎng)頁(yè)一樣 只是會(huì)有http頭
            1·可以通過(guò)http頭來(lái)判斷是否連接發(fā)送成功
            1·可以通過(guò)內(nèi)容來(lái)判斷是否驗(yàn)證成功,比如檢索內(nèi)容里面是否有成功字樣,,等。

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-21 10:45 by RichardHe
            @代李
            有例子參考下嗎???因?yàn)闆](méi)用過(guò)SOCKET發(fā)送HTTP這樣的
            所以不知道怎么做?也不知道怎么用客戶端接收HTTP返回的東東!
            謝謝關(guān)注!

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-23 01:36 by dodo
            我不信瀏覽器更安全。

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-07-23 08:52 by RichardHe
            @dodo
            呵呵..我覺(jué)得應(yīng)該都差不多的...但是就是有些人覺(jué)得瀏覽器比客戶端更安全

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-08-01 21:24 by daili
            http://www.vckbase.com/document/viewdoc/?id=1208 zhe you gelizhi

            # re: 08年07月16日  回復(fù)  更多評(píng)論   

            2008-08-02 08:57 by RichardHe
            @daili
            謝謝了..

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            posts - 94, comments - 138, trackbacks - 0, articles - 94

            Copyright © RichardHe

            一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | www亚洲欲色成人久久精品| 久久久久久久99精品免费观看| 伊人丁香狠狠色综合久久| 日韩久久无码免费毛片软件| 亚洲va国产va天堂va久久| 亚洲伊人久久大香线蕉苏妲己| 午夜精品久久久久成人| 久久99国内精品自在现线| 久久久久无码精品| 久久国产亚洲高清观看| 开心久久婷婷综合中文字幕| 国产亚洲综合久久系列| 人人妻久久人人澡人人爽人人精品| 国内精品久久久久久野外| 欧美久久久久久精选9999| 久久久久亚洲AV无码永不| 亚洲欧美日韩久久精品| 精品久久国产一区二区三区香蕉 | 久久久久99精品成人片| 1000部精品久久久久久久久| 国产成人无码精品久久久性色| 国产免费久久精品丫丫| 久久九九亚洲精品| 久久精品中文騷妇女内射| 亚洲国产视频久久| 久久久免费观成人影院| 国产69精品久久久久99| AV无码久久久久不卡蜜桃| 久久精品无码专区免费青青| 久久久久久精品免费免费自慰| 污污内射久久一区二区欧美日韩| 亚洲综合久久综合激情久久| 久久国产乱子精品免费女| av无码久久久久不卡免费网站| 麻豆一区二区99久久久久| 久久99热这里只有精品国产| 免费精品国产日韩热久久| 久久久人妻精品无码一区| 久久综合久久性久99毛片| 一本色综合久久|