2013-1-5 下午 12-53-57.jpg (20.27 KB, 下載次數: 18)
2013-1-5 13:30 上傳
經典的reCAPTCHA圖形驗證(狗啃過的字....機器人註冊/發文....難~)
雖然據說已被俄羅斯所解鎖,但是由於方法並不確實,
因此比一般的圖形驗證來的可靠,筆者論壇所採用的即是"reCAPTCHA"驗證。
reCAPTCHA 它是採用第三方達成,因此不需本地伺服器運算,
(這是由第三方伺服器主機運算,故不需經本地伺服器處理。)
以達到節省資源的不錯方案,故也推薦採用之,
之前筆者認為 Discuz 官方版並無內建此功能(vBulltin則已內建),
目前筆者已找到 Discuz! X2 的修改方式,請管大參考之~~~^_^~~~
答應給管大的reCAPTCHA驗證 修改方式,請笑納~^_^
【本插件修改方式適用於 Discuz! X2】
一、具體做法 : 首先在http://www.google.com/recaptcha申請帳號,註冊你的網站,
(本文最後方,有圖文註冊教學哦~~~~~)
獲取Public Key和Private Key,下載recaptcha-php-1.11 如下:
recaptcha-php-1.11.zip (5.9 KB, 下載次數: 4)
2013-1-5 10:56 上傳點擊文件名下載附件
在/source/include目錄下新建一個recaptcha目錄,將下載的recaptchalib.php文件複製到該目錄內
編輯 /source/class/class_member.php
尋找:在其上面添加:(非常重要!記得要輸入Public Key,否則會失敗哦!)複製代碼
- $username = dhtmlspecialchars($username);
接下來找:複製代碼
- // recaptcha hack start
- require_once DISCUZ_ROOT.'./source/include/recaptcha/recaptchalib.php';
- $recaptcha_publickey = '這裏替換為你申請到的Public Key';
- $recaptcha_show = recaptcha_get_html($recaptcha_publickey);
- // recaptcha hack end
在上面添加:(非常重要!記得要輸入Private Key,否則會失敗哦!)複製代碼
- $username = addslashes(trim(dstripslashes($username)));
PS:請特別注意!Private Key與Public Key是不相同的,所以一定要弄對,可別搞反了哦~~~複製代碼
- // recaptcha hack start
- require_once DISCUZ_ROOT.'./source/include/recaptcha/recaptchalib.php';
- $recaptcha_privatekey = '這裏替換為你申請到的Private Key';
- $resp = recaptcha_check_answer ($recaptcha_privatekey,
- $_SERVER["REMOTE_ADDR"],
- $_POST["recaptcha_challenge_field"],
- $_POST["recaptcha_response_field"]);
- if (!$resp->is_valid) {
- // What happens when the CAPTCHA was entered incorrectly
- if ($resp->error = 'incorrect-captcha-sol') {
- $resp->error = "驗證碼輸入不正確,請按\"刷新\"按鈕重新獲取驗證碼並再試一次。";
- }
- showmessage('reCAPTCHA failed. reCAPTCHA said: ' . trim($resp->error));
- }
- // recaptcha hack end
二、編輯 template/default/member/register.htm
尋找:如果提示找不到,就尋找複製代碼
- <p id="layer_reginfo_b" class="fsb cl">
- <!--{if $_G['setting']['sitemessage'][register]}-->
在其所在段落的上面添加:複製代碼
- layer_reginfo_b
三、最後進入管理後臺,全局——防灌水設置——驗證碼設置,取消新用戶註冊驗證(如果已經沒有設置新用戶註冊驗證即新用戶註冊前面沒有打勾就不用管了;複製代碼
- <!--{if $recaptcha_show}-->
- <label>
- <script type="text/javascript">
- var RecaptchaOptions = {
- theme: 'custom',
- lang: 'en',
- callback: 'Recaptcha.focus_response_field',
- custom_theme_widget: 'recaptcha_widget',
- custom_translations: {
- play_again: "重播",
- cant_hear_this: "下載MP3"} };
- </script>
- <div id="recaptcha_widget" style="display:none">
- <div id="recaptcha_image"></div>
- <div class="recaptcha_only_if_incorrect_sol" style="color:red">輸入驗證碼錯誤,請重試一次。 </div>
- <span class="recaptcha_only_if_image">驗證碼:</span>
- <span class="recaptcha_only_if_audio">輸入您聽到數字:</span>
- <input type="text" id="recaptcha_response_field" name="recaptcha_response_field" /> *
- <span><a href="javascript:Recaptcha.reload()">刷新</a></span>
- <span class="recaptcha_only_if_image"><a href="javascript:Recaptcha.switch_type('audio')">聲音</a></span>
- <span class="recaptcha_only_if_audio"><a href="javascript:Recaptcha.switch_type('image')">文字</a></span>
- <span><a href="javascript:Recaptcha.showhelp()">?</a></span>
- <p>$recaptcha_show</p>
- </label>
- <p style="color: blue;">提示: 為提高輸入驗證碼成功率,當您感到驗證碼辨識困難時,</p>
- <p style="color: blue;">請按上面的刷新按鈕重新獲取新的驗證碼,直到您滿意為止。 </p>
- <!--{/if}-->
界面——界面設置——啟用浮動窗口——取消註冊窗口浮動(如果沒有註冊窗口選項就不用管,登陸選項可以不管)
更新緩存,OK。
以上,報告完畢。暫無展示圖,因為筆者目前已放棄採用 Discuz! 久囉....,故請嘗試~~~^^"
嘗試時,建議先在 Discuz!測試站 先修改測試無誤後,再修改正式營運的 Discuz! 上。
提供展示圖(此為 vBulletin 為例)
後台:
2013-1-5 上午 10-33-52.jpg (210.26 KB, 下載次數: 15)
2013-1-5 11:26 上傳
前台:
2013-1-5 上午 11-22-49.jpg (78.2 KB, 下載次數: 17)
2013-1-5 11:27 上傳
找到了~~ Discuz! X2 的展示圖:
130448divhv6bqi07v00af.jpg (36.37 KB, 下載次數: 15)
2013-1-5 11:52 上傳
=====我=====是=====分=====隔=====線=====
補充reCAPTCHA圖文註冊教學:(請看圖說故事~)
first_1.png (137.01 KB, 下載次數: 17)
2013-1-5 12:26 上傳
second_2.png (133.43 KB, 下載次數: 16)
2013-1-5 12:26 上傳
003.png (64.39 KB, 下載次數: 16)
2013-1-5 12:26 上傳
004.png (74.46 KB, 下載次數: 15)
2013-1-5 12:26 上傳
請記下Private Key與Private Key,建議備份起來,不可以丟掉哦!
否則....得再重新註冊了,另外,如果網域變更之後,也得重新申請才可以用!
話說回來,有時這些"狗啃過的字"還真的很難看懂,
這時就只能按2013-01-05_123809.jpg (1007 Bytes, 下載次數: 18)
2013-1-5 12:40 上傳
重搞了~~XDD
再補充其樣式,官方預設有四種樣式,其餘都得自行修改CSS了,難度比較高,就不介紹了,
官方四種樣式修改說明(英文版):
https://developers.google.com/recaptcha/docs/customization?hl=zh-TW
樣式截圖展示快覽:
2013-1-5 下午 01-01-55.jpg (104.1 KB, 下載次數: 16)
2013-1-5 13:04 上傳
作者: ShawnLiu 時間: 2013-1-5 11:39
那麼安迪哥覺得這個如何呢?
2013-01-05_11-34-39.png (118.15 KB, 下載次數: 15)
2013-1-5 11:37 上傳
這一套應該也不怎麼好解鎖
照片中的文字有模糊處理~
話說您真是不遺餘力的提供好建議啊!
作者: dcnet 時間: 2013-1-5 11:53
本帖最後由 dcnet 於 2013-1-5 12:05 編輯
建議配套方案同時進行,例如新會員的引導式任務,系統發送新會員注意事項消息還有其他提升人氣增進碎鑽的配套等等.以及最重要的帳號開通認證.
否則也只能收到延緩惡意灌水文發送速度的效果.
當然神發馬都是流程走完依然故我者...小心督察組神出鬼沒就在你身邊.
最後還是希望增加MAIL認證開通帳號
(目前來說手機簡訊開通帳號是不敢奢求啦,不過也期望APK.TW會有那麼一天)
作者: ShawnLiu 時間: 2013-1-5 12:06
那麼這個版本是否更能夠阻止灌水機器人?
作者: ChianMinYu 時間: 2013-1-5 12:55
本帖最後由 a3096591 於 2013-1-5 13:13 編輯
這方法真的很不錯欸!!
這樣也不會出現洗版問題
(你要洗版可以試試看啊~驗證碼輸入到死XD
雖然看不懂這在幹嘛=~=(這是我所認識的語言嗎= =?)
不過給點小建議…
至少手機版的驗證碼也要輸入方便…
手機版的功能已經很少呢
要是驗證碼還要切成電腦版才能輸入
我看我每留言一次血壓都會升高一次@@
不然就是用手機玩加速落體= 3 =
對了!!辦帳號是否也可以附加一個E-Mail認證程序?(就像樓上幾位板大說的)
這樣也可以減少幽靈人口問題(被封帳後重辦的)
只要是想認真經營一個帳號的人
認證個E-Mail不算什麼
不過是惡意灌水被封帳的
要重辦可能會麻煩點
更何況每辦一個APK帳號
還得先辦一個E-Mail
連我都覺得麻煩了
但這樣會不會間接造成E-Mail申請的幽靈人口啊?
而且這樣會影響到會員人數?XD
作者: Lilyandy 時間: 2013-1-5 13:13
這種方式,筆者倒是有實戰經驗。
一般來說,很少人超過一星期不上網的,
因此七天沒上線算是很長了,
但是總是有例外中的例外~~~
例如:被狗咬~~住院半年(誇張了點~~)
被鐵板打到~~住院三年(這會不會太離譜了??)
所以筆者的設定方式是,
只要帳號未登入180天(約等於半年),
帳號就會被自動列入『未啟動帳號』,
若舊會員重新登入,這時帳號需要重新啟動,
此時就得按下『發送帳號啟動信』內有啟動碼,
輸入啟動碼或點下啟動信內的啟動帳號連結後,
帳號就重新啟動成功囉~~~
當然,如果他的郵件失效了,那就收不到帳號啟動信了,
此時會增加一個選項『修改其他電子郵件後重寄』,
就算舊郵件不能使用了,也可改用新郵件囉~~~,
不過,由於會有被盜用的問題,因此在寄送前,
得輸入舊的帳號與密碼,如果連這也忘了,那真的就無解了~~~
作者: JerryJiang 時間: 2013-1-5 13:37
方法 感覺挺好的;許多東西還是慢慢來吧;一下子也很難實現吧!!
作者: kiat5427 時間: 2013-1-5 15:19
小弟認為 灌水的 多數也只是 剛加入的 會員而已吧? 注明-多數
所以如果這些 認證碼 開始 實行的話,是不是 只需要弄給 新會員呢?
如果全部人都得打認證碼,老實說,麻煩 真的很多。。。 用電腦,還說沒什麼事情,如果用 手機上論壇的話,麻煩就大了。。。
平時小弟用手機 上論壇,都覺得很麻煩了, 要評分, 點評,舉報 都非常多問題。。。 ==
希望這些 認證碼等等,可以對 一認證的會員 除外,針對 新會員 就好,只要新會員 升級了,也可以 逃脫了。。。 反正 1級 機器人要去 2級,應該不會有多難吧
作者: Lilyandy 時間: 2013-1-5 15:41
本帖最後由 Lilyandy 於 2013-1-5 16:24 編輯
哈~~
打個比方好了,
就拿我們倆來比較就行了。
這是筆者的:
http://apk.tw/home.php?mod=space&uid=208307&do=profile
這是您的:
http://apk.tw/home.php?mod=space&uid=718110&do=profile
先看數字就好~~
筆者是第208307位註冊的,
您是第718110位註冊的,
同為A2等級,但是比較起來,您的潛力可謂驚人呀!
因為,升級A2的速度,可謂之神速也~~~XDDD
有版務實力~~XDD
咦????
怎麼好像離題了?XDDDD
作者: JerryJiang 時間: 2013-1-5 16:14
你們都別糾結這個問題了; 別人公司也需要維持運營;不能我們說了算吧!還是別糾結了
作者: JerryJiang 時間: 2013-1-5 16:37
呵呵; 主要不希望大家為這個問題而爭論;到最后惡戰;真沒必要;討論交流就好了!
作者: kiat5427 時間: 2013-1-5 17:01
抱歉啊 == 令您離題了。。。
版務?壓力,責任都很大了。。。小弟還不敢奢想呢。。。
小弟之前只是盡力 升級而已,小弟相信,還會有其他會員比小弟升級更快的。。只要用心 對待別人,用心回覆 和 發貼,肯定比小弟快不少。。。
作者: ps225901 時間: 2013-1-5 17:45
我是覺得OK拉
不果有時候圖形真的不好看XD
常常要打好幾遍
但最近洗版真的很嚴重~
(因為俺也有扣分,扣的滿爽的...)
我個人很推薦8樓大的說法
http://apk.tw/forum.php?mod=redi ... &fromuid=152885
畢竟等級越高越不會亂PO文
PO出的文都是有一定水準
無論結果如何,都是好方法
歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1