Mooping โพสต์ 2011-8-26 18:53:47

Mod แรกในชีวิต กับ Captcha ภาษาไทย ตอนสมัครสมาชิก

แก้ไขครั้งสุดท้ายโดย Mooping เมื่อ 2011-8-26 20:54

แก้ไขครั้งสุดท้ายโดย Mooping เมื่อ 2011-8-26 20:51

แก้ไขครั้งสุดท้ายโดย Mooping เมื่อ 2011-8-26 18:56

แก้ไขครั้งสุดท้ายโดย Mooping เมื่อ 2011-8-26 18:55

แก้ไขเรื่อง cache file แล้วนะครับ

พอทำเสร็จ รหัสลับตอนสมัครจะเป็น captcha ภาษาไทยแบบในรูปนะครับ กันสแปมได้ดีมากๆ



วิธีทำ

1. ก่อนอื่น ดาวน์โหลดไฟล์ก่อนครับ (มือใหม่ ขอตังใช้บ้างเน้อ :lol )



2. แตกไฟล์ แล้ว แก้ไขไฟล์ captcha_word.inc.php ใส่เซ็ตของคำได้ตามชอบใจ<?
$captcha='คินดะอิจิ';
$captcha='จอมโจรคิด';
$captcha='เซนเซย่า';
$captcha='ซุนหงอคง';
$captcha='ซุนโกฮัง';
$captcha='ฮันมะบากิ';
$captcha='เซเลอร์มูน';
$captcha='โดราเอมอน';
$captcha='มาริโอ้';
$captcha='โคทาโร่';
?>
3. แก้ไขไฟล์ captcha.php บรรทัดที่ 5if ($sec!=md5($id.'YOUR SECURITY CODE HERE'.date('Y-m-d'))) { exit();}เปลี่ยน YOUR SECURITY CODE HERE เป็นรหัสลับของคุณ

4. เอาไดเรกทอรี captcha ไปวางไว้ที่ path ROOT ของ discuz

5. แก้ไขไฟล์ template\default\member\register.htm
ค้นหาโค้ด
<div id="layer_reginfo_b">
<div class="rfm mbw bw0">
เอาโค้ดข้างล่าง ไปวาง ก่อนหน้าโค้ดข้างบน
{eval
$captcha_id=rand(0,จำนวนคำ);$captcha_sec=md5($captcha_id.'YOUR SECURITY CODE HERE'.date('Y-m-d'));
}
<div class="rfm">
<table>
<tr>
<th><span class="rq">*</span><label for="seccodeverify">รหัสลับ:</label></th>
<td><input type="text" id="seccodeverify" name="seccodeverify" autocomplete="off" size="25" tabindex="1" class="px" required />
<br />
ป้อนตัวอักษรในภาพด้านล่าง<br />
<img src="captcha/captcha.php?id={$captcha_id}&sec={$captcha_sec}">
<input type="hidden" name="hash" value="{$captcha_id}">
</td>
<td class="tipcol"><i id="tip_seccodeverify" class="p_tip">กรุณากรอกข้อความที่แสดงในภาพ</i><kbd id="seccodeverify" class="p_chk"></kbd>
</td>
</tr>
</table>
</div>
ตรงจำนวนคำ ใส่ตามจำนวนคำที่คุณมีใน captcha_word.inc.php
ตรง YOUR SECURITY CODE HERE ใส่ระหัสลับของคุณให้ตรงกับใน captcha.php

6. แก้ไขไฟล์ source\class\class_member.php
ค้นหาโค้ดนี้if(!submitcheck('regsubmit', 0, $seccodecheck, $secqaacheck)) {
...
} else {
...
}ในบรรทัดแรก ต่อจาก } else { ใส่โค้ดนี้ลงไปinclude_once(DISCUZ_ROOT."/captcha/captcha_word.inc.php");                                                                                                       
if (trim($captcha[$_POST['hash']])!=trim($_POST['seccodeverify'])) {
        showmessage('submit_seccode_invalid');
}7. เข้าไปปิด captcha เดิมของ discuz เพื่อไม่ให้ซ้ำซ้อนกัน

8. ไปที่เครื่องมือ -> กด อัพเดต cache -> ตกลง

การปรับแต่งเพิ่มเติม

คุณสามารถใช้ font ของคุณเอง และภาพพื้นหลังของคุณเอง โดยแก้ไขในไฟล์ captcha.php
$img_path = 'captcha.jpg';
$font = './Ti_Text.ttf';
ทำเสร็จแล้วควรจะตั้งค่าในเซิฟเวอร์ให้เรียกไฟล์
http:///template/default/member/register.htmโดยตรงไม่ได้ด้วยนะครับ เพื่อปกปิดโค้ด
เรื่องนี้ผมว่าเซิฟเวอร์ดิสคัส ร้อยทั้งร้อยไม่ได้กันไว้

Mooping โพสต์ 2011-8-26 19:01:56

อันไหนหรา:funk:

jaideejung007 โพสต์ 2011-8-26 19:38:42

5. แก้ไขไฟล์ data\template\1_1_member_register.tpl.php
ไฟล์ที่คุณแก้ไขนั้น มันเป็นไฟล์แคชนะครับ

เวลากดอัพเดตไฟล์แคชในแอดมินซีพี

ค่าที่คุณแก้ไขไว้ มันก็หายไปหมดเลยนะ!

sm910dzsm910dzsm910dzsm910dz

ปล. ทางที่ดี เวลาจะทำ MOD อะไรก็ตาม อย่าไปยุ่งใน data\template เลยครับ เพราะอย่างไรก็ตาม เมื่อเรากดอัพเดตแคช ค่าที่เราแก้ไขก็จะถูกย้อนกลับไปใช้ค่าก่อนหน้าที่เราจะแก้ไขครับ
ปลล. หากแต่ไม่กดอัพเดตไฟล์แคช อันนี้ก็ไม่ว่ากัน(ว่าแต่เว็บดิสคัสเรา จะไม่กดอัพเดตแคชซักทีหรอกเหรอ)
ปลลล. ทั้งหมดทั้งมวลนี้ ก็ฝากให้คิดเป็นการบ้านนะครับ

Mooping โพสต์ 2011-8-26 19:57:47

อ้าวเหรอ กรรม Y_Y sm913dzsm913dzsm913dz

เพิ่งมาจับ discuz ได้ไม่กี่วันอ่ะครับ อาศัยแกะๆโค้ดเอา เดี๋ยวทำใหม่

MasterTGZ โพสต์ 2011-8-26 21:05:07

ลองแก้ไขตามที่พี่ๆเขาแนะนำกันดูนะครับ อิอิ
รอดูผลงานครับ ^^" sm926dz

Mooping โพสต์ 2011-8-26 21:12:40

ต้นฉบับโพสต์โดย MasterTGZ เมื่อ 2011-8-26 21:05 static/image/common/back.gif
ลองแก้ไขตามที่พี่ๆเขาแนะนำกันดูนะครับ อิอิ
รอดูผลงา ...

แก้ไขไปแล้วอ่ะครับ ดูดีๆจิ อิอิ :P

adman โพสต์ 2011-8-27 22:34:42

เป็น Webastermoohin com หรอครับ

Mooping โพสต์ 2011-8-27 23:42:06

แก้ไขครั้งสุดท้ายโดย Mooping เมื่อ 2011-8-27 23:43

แหะๆ ใช่ครับ กำลังทดสอบ discuz อยู่ครับ ฝากเนื้อฝากตัวด้วย

damrongsak โพสต์ 2011-8-28 20:26:53

สงสารชาวต่างชาติ ฮาๆๆ ~

seazaaclub โพสต์ 2011-11-3 18:05:54

ใจจ่ะ{:979:}{:15_677:}
หน้า: [1] 2
ดูในรูปแบบกติ: Mod แรกในชีวิต กับ Captcha ภาษาไทย ตอนสมัครสมาชิก