2010-08-25 50 views
5

假設您正在撰寫調查應用程序,並希望以某種方式保證結果從用戶立場出發是安全的。簡而言之,我知道你來自哪個IP,但我想確保你晚上睡得很好,因爲知道我對你的回答一無所知。我無法以原始格式存儲IP。如何創建簡單,安全的調查應用程序?

雖然我確實需要保證1件事,那就是您只回答一次問題。所以一旦你的電腦帶有一些數據,我需要認識到你的電腦已經對調查做出了迴應。

關於如何最好地處理它的任何建議?

由於 -mac

+0

偉大的問題 - 這就是爲什麼我不信任工作中的「匿名調查」。還要考慮如果使用一堆代理服務器(不太可能)會發生什麼情況。我懷疑你不能保證兩者中的任何一個:) – 2010-08-25 01:50:08

+0

對。老闆想做一個調查,並真誠地不想知道誰說什麼。我很好奇,但嘿,老闆說,沒人能知道..你經歷過的任何方法都會很好 – JAM 2010-08-25 01:58:19

+6

你實際上有兩個問題,安全地處理數據並且說服某人你正在處理數據安全:) – 2010-08-25 01:58:49

回答

3

你不能保證任一。你所能做的只是提高酒吧,所以很難繞過它。如果有人真的想繞過你的追蹤,只要他們對你的系統有足夠的瞭解。好東西是大多數人不想打擾或不知道如何。

您可以生成一個加密散列,並存儲在該瀏覽器的人一個cookie,如果你要防止代理問題。很多網站都會這樣做,以保持會話創建以跟蹤身份驗證。這就像使用HMAC產生的東西,用一個不可僞造的唯一密鑰標識瀏覽器。如果他們清除瀏覽器,但無法追蹤它們。 IP地址的

的單向散列是讓你的IP被跟蹤的方式,但相同的IP總是散列爲相同的值,所以你可以告訴如果有人這樣做。但是,如果他們去網吧中提琴,他們可以重新提交。你會使用SHA1,MD5等。

你可以做的電子郵件地址同樣的事情,它散列。要讓人們想要參與,請將結果發送到他們的電子郵件地址,而不是在瀏覽器中顯示。人們只需要相信你不會用他們的電子郵件做壞事。如果你知道你要發送的調查過誰

其他的想法可能。生成一個識別個體響應的隨機數。然後將這些鏈接發送給人。然後他們將按照該號碼提交,而且您不會跟蹤電子郵件 - >隨機數,那麼您無法將答案與電子郵件地址相關聯。一旦一個隨機數字被使用,一旦你不讓他們再次提交。跟蹤回覆一次。多次顯示結果。

您可以結合一些這些結合在一起,試圖解決其他的不足。

5

創建的IP地址(和任何其他唯一標識屬性)的單向散列,散列存儲與響應。這樣,沒有人可以查找響應的IP地址,但是您可以將哈希與先前提交的響應進行比較,以確保人們只提交表單一次。

說服別人尊重他們的隱私沒有多少可以做的。只是不要濫用信任,人們會解決它。

(關於如何在Java中看到How can I generate an MD5 hash?創建哈希值的想法)

+0

酷!這與Gmail實際上並未存儲我們的密碼的方式類似,只不過是散列。這解決了一半的問題,這已經證明我錯了。 – 2010-08-25 02:22:31

+0

你必須**重複**迭代散列(小鍵盤空間......)。但即使如此,如果您希望能夠在可行的時間內驗證哈希,攻擊者將能夠選擇IP地址並檢查它是否與哈希匹配。他可以將範圍縮小到小於2^32的範圍。 – 2010-08-25 02:23:01

+0

這個想法有兩個問題: 1.多個員工共享同一臺計算機。這將阻止第二名員工完成調查。 2.一名員工使用多臺計算機繞過一名員工,一份調查保證。 但我非常同意:「說服別人尊重他們的隱私沒有多少可行,只是不要濫用信任,人們就會解決它。」 – emory 2010-08-25 02:30:27

相關問題