อ่านกันเสียก่อน
2. CAPTCHA – เอ็งเป็นมนุษย์ใช่บ่
ใกล้จะครบ Series อธิบายการใช้งาน CAPTCHA ที่ผมลิสต์ทิ้งไว้ใน CAPTCHA – เอ็งเป็นมนุษย์ใช่บ่ วันนี้ก็มาถึงคิวของ Cryptographp วิธีการใช้งานนั้นก็แบ่งออกเป็น 2 ขั้นตอนหลักๆ เหมือนในบทความ CAPTCHA ที่ผมเขียนมาก่อนหน้านี้ คือ
1. Download library Cryptographp
2. เขียนโค้ด
ไม่ต้องพูดพล่ามทำเพลง ให้เปลืองน้ำลายกันล่ะ โซ้ยกันเลย
1. คลิก Download the script เพื่อดาวน์โหลดตัว library
2. เขียนโค้ด
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <?php $cryptinstall="crypt/cryptographp.fct.php"; include $cryptinstall; // ถ้า user submit ฟอร์มมา if( $_POST['ispostback'] ){ // ถ้าป้อน captcha มาถูกต้อง if (chk_crypt($_POST['captcha'])){ echo "ถูกต้อง"; } else{ // ถ้าป้อน captcha ไม่ถูกต้อง echo "ป้อน captcha ไม่ถูกต้อง ไม่ให้เก็บข้อมูลลงฐาน"; } } ?> <html> <head> <title>Cryptographp</title> </head> <body> <form id="form1" method="post" action=""> <p> <label for="username">username </label> <input type="text" name="username" id="username" /> <label for="password">password </label> <input type="text" name="password" id="password" /> <label for="captcha">captcha </label> <!-- เตรียมช่องไว้ให้ user ป้อน captcha--> <input type="text" name="captcha" id="captcha" /> <!-- แสดงภาพ captcha --> <?php dsp_crypt(0,1); ?> <input name="ispostback" type="hidden" value="true" /> <input type="submit" name="button" id="button" value="Submit" /> </p> </form> </body> </html> |
ผลลัพธ์จากโค้ดจะเป็นดังนี้
การทำงานของโค้ดนั้น มีอยู่ 3 จุดที่สำคัญ
1. include ตัว library เข้ามา สิ่งที่ต้องจำไว้ก็คือ โค้ดสองบรรทัดนี้จะต้อง อยู่บรรทัดแรกสุดของโค้ด เพราะว่าในไฟล์ cryptographp.fct.php จะมีการเรียกใช้ session ไม่งั้นแล้วจะเกิด error
และตัวแปร $cryptinstall จะต้องประกาศไว้ ในไฟล์ cryptographp.fct.php จะมีการเรียกใช้ ตัวแปรนี้ กำหนดพาธให้กับภาพ CAPTCHA ที่จะแสดง ถ้าตรงนี้ท่านดัดแปลงให้เหลือบรรทัดเดียวเป็น include(“crypt/cryptographp.fct.php”); ภาพอาจจะแสดงไม่ได้
$cryptinstall="crypt/cryptographp.fct.php"; include $cryptinstall; |
2. เตรียมช่องให้ user ป้อน captcha และแสดงตัว captcha สำหรับคำสั่ง dsp_crypt(0,1) จะเห็นว่าส่งพารามิเตอร์เข้าไป 2 ตัว ตัวแรกที่เป็น 0 เป็นพารามิเตอร์ที่ใช้สำหรับกำหนดไฟล์คอนฟิก ค่าที่เป็นไปได้ของพารามิเตอร์ตัวนี้คือ 0,ชื่อไฟล์คอนฟิก พารามิเตอร์ตัวนี้ผมแนะนำว่าอย่าไปสนใจมัน ให้มันเป็น 0 ไป
แต่ถ้าท่านต้องการทราบจริงๆ เข้าไปดู document ที่นี่นะครับ http://www.captcha.fr/index.php?page=34 ส่วนพารามิเตอร์ตัวที่ 2 เป็นตัวกำหนดว่าจะให้แสดงปุ่ม Reload captcha หรือไม่ ค่าที่เป็นไปได้คือ 0,1 0:ไม่แสดง,1:แสดง
<!-- เตรียมช่องไว้ให้ user ป้อน captcha--> <input type="text" name="captcha" id="captcha" /> <!-- แสดงภาพ captcha --> <?php dsp_crypt(0,1); ?> |
3. ทำการตรวจสอบว่า captcha ที่ user ป้อนเข้ามาถูกต้องหรือไม่ โดยพารามิเตอร์ที่ส่งเข้าไปในฟังก์ชั่นนี้ก็คือ ช่องที่เราเตรียมไว้ให้ user ป้อน captcha นั่นเอง
chk_crypt($_POST['captcha']) |
หวังเป็นอย่างยิ่งว่าบทความนี้ จะเป็นประโยชน์แก่ท่านผู้อ่าน ขอพลังจงอยู่กับท่าน เจไดทั้งหลาย
แหล่งข้อมูลเพิ่มเติม
1.http://www.captcha.fr/index.php?page=1&langue=en
2.Demo
3.Document
jinkit says:
23/08/2552 at 23/08/2552
ขอบคุณสำหรับเนื้อหาที่ดีๆๆ ช่วยในการทำรายงานเป็นอย่างมากค่ะ
KTG says:
27/08/2552 at 27/08/2552
ขอบคุณมากครับ อ่านเข้าใจง่าย ตัวอย่างใช้ได้จริง
สุดยอดครับ
mc says:
27/03/2554 at 27/03/2554
มันแสดงทุกอย่างครับ แต่พอลองไม่กรอกอะไร ในช่อง captcha มันก็ยังโพสต์ได้ครับ..สรุปคือมันไม่ทำงาน
pandalovebanana says:
03/10/2555 at 03/10/2555
ของผมก็เจอแบบเดียวกันเลยครับ
the colourz says:
26/05/2554 at 26/05/2554
เจอปัญหาเช่นเดียวกับคุณ mc ครับ =..=”