نحوه ساخت کدامنیتی
خوب ما این جا قراره دو تا فایل ایجاد کنیم،یکی فایل index.php که صفحه اصلی ما هست که کد لازم رو تولید میکنه و بعدا نمایش میده و صفحه SecurityCode.php که کد تولید شده در صفحه index رو برای ما تبدیل به یه تصویر میکنه و به خروجی میبره.
کد های لازم در صفحه اول رو اینطوری مینویسیم.
خوب اول از همه سشن رو روشن کردیم چون لازمش داریم،مخوایم کد تولید شده رو با همین سشن بفرستیم به صفحه تولبد عکس ما،بعدش ما یه متغییر تعریف کردیم و اون کاراکترهای لازم رو که میخوایم توی کد امنیتی استفاده بشن رو توش قرار دادیم (من همینجوری صفحه کلید رو از دکمه اول تا آخرش زدم و بعدشم اعداد رو اضافه کردم)،بعد از اون یه متغییر تعریف کریدم که قراره کد توی اون ذخیره بشه،فعلا خالیش گذاشتیم،حالا یه حلقه تعریف میکنیم که تو هر بار اجرای خودش به صورت تصادفی یکی از اون کارکتر های متفییر text رو برای ما برمیگردونه(با کلمه rand ما اولش یه عدد از صفر تا strlen رشته اصلی انتخاب میکنیم،بوسیله substr مقدار شروع انتخاب زیر رشته رو همون عدد رندوم قرار دادیم وطولش رو هم یک گذاشتیم) و به متغییر code که از اول خالی بوده اضافه میکنه،بعد از حلقه کد تصادفی ما ایجاد شده (اینجا ما تعداد دور حلقه روگذاشتیم ۶ و این باعث میشه ما یه کد ۶ حرفی داشته باشیم شما می تونید کم یا زیادش کنید یا مثلا بازم یه عدد رندوم بهش بدید)،آخر کار هم ما همین کد تولید شده رو گذاشتیم توی سشن،خوب کد های مربوط به صفحه index تموم شد حالا میریم سراغ صفحه تولید تصویر.
خوب اول از همه سشن روشن،بعدشم چون قراره خروجی این فایل از نوع تصویر باشه پس ما اومدیم با تنظیم هدر خروجی فایل رو گذاشتیم روی تصویر jpg،بعدشم مقدار کد رو از سشن خوندیم و گذاشتیم توی یه متغییر،ما اینجا اومدیم یه سری متغییر تعریف کردیم که مشخصات اون تصویر رو تویخودش داره،اندازه فونت رو گذاشتیم ۳۰،طول عکس شده ۲۰۰ پیکسل و ارتفاع تصویر هم شده ۶۰ پیکسل.
خوب حالا با متد imagecreate و با دادن طول و عرض بهش یه تصویر می سازیم و اونو توی متغییر image قرار میدیم،بعدشم با متد imagecolorallocate تصویر مون رو با رنگ خاکستری پر میکنیم(اون مقادیر عددی به صورت RGB هستن)،خوب حالا برای رنگ نوشته مون هم با همون متد یه رنگ مشکی میگیریم و توی متغییر text_color قرار میدیم،حالا میخوایم با متد imagettftext متن کد رو روی تصویرمون بنویسیم.
پارامتر ۱: متغییر تصویر رو دریافت میکنه که همون image هست.
پارامتر ۲ : سایز فونت رو دریافت میکنه که ما اون بالا تعریف کردیم.
پارامتر ۳ :زاویه چرخش متن رو توی عکس دریافت میکنه که ما گذاشتیم ۰٫
پارامتر ۴ :فاصله x رو دریافت میکنه،فاصله نوشته از سمت چپ نسبت به تصویر.
پارمتر ۵ : فاصله y رو دریافت میکنه،فاصله نوشته از سمت بالا نسبت به تصویر.
پارامتر ۶ : رنگ متن رو که تولید کرده بودیم دریافت میکنه.
پارامتر ۷ :یه فونت رو دریافت میکنه که با اون متن رو می نویسه(آدرس فونت باید مستقیم باشه،من الان فونت روگذاشتم کنار فایل)
پارامتر ۸ :اینم متنی رو که میخوایم روی تصویر بنویسیم مشخص میکنه که این جا همون کد امنیتی ماست.
خوب آخر کار هم با دستور imagejpeg که متغییر تصویر رو به عنوان ورودی میگیره،تصویر خودمون رو تولید میکنیم.
خوب حالا ما توی فایل index.php خودمون برای نمایش این تصویر و نتیجه کار از یه تگ img استفاده میکنیم و src اونو برابر فایل SecurityCode خودمون قرار میدیم (یادتون باشه نوع محتوای فایل SecurityCode تصویر هست).
اینم کد های HTML.
خروجی کار هم اینطوری میشه.