Re: [問題] 怎麼防止不透過我寫的swf.直接傳值給php?

看板Flash作者 (陌生人)時間17年前 (2008/07/16 00:48), 編輯推噓4(407)
留言11則, 5人參與, 最新討論串3/3 (看更多)
※ 引述《a149851571 (yem)》之銘言: : 了解到flash不能和伺服器的資料庫連結,只能透過asp或php之類的才能存入資料 : 所以小弟也就開始學習php..但是最近想到了一個問題.. : 假如我寫了一個swf,傳值給php,php再存入資料庫 事實上,你用 swf 呼叫 php,不用反組譯 swf 就可以知道你的 php 接收了甚麼參數。 swf 呼叫 php 的方式其實就和你的瀏覽器打上 php 的網址是一樣的。 (就算是用Post的,其實我也可以看到你Post了甚麼,然後用程式去模擬Post動作...) : 那如果有心人士反組譯了我的swf,知道該傳什麼給php : 那就有可能被以作弊的方式,達到他想要的目的(而不是照著我的規則走) 這裡有一個重點,作弊的方式,是甚麼方式? 又你想要保護的資料是甚麼?保護的對象是誰?是使用者還是Server? 而不單單是要怎麼保護 "我傳給php的值"... 提供一些解法: 1. 我要保護我 php?param= 後面的參數: 最直覺的,在Flash中用一組動態的Key加密後傳給php,再由php解密。 只是我覺得反正你那些值到後來也是要顯示在Flash裡面...何必那麼麻煩... 這只能防防小人,真正要防Hacker還是防不了... (不過我想Hacker應該也沒啥興趣駭這種無聊的東西) 用 AS3 + Encryption 搜尋應該有一些東西參考,我個人是沒作過用AS3加密... 2. 我要保護我的Server不會被人用機器人攻擊。(例如討論版被瘋狂灌水) 例用 CAPTCHA (認證圖),由Server產生一張圖給Flash, 然後要使用者輸入圖上顯示的數字,確認是"人眼"看到圖才能繼續貼文的動作。 搜尋 php + CAPTCHA 應該有一些免費的解決方案可以用。 3. 我要防止User跳過某些步驟。 利用 Session 將資料寫在 Server 端。和寫網頁一樣,翻翻Php的Session那章吧~XD 4. 我要保護我的資料庫不會被 SQL Injection。 只要記住一點,所有User傳入Server的參數都一定要用Server端的程式(即Php)檢查! 例如,我輸入了電話,裡面不應該出現中文,或是長度太長(電話不可能大於20碼)。 資料存進資料庫之前要用 mysql_real_escape_string 跳脫字元一下... 這也和寫網頁程式的觀念一樣。搜尋 SQL Injection 有一大堆討論。 5. 我要保護資料傳遞過程不被竊聽。 使用 SSL (即https) 進行網頁的動作,但要注意的是,用SSL是防止在"傳輸過程" 不被第三者(即Server和用戶兩者"以外")竊聽,而不是資料到了Server和用戶的"面" 前還加密的(加密解不開是要怎麼看)。Flash可以接收https傳進去資料。 以上是在網頁裡面很常用的方法... 其實對Flash而言其實沒啥兩樣...@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.171.19

07/16 00:59, , 1F
推一下
07/16 00:59, 1F

07/16 01:02, , 2F
大大每次講解都很精闢! 推推推
07/16 01:02, 2F

07/16 01:03, , 3F
其實我是看到網路上這個遊戲..
07/16 01:03, 3F

07/16 01:03, , 4F

07/16 01:04, , 5F
想說如果是flash做的..那安全性一定很薄弱...
07/16 01:04, 5F

07/16 01:05, , 6F
很容易就被人作弊!!!
07/16 01:05, 6F

07/16 01:17, , 7F
看到鬼...我用pcman開竟然不用登入就可以玩遊戲了...XD
07/16 01:17, 7F

07/16 01:21, , 8F
有興趣可以看看我的這篇:
07/16 01:21, 8F

07/16 01:22, , 9F

07/16 02:03, , 10F
大推一下
07/16 02:03, 10F

07/16 11:06, , 11F
推...
07/16 11:06, 11F
※ 編輯: dreamboxer 來自: 59.115.164.227 (07/21 21:11)
文章代碼(AID): #18VDJkrE (Flash)
討論串 (同標題文章)
文章代碼(AID): #18VDJkrE (Flash)