- เครดิต
- 103
- เพื่อน
- ทักทาย
- บล็อก
- อัลบั้ม
- โพสต์
- กระทู้
- แชร์
- สำคัญ
- สิทธิ์อ่าน
- 10
- จำนวนผู้ติดตาม
- จำนวนผู้กำลังติดตาม
- เพศ
- ไม่บอก
|
แก้ไขครั้งสุดท้ายโดย 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. ก่อนอื่น ดาวน์โหลดไฟล์ก่อนครับ (มือใหม่ ขอตังใช้บ้างเน้อ )
2. แตกไฟล์ แล้ว แก้ไขไฟล์ captcha_word.inc.php ใส่เซ็ตของคำได้ตามชอบใจ- <?
- $captcha[0]='คินดะอิจิ';
- $captcha[1]='จอมโจรคิด';
- $captcha[2]='เซนเซย่า';
- $captcha[3]='ซุนหงอคง';
- $captcha[4]='ซุนโกฮัง';
- $captcha[5]='ฮันมะบากิ';
- $captcha[6]='เซเลอร์มูน';
- $captcha[7]='โดราเอมอน';
- $captcha[8]='มาริโอ้';
- $captcha[9]='โคทาโร่';
- ?>
คัดลอกไปที่คลิปบอร์ด 3. แก้ไขไฟล์ captcha.php บรรทัดที่ 5- if ($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://[yourdomain.com]/template/default/member/register.htm โดยตรงไม่ได้ด้วยนะครับ เพื่อปกปิดโค้ด
เรื่องนี้ผมว่าเซิฟเวอร์ดิสคัส ร้อยทั้งร้อยไม่ได้กันไว้
|
ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง
คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? สมัครสมาชิก
x
คะแนน
-
ดูบันทึกคะแนน
|
|
|
|
|
|