2011-09-04 117 views
2

我爲我的網站創建了自定義驗證腳本,因爲人們需要驗證每個小時以確保他們沒有使用腳本/自動刷新獲得優勢。爲了讓體驗儘可能簡單,圖像以1到9之間的數字顯示。我用photoshop手動創建了所有這些圖像,以使它們稍微難以看清。用戶必須點擊1到9之間的隨機「數字鍵盤」,並在第一張圖像下面顯示正確的數字。驗證碼驗證

我的問題如下:

有多容易有人寫一些實物的腳本/程序,可以閱讀源代碼,請參閱隨顯示圖像的div名稱然後讀取文件名以查看圖像名稱,然後使用OCR單擊圖表上的正確數字?

我完全不知道我怎麼會開始這樣做,但我想知道是否有必要每次都將圖像文件名更改爲隨機數,而不是像number1.png,number2.png等

非常感謝您的幫助和建議

+1

我確信已經有很多可用的實現可以免費使用。爲什麼浪費你的時間試圖再次發明輪子? – Jeroen

+0

我已經搜索了很多次,那裏沒有可用的驗證碼,完全適合我的需求。它們都涉及用戶不得不浪費太多時間。驗證應該快速簡單,不復雜且浪費時間。這就是我創建自定義驗證腳本的原因。 – James

回答

2

我認爲這將是真的太容易了!

  1. 它真的很容易讀取divs名稱!
  2. 是的,你應該每次都改變圖像名稱
  3. 如果圖像只有9個,攻擊者可以打幾個小時,保存所有不同的圖像,然後他甚至不需要OCR,因爲他只會比較圖像逐像素!
+0

我曾經考慮過動態創建圖像並使它們完全不同,但是這對於php函數來說非常困難(我感到非常困惑)。 出於好奇,地球上有人寫東西讀取div /保存圖像並將像素與像素進行比較?我甚至不知道從哪裏開始,所以我想了解該方法,以便提高我的知識水平。 – James

0

靜態圖像根本不是CAPTCHA,因爲用戶可以將每個靜態文件映射到一個數字並繞過您的機制。

+0

這個人怎麼去做這件事?我很想知道有人會這麼做,他們甚至會用它來做什麼。我知道靜態圖像不是CAPTCHA,但是我在PHP中創建圖像時遇到了一些困難,所以我提出了一個快速修復的解決方案,我可以在不久的將來使用動態圖像生成技術來提高它的性能。 – James

+0

惡意用戶可以搜索每個圖像的唯一值(如計算出的散列值,文件大小等),並將此唯一值映射到其代表的數字,從而允許簡單跳過您的僞CAPTCHA系統 – sternr

0

您應該使用隨機數字和隨機名稱動態創建圖像。將號碼存儲在某個地方(主要是在會話變量中)並將用戶輸入與該值匹配。

+0

由於Jeroen提到有第三方插件可用於您可以使用的相同。 –

+0

正如另一條評論所述,我想動態創建圖像,但用php繪製(我認爲)證明很困難,而且這一切都有點令人難以置信。我想我必須回去再想一想。 – James