มาทำ image verification กันเหอะ!!

December 22, 2007 – 11:21 pm

บางคนคงเคยเห็นข้อความโฆษณา ตามเว็ปบอร์ด ต่างๆมากมาย ตามที่เห็นพวก ลดความอ้วน หรือ ทำงานเดือนละแสน ห่าเหวอะไรของมันนั่น วันนี้ผมก็มีวิธีทำ image verification มาฝาก คือจะต้องให้กรอกโค้ดที่ผ่านการสุ่มก่อน แล้วจึงจะกดโพสข้อความได้ เพราะผมมั่นใจว่า bot มันคงยังอ่านรูป เป็น text ได้หรอกในตอนนี้ (มั้ง) ลองมาดูกัน สนใจอ่านต่อเลยครับ
เริ่มด้วยไฟล์แรก สำหรับสุ่มตัวอักษร และสร้างให้เป็นรูป imageverify.php

<?
session_start();
$text = “abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789″;//ตัวอักษรที่จะสุ่ม
$rand = substr(str_shuffle($text),0,5);//หั่นๆ สับๆๆๆๆ สุ่มๆๆๆ
$_SESSION[’verify_value’] = $rand;//เก็บ session
$im = imagecreatefromjpeg(”bg.jpg”);//ใส่พื้นหลัง
$textcolor = imagecolorallocate ($im, 0, 0, 0);//ใส่สีให้มันหน่อย
imagestring ($im, 5, 14, 5, $rand, $textcolor);/สร้างเป็นรูป
header(’Content-type: image/jpeg’);//กำหนดรูป
imagejpeg($im);
imagedestroy($im);
?>

//ไฟล์ที่สอง มาทำฟอร์มรับอินพุต input.php


<FORM METHOD=POST ACTION=”check.php”>
<TABLE>
<TR>
<TD >Code :</TD>
<TD ><INPUT TYPE=”text” NAME=”code” SIZE=”5″>
<IMG src=”imageverify.php” mce_src=”imageverify.php” ALIGN=”absmiddle” ></TD>//เรียกไฟล์ imageverify.php ที่เราสร้างไว้
</TR>
<TR>
<TD > </TD>
<TD ><INPUT NAME=”submit” TYPE=”submit” VALUE=”Submit”>
<INPUT NAME=”reset” TYPE=”reset” VALUE=”Reset”></TD>
</TR>
</TABLE>
</FORM>

//ไฟล์ที่สาม ใกล้เสดแล้ว มาสร้างไฟล์ที่จะรับฟอร์มกัน check.php


<?
session_start();
$code=$_POST[’code’];

if ($code==$_SESSION[’verify_value’]) {
echo “โค๊ดถูกต้อง :)”;
} else {
echo “คุณกรอกโค้ดผิด กรุณากลับไปกรอกใหม่”;
}

unset($_SESSION[’verify_value’]);
session_destroy();
?>

โย่ว เสดสะที เปนไงบ้างไม่ยากเลยช่ายมั้ยครับ ก็ลองๆไปประยุกต์ใช้ดูนะครับ


Leave a reply

:mrgreen: :| :twisted: :arrow: 8O :) :? 8) :evil: :D :idea: :oops: :P :roll: ;) :cry: :o :lol: :x :( :!: :?:

  1. You will post the following soon.
    Go ahead and start typing.