<a href="#%E7%9B%AE%E5%BD%95">目錄</a>
<a href="#%E5%89%8D%E6%96%87%E5%88%97%E8%A1%A8">前文清單</a>
<a href="#recaptcha">reCAPTCHA</a>
<a href="#%E5%BA%94%E7%94%A8-recaptcha">應用 reCAPTCHA</a>
<a href="http://blog.csdn.net/jmilk/article/details/53150084">用 Flask 來寫個輕部落格 (1) — 建立項目</a>
<a href="http://blog.csdn.net/jmilk/article/details/53152158">用 Flask 來寫個輕部落格 (2) — Hello World!</a>
<a href="http://blog.csdn.net/jmilk/article/details/53153382">用 Flask 來寫個輕部落格 (3) — (M)VC_連接配接 MySQL 和 SQLAlchemy</a>
<a href="http://blog.csdn.net/jmilk/article/details/53184903">用 Flask 來寫個輕部落格 (4) — (M)VC_建立資料模型和表</a>
<a href="http://blog.csdn.net/jmilk/article/details/53187575">用 Flask 來寫個輕部落格 (5) — (M)VC_SQLAlchemy 的 CRUD 詳解</a>
<a href="http://blog.csdn.net/jmilk/article/details/53229180">用 Flask 來寫個輕部落格 (6) — (M)VC_models 的關系(one to many)</a>
<a href="http://blog.csdn.net/jmilk/article/details/53239740">用 Flask 來寫個輕部落格 (7) — (M)VC_models 的關系(many to many)</a>
<a href="http://blog.csdn.net/jmilk/article/details/53241361">用 Flask 來寫個輕部落格 (8) — (M)VC_Alembic 管理資料庫結構的更新和降級</a>
<a href="http://blog.csdn.net/jmilk/article/details/53264049">用 Flask 來寫個輕部落格 (9) — M(V)C_Jinja 文法基礎快速概覽</a>
<a href="http://blog.csdn.net/jmilk/article/details/53292248">用 Flask 來寫個輕部落格 (10) — M(V)C_Jinja 常用過濾器與 Flask 特殊變量及方法</a>
<a href="http://blog.csdn.net/jmilk/article/details/53303870">用 Flask 來寫個輕部落格 (11) — M(V)C_建立視圖函數</a>
<a href="http://blog.csdn.net/jmilk/article/details/53306560">用 Flask 來寫個輕部落格 (12) — M(V)C_編寫和繼承 Jinja 模闆</a>
<a href="http://blog.csdn.net/jmilk/article/details/53321939">用 Flask 來寫個輕部落格 (13) — M(V)C_WTForms 服務端表單檢驗</a>
<a href="http://blog.csdn.net/jmilk/article/details/53327164">用 Flask 來寫個輕部落格 (14) — M(V)C_實作項目首頁的模闆</a>
<a href="http://blog.csdn.net/jmilk/article/details/53332204">用 Flask 來寫個輕部落格 (15) — M(V)C_實作博文頁面評論表單</a>
<a href="http://blog.csdn.net/jmilk/article/details/53342517">用 Flask 來寫個輕部落格 (16) — MV(C)_Flask Blueprint 藍圖</a>
<a href="http://blog.csdn.net/jmilk/article/details/53352359">用 Flask 來寫個輕部落格 (17) — MV(C)_應用藍圖來重構項目</a>
<a href="http://blog.csdn.net/jmilk/article/details/53363109">用 Flask 來寫個輕部落格 (18) — 使用工廠模式來生成應用對象</a>
<a href="http://blog.csdn.net/jmilk/article/details/53365714">用 Flask 來寫個輕部落格 (19) — 以 Bcrypt 密文存儲賬戶資訊與實作使用者登陸表單</a>
CMU 設計了一個名叫 reCAPTCHA 的強大系統,讓他們的電腦去向人類求助。具體做法是:将 OCR 軟體無法識别的文字掃描圖傳給世界各大網站,用以替換原來的驗證碼圖檔,這些網站的使用者在正确識别出這些文字之後,其答案便會被傳回CMU。是以 reCAPTCHA 本質上是一個披着驗證碼皮的分布式文字識别系統(OCR)。
reCAPTCHA 是利用 CAPTCHA(全自動區分計算機和人類的圖靈測試) 的原理借助于人類大腦對難以識别的字元的辨識能力,進行對古舊書籍中難以被 OCR 識别的字元進行辨識的技術。也就是說,reCAPTCHA 不僅可以反 spam(垃圾内容),而且同時還可以幫助進行古籍的數字化工作(可以稱為人工OCR)。隻能說這個創意簡直是絕了!是以即便由于 reCAPTCHA 是 Google 的産品在國内無法正常使用,但還是會應用到我們的這個 Blog 項目中,再通過應用反向代理的方式使之成為可行。

如上圖 reCAPTCHA 會告訴你如何将它內建到用戶端和服務端。是以建議備份這些資訊,尤其是 Public Key 和 <code><script></code>。
client-side integration:
Paste this snippet before the closing tag on your HTML template:
Paste this snippet at the end of the where you want the reCAPTCHA widget to appear:
Server-side integration:
When your users submit the form where you integrated reCAPTCHA, you’ll get as part of the payload a string with the name “g-recaptcha-response”. In order to check whether Google has verified that user, send a POST request with these parameters:
URL:
config.py
forms.py