آموزش ها

جلوگیری از حملات XSS

توسط بردیا عباسی راد

ارسال شده در تاریخ ۲۰ مهر,۱۳۹۷



در این آموزش می خواهیم به کوئری که از طرف کاربر می آید پاسخ دهیم. این آموزش در مورد حملات cross site scripting در زمانی که از متغیر سوپرگلوبال $_SERVER['PHP_SELF'] در فرم استفاده کرده ایم می باشد. 

ابتدا با تشریح مشکل شروع می کنیم که روش های رایج برای کار با فرم ها نامطلوب هستند و در ادامه کد صحیح را می نویسیم تا فرم ما امن شود.

ادامه مطلب

تکنیک data uri در بارگذاری تصاویر svg

توسط بردیا عباسی راد

ارسال شده در تاریخ ۲۰ مهر,۱۳۹۷



در این آموزش از تابع str_replace استفاده می کنیم. ابتدا یک توضیح کوتاهی در مورد این تابع می دهیم.

این تابع این امکان را دارد که چندین کاراکتر را در یک فراخوانی جایگزین کند و ما از این امکان برای تولید data uri برای تصاویر svg استفاده خواهیم کرد.

این تابع 3 آرگومان دریافت می کند که همگی از نوع mixed هستند. به این معنی که این آرگومان ها هم میتوانند یک رشته و هم آرایه ای از رشته ها باشند. 

ادامه مطلب

نمایش بدون تکرار مقادیر یک فیلد خاص در جداول

توسط بردیا عباسی راد

ارسال شده در تاریخ ۱۴ مهر,۱۳۹۷



یک کوئری داریم که اطلاعاتی از دیتابیس را برای ما برگشت می دهد. می خواهیم زمانی که این اطلاعات را در جدول نمایش می دهیم. مقادیر تکراری ستون make که زیر هم قرار دارند برای راحت تر خوانده شدن فقط یک بار در جدول نوشته شوند. در تصویر زیر جدول اصلی را مشاهده می کنید.

ادامه مطلب

تکنیک data uri در بارگذاری تصاویر png, jpeg, gif

توسط بردیا عباسی راد

ارسال شده در تاریخ ۱۳ مهر,۱۳۹۷



تصاویر زیر را در نظر بگیرید. فرض کنید این عکس ها هر کدام یک آیکن جدا از هم هستند و برای هر کدام یک درخواست جدا به سرور ارسال می شود.

برای کاهش بار سرور می توانیم از روش css sprites استفاده کنیم. در تکنیک css sprites تمامی آیکن های مورد نیاز را در یک عکس قرار داده و با درج مختصات به آن به کمک css از قسمت‌های مختلف عکس در مکان دلخواه استفاده می‌کنیم، در این روش تنها یک درخواست برای یک تصویر به سرور ارسال می‌شود ولی چندین بار از عکس در قسمت‌های مختلف قالب استفاده می‌شود. با انجام این روش سرعت وب سایت بسیار بیشتر می‌شود.

ادامه مطلب

تکنیک استفاده از متغیرها همانند توابع

توسط بردیا عباسی راد

ارسال شده در تاریخ ۱۳ مهر,۱۳۹۷



متغیرها می توانند برای ذخیره کردن نوع های مختلف مورد استفاده قرار گیرند، رشته ها، آرایه ها، آبجکت ها و ...

اما آیا میدانید که می توان متغیرها را در نام توابع یا بخشی از نام توابع  بکار برد و همانند یک تابع از آن ها استفاده کرد؟

این ترفند زمانی مناسب است که نمیدانیم کدام تابع را باید صدا بزنیم. به عنوان مثال توابع کار با تصاویر در php را بررسی می کنیم. برای mime type های مختلف توابع مختلفی در کتابخانه php وجود دارد. توابع برای ایجاد منابع تصاویر imagecreatefromgif ، imagecreatefrompng و imagecreatefromjpeg و نکته قابل توجه این هست که اول نام آن ها یکسان است. توابع ایجاد تصاویر نیز نام گذاری آن ها با همین الگو هست. imagegif ، imagepng و imagejpeg

ادامه مطلب