現狀是一個簡單的id-> json在SQLite存儲中合理的廉價和骯髒的問答存儲?
我有一個非常壓縮的時間表寫一個簡單的(基本上只寫Web應用程序)。該應用程序將成爲主要由jQuery驅動的問題樹。問題和樹可能需要改變網站啓動前後。
答案將通過電子郵件發送......我可能甚至不需要存儲它們,但我會去防備。
這需要在非常短的時間內在共享主機上進行打包。
我提出的戰略
問題樹本身
主要是在jQuery和HTML實現的問題樹和驗證。使用「問題文本」將問題答案狀態保存爲javascript對象:「問題答案」作爲每個問題的格式。
表單驗證將僅基於jQuery,沒有服務器端驗證除了(稍後提到)以外的單個字段,確保只插入有效的JSON。
識別用戶
用PHP處理會話狀態,使用PHP會話ID作爲每個用戶的唯一密鑰。
在回答每個問題時,對一個非常簡單的PHP腳本進行簡單的AJAX調用,該腳本接受PHP會話ID以及對象的JSON重新排序。 (之所以每次發送時是這樣,如果用戶退出回答問題,至少我們得到了一些數據。)
存儲
儲存量(PHP嵌入式)的SQLite數據庫的處理是這樣的:
CREATE TABLE q_and_a_storage (
php_session_id text primary key,
json_storage text
);
服務器端
PHP的AJAX收到腳本是非常愚蠢的。它只是檢查數據庫以查看會話標識是否存在,然後根據情況確定INSERT或UPDATES。在插入之前,它還確保響應是有效的JSON。
我只是想知道這是非常愚蠢的還是合理的。我有沒有想過一些很大的安全漏洞?
東西的人會想知道:
- 我估計在一百萬填料形式在這個迭代
- 我們真正需要做的是確保我們發最初的電子郵件與數據,但我存儲它,以防萬一
- 這很可能我需要重新調整問題集,幾乎沒有辦法知道哪些問題應該去哪些應該留下。
- 如果我需要稍後分析數據,我可以稍後將它發送到CouchDB並在其上運行map/reduce查詢,這就是爲什麼這個模型對我很有吸引力。
- 它像JavaScript表單提交阻止了大多數垃圾郵件,而唯一的攻擊收益是無用的JSON存儲在數據庫中。
- 超快的開發時間和問題集的靈活性是這裏非常重要的因素。
不錯的想法。 – danieltalsky 2009-06-03 16:17:01