PDA

View Full Version : Mã Số Bảo Mật Trong Ảnh !



StudyAdsense
05-03-2007, 18:57
Mình thấy trong một số trang đăng nhập có kèm theo ảnh chứa mã số bảo mật và yêu cầu nhập mã số này bên cạnh ID và Pass.

Ai biết cách tạo ra ảnh này và làm thế nào để sử dụng được nó xin chỉ giùm với.

Thanks !

starrynighthn
05-03-2007, 20:48
Cái này gọi là captcha modul,.......
cái này thì kiếm trên google khá nhiều,...
tìm hiểu thì vào đây,....
http://en.wikipedia.org/wiki/Captcha
còn dùng nó thì hiện có khá nhiều các PHP classes để làm việc này,... hoặc bạn cũng có thể tự viết,...
tham khảo tại www.phpclasses.org/ hoặc search trên google ko thiếu đâu,....
thân. :)

seonet
11-03-2007, 13:47
mình mới code 1 đoạn khá đơn giản, bạn xem thử rồi cải tiến theo cách hiểu của bạn, đoạn mã bí mật sẽ được lưu trong biến session


<?php
session_start();
$sAlp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$iInd = 5;
for($i = 0; $i < $iInd; $i ++)
{
$iRnd = rand(0, strlen($sAlp) - 1);
$aStr[$i] = substr($sAlp, $iRnd, 1);
}
$sStr= join("", $aStr);
$im = imagecreate(46, 16) or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 110, 110, 110);
$text_color = imagecolorallocate($im, 235, 235, 235);
imagestring($im, 6, 1, 0, $sStr, $text_color);
$_SESSION['regcode'] = $sStr;

header("Expires: Mon, 26 Jul 1992 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header('Content-type: image/gif');

imagegif($im);
imagedestroy($im);
?>


À, khi dùng thị bạn chỉ cần gọi trực tiếp đến file .php này thôi
<img src="../file_.php" />