PDA

View Full Version : سوال: کد تولید رمز اتوماتیک روی سرور کار نمیکند ولی روی لوکال کار میکند.چرا؟



Mohammad-tashi
جمعه 08 آبان 1394, 21:32 عصر
باسلام من با تکه کد زیر در سایتم کد امنیتی میساختم اما روی هاست که آوردم کار نمیکنه
مشکل چیه؟


<?php

session_start();

$string = '';

for ($i = 0; $i < 4; $i++) {
// this numbers refer to numbers of the ascii table (lower case)
$string .= chr(rand(48, 57));
}

$_SESSION['rand_code'] = $string;

$dir = 'fonts/';

$image = imagecreatetruecolor(170, 60);
$black = imagecolorallocate($image, 0, 0, 0);
$color = imagecolorallocate($image, 100, 100, 90);
$white = imagecolorallocate($image, 255, 255, 255);

imagefilledrectangle($image,0,0,399,99,$white);
imagettftext ($image, 30, 0, 10, 40, $color, $dir."ALGER.ttf", $_SESSION['rand_code']);

header("Content-type: image/png");
imagepng($image);

?>

kabootar_y
شنبه 09 آبان 1394, 08:59 صبح
من کدت رو تست کردم به خوبی جواب داد

ببین آدرس فونتت درست باشه
با یه فونت دیگه امتحان کن
آدرس فونت رو کامل بده مثلا home/user/public_html/template/font/

ravand
شنبه 09 آبان 1394, 09:10 صبح
قبل از اینکه سشن رو استارت بزنی خط دو خالیه و همین باعث ایجاد خطا میشه.
توی notepad ++ به منوی encoding برو و گزینه ی encode in UTF-8-BOM را انتخاب کن.

wallfa
شنبه 09 آبان 1394, 11:28 صبح
خوب خط دوم حذف میکند

ravand
شنبه 09 آبان 1394, 13:33 عصر
خوب خط دوم حذف میکند
منظورم بعد از تگ <?php هست.

us1234
شنبه 09 آبان 1394, 15:29 عصر
هدر را بردار و تست کن ببین چه ارور هایی داخل کد هست :


header("Content-type: image/png");

ravand
شنبه 09 آبان 1394, 16:32 عصر
اینو امتحان کن ببین چی میشه؟

<?php
ob_start();
session_start();

$string = '';

for ($i = 0; $i < 4; $i++) {
// this numbers refer to numbers of the ascii table (lower case)
$string .= chr(rand(48, 57));
}

$_SESSION['rand_code'] = $string;

$dir = 'fonts/';

$image = imagecreatetruecolor(170, 60);
$black = imagecolorallocate($image, 0, 0, 0);
$color = imagecolorallocate($image, 100, 100, 90);
$white = imagecolorallocate($image, 255, 255, 255);

imagefilledrectangle($image,0,0,399,99,$white);
imagettftext ($image, 30, 0, 10, 40, $color, $dir."ALGER.ttf", $_SESSION['rand_code']);

header("Content-type: image/png");
ob_flush();
imagepng($image);
?>

Mohammad-tashi
شنبه 09 آبان 1394, 22:07 عصر
باتشکر از دوستانی که شرکت کردند
مشکلاینجا بود که فونت و درست وارد نکرده بودم ....هم اسم هم فرمت رو باید با capslock میزدم