Discuz Thai

 ลืมรหัสผ่าน
 สมัครสมาชิก

ข้อตกลงการใช้งานกระดานข่าวดิสคัสไทย DiscuzThai Agreement (English Version) ประกาศดิสคัสไทย - ทำเนียบดิสคัสภาษาไทย

Discuz! X3.5 Thai R20231001 Rev.8 (NEW) [วิดีโอช่วยสอน] อัปเกรด Discuz! X3.4 เป็น X3.5 Discord ของ Discuz! Thai Community อย่างเป็นทางการ

Discuz! X3.4 Thai R20220811 (REV.75) สิ้นสุดการสนับสนุน Discuz! X3.4 ภาษาไทยตั้งแต่วันนี้เป็นต้นไป (ขอแนะนำให้อัปเกรดเป็น X3.5 แทน)

ค้นหา
แท็กยอดนิยม: ดิสคัสภาษาไทย Discuz Thai
ดู: 8433|ตอบกลับ: 10

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

    [คัดลอกลิงก์]
Mooping โพสต์ 2011-8-26 18:53:47 |โหมดอ่าน
แก้ไขครั้งสุดท้ายโดย 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 ใส่เซ็ตของคำได้ตามชอบใจ
  1. <?
  2. $captcha[0]='คินดะอิจิ';
  3. $captcha[1]='จอมโจรคิด';
  4. $captcha[2]='เซนเซย่า';
  5. $captcha[3]='ซุนหงอคง';
  6. $captcha[4]='ซุนโกฮัง';
  7. $captcha[5]='ฮันมะบากิ';
  8. $captcha[6]='เซเลอร์มูน';
  9. $captcha[7]='โดราเอมอน';
  10. $captcha[8]='มาริโอ้';
  11. $captcha[9]='โคทาโร่';
  12. ?>
คัดลอกไปที่คลิปบอร์ด
3. แก้ไขไฟล์ captcha.php บรรทัดที่ 5
  1. 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
ค้นหาโค้ด

  1. <div id="layer_reginfo_b">
  2. <div class="rfm mbw bw0">
คัดลอกไปที่คลิปบอร์ด
เอาโค้ดข้างล่าง ไปวาง ก่อนหน้าโค้ดข้างบน

  1. {eval
  2. $captcha_id=rand(0,จำนวนคำ);$captcha_sec=md5($captcha_id.'YOUR SECURITY CODE HERE'.date('Y-m-d'));
  3. }
  4. <div class="rfm">
  5. <table>
  6. <tr>
  7. <th><span class="rq">*</span><label for="seccodeverify">รหัสลับ:</label></th>
  8. <td><input type="text" id="seccodeverify" name="seccodeverify" autocomplete="off" size="25" tabindex="1" class="px" required />
  9. <br />
  10. ป้อนตัวอักษรในภาพด้านล่าง<br />
  11. <img src="captcha/captcha.php?id={$captcha_id}&sec={$captcha_sec}">
  12. <input type="hidden" name="hash" value="{$captcha_id}">
  13. </td>
  14. <td class="tipcol"><i id="tip_seccodeverify" class="p_tip">กรุณากรอกข้อความที่แสดงในภาพ</i><kbd id="seccodeverify" class="p_chk"></kbd>
  15. </td>
  16. </tr>
  17. </table>
  18. </div>
คัดลอกไปที่คลิปบอร์ด
ตรงจำนวนคำ ใส่ตามจำนวนคำที่คุณมีใน captcha_word.inc.php
ตรง YOUR SECURITY CODE HERE ใส่ระหัสลับของคุณให้ตรงกับใน captcha.php

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

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

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

คุณสามารถใช้ font ของคุณเอง และภาพพื้นหลังของคุณเอง โดยแก้ไขในไฟล์ captcha.php

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

ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? สมัครสมาชิก

x

คะแนน

จำนวนผู้เข้าร่วม 5จิตพิศัย +5 ย่อ เหตุผล
Chirapat + 1 โดนใจให้ทิป
orenavava1 + 1
hen + 1
topty + 1
jaideejung007 + 1 Support!

ดูบันทึกคะแนน

 เจ้าของ| Mooping โพสต์ 2011-8-26 19:01:56
อันไหนหรา  
jaideejung007 โพสต์ 2011-8-26 19:38:42
5. แก้ไขไฟล์ data\template\1_1_member_register.tpl.php

ไฟล์ที่คุณแก้ไขนั้น มันเป็นไฟล์แคชนะครับ

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

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



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

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

แสดงความคิดเห็น

ผิดเป็นครู ^^  โพสต์ 2011-8-26 22:04
MasterTGZ โพสต์ 2011-8-26 21:05:07
ลองแก้ไขตามที่พี่ๆเขาแนะนำกันดูนะครับ อิอิ
รอดูผลงานครับ ^^"
 เจ้าของ| Mooping โพสต์ 2011-8-26 21:12:40
ต้นฉบับโพสต์โดย MasterTGZ เมื่อ 2011-8-26 21:05
ลองแก้ไขตามที่พี่ๆเขาแนะนำกันดูนะครับ อิอิ
รอดูผลงา ...

แก้ไขไปแล้วอ่ะครับ ดูดีๆจิ อิอิ
adman โพสต์ 2011-8-27 22:34:42
เป็น Webaster  moohin 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:}
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | สมัครสมาชิก

รายละเอียดเครดิต

รายชื่อผู้กระทำผิด|Archiver|ดิสคัส ไทย Follow us: Become a fan on facebook. Follow us on Twitter.

GMT+7, 2024-5-5 07:55

Powered by Discuz! X3.4, Rev.66

Copyright © 2001-2021 Tencent Cloud. Licensed

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้