星期三, 1月 27, 2010

怎麼防止不透過我寫的swf.直接傳值給php?


作者  Jerrynet (我愛Hot_game板)                                  看板  Flash
 標題  Re: [問題] 怎麼防止不透過我寫的swf.直接傳值給php?
 時間  Tue Jul 15 16:49:22 2008
───────────────────────────────────────

※ 引述《a149851571 (yem)》之銘言:
: 了解到flash不能和伺服器的資料庫連結,只能透過asp或php之類的才能存入資料
: 所以小弟也就開始學習php..但是最近想到了一個問題..
: 假如我寫了一個swf,傳值給php,php再存入資料庫
: 那如果有心人士反組譯了我的swf,知道該傳什麼給php
: 那就有可能被以作弊的方式,達到他想要的目的(而不是照著我的規則走)
: 以前對這種問題好像是無解,不知道現在有沒有比較好的解決方法?
: 或者可以拖延破解者非常久的時間,使破解成本提高也是不錯?
: 請各位高手大大提出您的見解囉~


推 Jerrynet:除了看swf外,用一些程式看電腦封包傳送就可以知道了       07/15 14:11
→ Jerrynet:所以在swf作很多措施其實也是麻煩到自己而已              07/15 14:12
→ Jerrynet:不過你是想要隱藏什麼訊息阿? ex:密碼?                   07/15 14:13
→ a149851571:也不是想隱藏什麼訊息,只是不想讓別人很容易就可以      07/15 16:01
→ a149851571:用  test.php?a=1&b=2&c=3  這樣來控制                 07/15 16:02
→ a149851571:而不是在我做的swf檔裡照我寫的來點選                  07/15 16:03


1. 用原始碼混淆器, 原理是將原始碼的變數或敘述改成超長串無意義字串,
   讓反組譯出來的程式難以閱讀。
   ex: ActionScript Obfuscator

2. 不要用URL網址傳遞變數,改用POST方法

3. 用socket,不過這要開特定port 伺服器,比較麻煩@@

4. 以上方法用網路封包監視程式就可以看到傳遞內容,所以...= =
   (不過很少人那麼無聊吧XD)

5. 用加密的https傳輸協定顯示html(包含你的swf),然後從PHP產生一個唯一的SSID
   丟給swf,swf利用此SSID加密所欲傳輸的內容傳到伺服器上,伺服器解密後,
   再把此SSID刪除。
   (好處是:用監視程式看封包,看不出你傳送的內容。反組譯swf,看的很清楚,但是
    沒有每次都不同的SSID,有心人也無法傳送正確加密的內容)

   (壞處:極為麻煩,而且要買憑證,自己產生的憑證Firefox3會不通過= =)

6. 第5點好麻煩,可是我好久沒碰flash了,不知道有沒有更方便的方法= =

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 119.14.17.126
推 a149851571:沒想到還有混淆器這種東西~~我還以為增加不必要的字編   07/16 00:07
→ a149851571:譯後還是一樣呢!!                                   07/16 00:07
推 ComicMan:大推                                                   07/16 02:00

沒有留言:

張貼留言