يه مشكل تو session !

hossein2kk

Member
سلام دوستان
من دو تا فايل دارم كه يكيش تصوير رو ميسازه با يه كد و ديگري اون رو با كد نشون مي ده . اين كدي كه تصوير رو ميسازه :
PHP:
<?php

/**
 * @author Hossein Moradgholi 
 * @copyright 2009
 */


session_start();

$key = substr(md5(rand(0, 999)), 20, 5);
$_SESSION["key"] = $key;
$img = imagecreate(150, 50);
$white = ImageColorAllocate($img, 255, 255, 255);
$black = ImageColorAllocate($img, 0, 0, 0);
$grey = ImageColorAllocate($img, 204, 204, 204);
imagestring($img, 5, rand(20, 80), rand(15, 35), $key, $black);
imagerectangle($img, 0, 0, 149, 49, $black);
header("content-type:image/jpeg");
imagejpeg($img);
imagedestroy($img);


?>
و اين هم كدي كه تصوير رو با كد نشون مي ده :
PHP:
<?php

/**
 * @author Hossein Moradgholi
 * @copyright 2009
 */
session_start();
echo("<img src='captcha.php'>");
echo $_SESSION["key"]

?>

حالا مشكل اينجاست كه session من يه كد قبل از كدي كه توي عكس هست رو نشون مي ده يعني اگه بار اول عكس ميزنه 1111 و بار دوم 2222 متن براي بار دوم 1111 رو نشون ميده ممنون ميشم يه تست بكنيد ببينيد مشكل از كجاست
ممنون
سرافراز باشيد
 

jigartalaa

Member
سلام . کسی برای کد امنیتی از session استفاده نمیکنه !
session در فایل اصلی مدیریت یا کاربری استفاده میشه یا در header که کاربر رو بشناسه نه کد امنیتی !
 

jigartalaa

Member
درسته استفاده میشه اما نه برای بررسی ! بهتره که استفاده نکنید !
این استفاده هم برای ذخیره سازی کد امنیتی قبلی هست !
مثال من برای کد نویسی captcha برای ورود این کد رو نوشتم !

PHP:
<?php
session_start();
class CaptchaSecurityImages {
 var $font = 'monofont.ttf';
 function generateCode($characters) {
  /* list all possible characters, similar looking characters and vowels have been removed */
  $possible = '23456789bcdfghjkmnpqrstvwxyz';
  $code = '';
  $i = 0;
  while ($i < $characters) { 
   $code .= substr($possible, mt_rand(0, strlen($possible)-1), 1);
   $i++;
  }
  return $code;
 }
.....
$captcha = new CaptchaSecurityImages($width,$height,$characters);
?>

اما نه برای اینکه بیاد بررسی کنه که آیا ...
این session برای اینه که مقدار captcha ذخیره شه و تغییر نکنه و بعد بیاد بررسی رو انجام بده که همسان باشن !

اگه خواستی نمونه کد خودم رو بذارم اینجا استفاده کنی !
 

hossein2kk

Member
سلام
بازم ممنون
من دقيق صحبتتون رو نفهميدم ميشه بيشتر توضيح بديد .
اما چيز ديگه اينه كه من مشكلم حل شد و فقط توي فرمم action رو روي يك صفحه ديگه تنظيم كردم (يعني تو همون صفحه كد امنيتي رو بررسي نكردم)و اونجا سعي كردم درست بودنش رو بررسي كنم و مشكل 100 در صد حل شد.
در ضمن من شما فرموديد :
این استفاده هم برای ذخیره سازی کد امنیتی قبلی هست !
خوب من هم اين كار رو كردم البته كد بالاي من فقط نشون دهنده اين بود كه دو تا كد نمي خونه ولي وقتي session تو دو تا صفحه بره و تو صفحه سوم بررسي شه مشكلي پيش نمياد.(منظورم از دو تا صفحه يعني اول فايل توليد عكس و بعد فرم و فرم اطلاعات رو با session به صفحه اي ديگر پست كند.)

سرافراز باشيد
 

جدیدترین ارسال ها

بالا