рдмрд╕ рджреВрд╕рд░реЗ рджрд┐рди рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдореБрдЭреЗ рдкрдВрдЬреАрдХрд░рдг рдкреГрд╖реНрда рдкрд░ рдПрдХ рдХреИрдкреНрдЪрд╛ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдмреЙрдЯ рдЗрддрдиреЗ рдвреАрд▓реЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЕрдЪреНрдЫрд╛ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рднреА рдЕрдзрд┐рдХ рдмреЙрдЯ рдХрд╣рддреЗ рд╣реИрдВред
рдЦреЛрдЬ рдЗрдВрдЬрди
"рдХреИрдкреНрдЪрд╛ рд▓рд┐рдкрд┐" рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдкрд░, рдХрдИ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ - рдпрд╣ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдирд╛ рдПрдХ рдкрд╛рдк рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕рднреА рдореБрдЭреЗ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ - рдХреБрдЫ рдмрд╣реБрдд рдбрд░рд╛рд╡рдирд╛ рд╣реИрдВ, рдЕрдиреНрдп рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИрдВред
рд╣рд▓! рд╣рдо рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдХреИрдкреНрдЪрд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рд╡рд┐рд╖рдп рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреАрдЯрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдХрд╛рдо рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдХреИрдкреНрдЪрд╛ рд╕реЗ рдПрд░реНрдЧреЛрдиреЙрдорд┐рдХреНрд╕ рдХреА рдЙрдореНрдореАрдж рд╣реИ, рд╕рд╛рдЗрдЯ рд░рдВрдЧреАрди рд╣реИ рдФрд░ рдХреИрдкреНрдЪрд╛ рдЙрдкрдпреБрдХреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдПрдХ рд╕рдлреЗрдж рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░, рдбреНрд░рд╛рдЗрдВрдЧ рд╕рдВрдЦреНрдпрд╛ рдореЗрд░реЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдЖрдпрдд рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдХреНрд╡рд┐рдЧрд▓реНрд╕ рдХреЗ рд╕рд╛рде рднрд░реЗрдВред
рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛ рдЖрдХрд╛рд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдХреИрдкреНрдЪрд╛ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ 3 рдЧреБрдирд╛ рдмрдбрд╝рд╛ рд╣реИред рдЪрд┐рддреНрд░ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдпрд╣ рдкреГрд╖реНрдарднреВрдорд┐ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рджреЗрдЧреА - рдкреНрд░рддреНрдпреЗрдХ рдХреИрдкреНрдЪрд╛ рдХреЛ рдЕрджреНрд╡рд┐рддреАрдп рдмрдирд╛ рджреЗрдЧреАред

рдЕрдм рд╣рдореЗрдВ рдирдВрдмрд░ рдЪрд╛рд╣рд┐рдПред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдЬреЛ рдореБрдЭреЗ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдереЗ - рдЬреЛ рдХреИрдкреНрдЪрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ, рд╕рдВрдЦреНрдпрд╛рдПрдВ рдкрд╛рда рдХреЗ рд╕рд╛рде рдЦреАрдВрдЪреА рдЧрдИрдВ - рдЙрдирдХрд╛ рд░рдВрдЧ рдФрд░ рдЖрдХрд╛рд░ рдмрджрд▓ рдЧрдпрд╛ред
рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рджреВрд╕рд░реЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЬрд╛рдХрд░ 30 рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрдЦреНрдпрд╛рдУрдВ - 3 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлреЛрдВрдЯ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдЗрдЯ рдХреЗ рд░рдВрдЧреЛрдВ рдореЗрдВ рдврд╛рд▓ рдХреЗ рд╕рд╛рде рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ред

рдкреНрд░рддреНрдпреЗрдХ рдЕрдВрдХ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдХреЗ рдФрд░ рдЗрд╕реЗ рдЖрдХрд╛рд░ рдХреА рдКрдБрдЪрд╛рдИ рдкрд░ рд╕реЗрдЯ рдХрд░рдХреЗ: 22px; рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ:
рдХреИрдкреНрдЪрд╛ рдореЗрдВ 6 рдЕрдВрдХ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗред рдирдВрдмрд░реЛрдВ рдХреЛ рд░реИрдВрдбрдо рддрд░реАрдХреЗ рд╕реЗ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред
$pic1 = rand(1, 30); $pic2 = rand(1, 30); $pic3 = rand(1, 30); $pic4 = rand(1, 30); $pic5 = rand(1, 30); $pic6 = rand(1, 30);
рдкреНрд░рддреНрдпреЗрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП, 1 рд╕реЗ 30 рддрдХ рдХрд╛ рдЕрдВрдХ рдЕрдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ (рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ 0.png рд╕реЗ 30.png рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рдЧрдИ рд╣реИ)ред рдЪреВрдВрдХрд┐ рдирдВрдмрд░ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рд╕рд╣реЗрдЬреЗ рдЧрдП рд╣реИрдВ, рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕реЗ рдЕрдВрддрд┐рдо рдЕрдВрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреМрди рд╕рд╛ рдбреНрд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
$pic1_value = substr($pic1, strlen($pic1)-1, 1); $pic2_value = substr($pic2, strlen($pic2)-1, 1); $pic3_value = substr($pic3, strlen($pic3)-1, 1); $pic4_value = substr($pic4, strlen($pic4)-1, 1); $pic5_value = substr($pic5, strlen($pic5)-1, 1); $pic6_value = substr($pic6, strlen($pic6)-1, 1);
рдпрд╣реА рд╣реИ, рд╕рдВрдЦреНрдпрд╛ 2 рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХреИрдкреНрдЪрд╛ рдХреЛрдб рдпрд╛рдж рд░рдЦреЗрдВ рдФрд░ рдЗрд╕реЗ рд╕рддреНрд░ рдореЗрдВ рд▓рд┐рдЦреЗрдВред
session_start(); $_SESSION['captha'] = "{$pic1_value}{$pic2_value}{$pic3_value}{$pic4_value}{$pic5_value}{$pic6_value}";
рдЕрдм рдЬрдм рд╣рдо рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ - рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЖрдХрд╛рд░ рдореЗрдВ 112x38px рддрд╕реНрд╡реАрд░ рдореЗрдВ рдЦреАрдВрдЪрдирд╛ рд╣реЛрдЧрд╛;
$dest = imagecreatetruecolor(112,38);
рд╣рдо рдЙрди рдирдВрдмрд░реЛрдВ рдХреЛ рднреА рдЦреЛрд▓рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
$var1 = imagecreatefrompng("../../pic/captha/{$pic1}.png"); $var2 = imagecreatefrompng("../../pic/captha/{$pic2}.png"); $var3 = imagecreatefrompng("../../pic/captha/{$pic3}.png"); $var4 = imagecreatefrompng("../../pic/captha/{$pic4}.png"); $var5 = imagecreatefrompng("../../pic/captha/{$pic5}.png"); $var6 = imagecreatefrompng("../../pic/captha/{$pic6}.png");
рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдЕрдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдХреНрд╖реИрддрд┐рдЬ рдФрд░ рд▓рдВрдмрд╡рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреГрд╖реНрдарднреВрдорд┐ рдХреИрдкреНрдЪрд╛ рд╕реЗ рдЖрдЧреЗ рди рдЬрд╛рдПред
imagecopyresampled($dest, $back, 0, 0, rand(0, 224), rand(0, 106), 112, 38, 112, 38);
рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╣рдо рдЦреБрдж рднреА рдХреИрдкреНрдЪрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ - рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рд╕реНрдерд┐рддрд┐ рдХреЛ рд▓рдВрдмрд╡рдд рдФрд░ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЕрдВрдХреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЕрдзрд┐рдХрддрдо 4px рддрдХред
imagecopyresampled ($dest, $var1, rand(0, 6), rand(2, 10), 0, 0, imagesx($var1) - rand(0, 4), imagesy($var1) - rand(0, 4), imagesx($var1), imagesy($var1)); imagecopyresampled ($dest, $var2, rand(18, 24), rand(2, 10), 0, 0, imagesx($var2) - rand(0, 4), imagesy($var2) - rand(0, 4), imagesx($var2), imagesy($var2)); imagecopyresampled ($dest, $var3, rand(36, 42), rand(2, 10), 0, 0, imagesx($var3) - rand(0, 4), imagesy($var3) - rand(0, 4), imagesx($var3), imagesy($var3)); imagecopyresampled ($dest, $var4, rand(54, 60), rand(2, 10), 0, 0, imagesx($var4) - rand(0, 4), imagesy($var4) - rand(0, 4), imagesx($var4), imagesy($var4)); imagecopyresampled ($dest, $var5, rand(72, 78), rand(2, 10), 0, 0, imagesx($var5) - rand(0, 4), imagesy($var5) - rand(0, 4), imagesx($var5), imagesy($var5)); imagecopyresampled ($dest, $var6, rand(90, 96), rand(2, 10), 0, 0, imagesx($var6) - rand(0, 4), imagesy($var6) - rand(0, 4), imagesx($var6), imagesy($var6));
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ php рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд╣реЗрдбрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ:
header('Content-type: image/jpeg');
рдФрд░ рдмреНрд░рд╛рдЙрдЬрд░ рдореЗрдВ рддреИрдпрд╛рд░ рдХреИрдкреНрдЪрд╛ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ:
imagejpeg($dest);
рдареАрдХ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдмрдлрд░ рдХреЛ рдЦрд╛рд▓реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛:
imagedestroy($back); imagedestroy($dest); imagedestroy($var1); imagedestroy($var2); imagedestroy($var3); imagedestroy($var4); imagedestroy($var5); imagedestroy($var6);
рдмрдЪрд╛рдУ, рдЪреЗрдХ рдХрд░реЛред

рд╣рдордиреЗ рд╕рд╛рдЗрдЯ рдкрд░ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рд░рдЦрд╛ рд╣реИред

рдпрджрд┐ рджрд░реНрдЬ рдХреЛрдб
!= $_SESSION['captha']
- рддрдм рд╣рдо рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░, рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреИрдкреНрдЪрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛:
$pic1 = rand(1, 30);
- рд╡реГрджреНрдзрд┐ред
рдЗрд╕ рдкрд░, рд╣рдорд╛рд░рд╛ рд╕реНрд╡-рдирд┐рд░реНрдорд┐рдд рд╕реБрдзрд╛рд░ рдФрд░ рд╕рд░рд▓ рдХреИрдкреНрдЪрд╛ рддреИрдпрд╛рд░ рд╣реИред рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдХрдбрд╝рд╛рдИ рд╕реЗ рдиреНрдпрд╛рдп рди рдХрд░реЗрдВред рдпрджрд┐ рдХреЛрдИ рдЙрджрд╛рд╣рд░рдг рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЕрдкрдиреЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред