2011-09-22 70 views
0

我一直在思考這個安全問題,並不完全確定如何去做這件事。在我的網站上,人們可以打印出傳單並將其張貼在某處(如大學),並在旁邊拍攝自己的照片。作爲回報,他們將收到用戶升級。打印出安全(條形碼?)

這些都是我所想到的問題:

  • 用戶可以打印一張傳單和拍照在各種各樣的地方
  • 用戶可以拍照,走出谷底,並採取其他圖片
  • 某甲帖子傳單,某乙來了,並聲稱它作爲自己的

一些可能的解決方案:

  • 打印出
  • 時寫人的用戶名傳單上有用戶持有一張紙,他們的用戶名和日期,每週
  • 限制爲1張照片
  • 打印條形碼,字母數字代碼,或傳單上的其他內容也是如此。

我的主要焦點爲這個問題的最後解決方案。每當打印傳單時,我一直在考慮儲存隨機鹽。

什麼其他的方法來保持飛人一樣安全? (我知道這是不可能完全固定。)

編程的問題:我應該如何爲每一個旅客的隨機碼?我如何後來驗證它與我的系統?

+3

目前,這不是一個編程的問題,它的方式過於籠統。請將您的問題歸結爲特定的**編程**問題。 –

+0

@OliCharlesworth我編輯了我的問題。 – Flipper

+0

這仍然不是一個真正的編程問題;什麼是錯的'蘭特()'? –

回答

3

使用的用戶名加上當前時間戳,然後做一個SHA1()的結果。這應該給你一個非常獨特的代碼。

例如

$code = sha1($username. time()); 
+0

+1打我。 – tobyodavies

+0

這不僅僅是用戶名+時間戳的哈希值。 –

+0

@oli,你是對的,數字部分實際上是無用的。 – 2011-09-22 02:18:42

2
  1. 生成的東西,如base64_encode(uniqid("", TRUE))隨機ID。
  2. 將其保存在與用戶傳單關聯的數據庫中。
  3. 傳單上包含唯一ID。
  4. 當有人發佈圖片時,請在您的數據庫中查找以確保它是有效的ID。
  5. 將數據庫條目標記爲「已兌換」,以免再次使用它。
  6. 要知道,不管你是多麼聰明,人們會想出辦法來欺騙系統。