طراحی قالب دروپال

drupal logo
در این مقاله مراحل ایجاد یک قالب برای سیستم مدیریت محتوای دروپال را به ترتیب مرور خواهیم کرد
فرض بر این است که خواننده با اصول طراحی سایت مانند html، css و جاوااسکریپت آشنایی قبلی دارد و تنها مواردی که به drupal مرتبط می‌شود در این مقاله مورد بحث خواهند بود.

گام نخست ایجاد یک شاخه در مسیر sites/all/themes است. چنانچه بخواهید این قالب تنها در یک سایت قابل دسترس باشد از مسیر sites/YOUR-SITE/themes استفاده کنید.
به عنوان یک پیشنهاد، بهتر است شاخه‌هایی برای نگهداری فایل‌های شیوه‌نامه، تصاویر و اسکریپت‌ها ایجاد کنید تا دسترسی و یافتن این فایل‌ها آسان‌تر شوند.
گام بعدی ایجاد یک فایل متنی با پسوند info است. نام این فایل باید مشابه نام شاخه‌ای باشد که برای قالب جدید انتخاب کرده‌اید. این فایل حاوی تنظیمات مربوط به قالب جدید است که دروپال از آن برای موارد مختلفی استفاده می‌کند.
یک نمونه از فایل تنظیمات info را در ادامه مشاهده می‌کنید

name = AMIB Drupal Theme
description = Custom theme for my site
core = 7.x
engine = phptemplate
 
regions[header] = Header
regions[sidebar_first] = Right sidebar
regions[content] = Content
regions[footer] = Footer
 
stylesheets[all][] = css/style.css
stylesheets[print][] = css/print.css
 
features[] = name
features[] = main_menu

ادامه‌ی خواندن

ارسال شده در برنامه‌نویسی, دروپال, عمومی | برچسب‌شده | دیدگاه‌تان را بنویسید

CSRF چیست؟

CSRF مختصر عبارت Cross-site request forgery و یک اشکال امنیتی در برنامه‌نویسی وب است.

شیوه‌ی عملکرد هکرها در CSRF به این صورت است که مهاجم برای اجرای عملیات مالی یا تراکنش دلخواه خود، لینک انجام تراکنش را در محل‌های عمومی قرار می‌دهد. این عملیات ممکن است انتقال وجه از حساب قربانیان به حساب هکر باشد.

چنانچه فرد هدف در سایت ناایمن Login باشد و cookieهای آن سایت روی مرورگر او تنظیم باشند، کلیک روی لینک ارسال شده توسط هکر می‌تواند اهداف هکر را اجرایی کند. مثلا مبلغی از حساب وی کسر کند و به حساب هکر واریز کند.

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

در این صورت مرورگر قربانیان به صورت خودکار، لینک مورد نظر را روی سیستم تمام کاربران اجرا خواهد کرد.

نکته‌های امنیتی برای برنامه‌نویسان

برای جلوگیری از CSRF، انتقال‌های پولی و تراکنش‌های مهم باید در چند مرحله به انجام برسد و تحت هیچ شرایطی، یک لینک منحصر به فرد یا یک فرم تحت وب نباید عملکردی کامل داشته باشد.
استفاده از کدهای امنیتی captcha نیز می‌تواند از رویداد CSRF جلوگیری کنند.
بررسی referer در سرآمد درخواست HTTP نیز می‌تواند احتمال رخداد CSRF را به حداقل برساند.

نکته‌های امنیتی برای کاربران

کاربران سیستم‌های بانکی نیز بهتر است در هنگام استفاده از سیستم‌هایی مانند اینترنت بانک، تنها یک صفحه‌ی باز داشته باشند و پس از پایان استفاده از این سیستم‌ها، کاملا از سیستم خارج شوند.

ارسال شده در امنیت, برنامه‌نویسی | دیدگاه‌تان را بنویسید

آشنایی با Twig PHP Template Engine

Twig PHP Template Engine

در این مطلب کوتاه تلاش می‌کنیم در زمانی کوتاه با Twig Template Engine آشنا شویم.

یک قالب Twig فایلی متنی است که برای تولید هرگونه محتوا( HTML, CSS, Javascript, XML, CSV, LaTeX, … ) به کار می‌رود. عناصر به کار رفته در یک قالب Twig با علامت‌های زیر از بقیه‌ی عناصر محتوا جدا می‌شوند:

  • {{ … }}: برای چاپ محتوای یک متغیر یا نتیجه‌ی یک محاسبه به کار می‌رود.
  • {% … %}: برای انجام عملیات منطقی به کار می‌رود. مثلا ایجاد حلقه‌ها یا محدوده‌های شرطی با کمک این علامت به انجام می‌رسد.
  • {# … #}: برای درج توضیحات درون کد به کار می‌رود.

ادامه‌ی خواندن

ارسال شده در PHP | برچسب‌شده , | ۴ دیدگاه

افزونه‌ی فارسی‌ساز وردپرس با بهینه‌سازی و رفع اشکال

وردپرس فارسیهنگامی که داشتم این وبلاگ را راه‌اندازی می‌کردم متوجه شدم افزونه‌ی فارسی‌ساز وردپرس «wp-jalali» با افزونه‌ی «wp-syntax» تداخل دارد و مانع عملکرد صحیح آن می‌شود
به همین دلیل کد منبع هر دو افزونه را بررسی کردم.
اشکال اصلی از عبارت‌های منظمی بود که در شناسایی و تبدیل اعداد فارسی به کار رفته بود
علاوه بر الگوریتم نامطمئن، بار سنگینی را نیز به سرور وارد می‌کرد

در چند مرحله این افزونه را بهسازی و رفع اشکال کردم
تغییرات را برای توسعه‌دهندگان افزونه فرستادم، با این حال به هر دلیل افزونه‌ی قدیمی را بدون تغییر در ویرایش جدید وردپرس نیز انتشار دادند

چنانچه مایل باشید می‌توانید افزونه‌ی تغییریافته را از این پیوند دریافت کنید

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

به‌روزرسانی – ۱۴ دی ۱۳۹۱

آخرین تغییرات اعمال شده در نگارش ۴.۴ افزونه‌ی اصلی در نسخه‌ی بهسازی شده نیز پیاده‌سازی شد.

به‌روزرسانی – ۱۷ آبان ۱۳۹۲

آخرین تغییرات اعمال شده در نگارش ۴.۵ افزونه‌ی اصلی در نسخه‌ی بهسازی شده نیز پیاده‌سازی شد.

به‌روزرسانی – ۱۱ دی ۱۳۹۲

آخرین تغییرات اعمال شده در نگارش ۴.۵.۱ افزونه‌ی اصلی در نسخه‌ی بهسازی شده نیز پیاده‌سازی شد.

به‌روزرسانی – ۱ تیر ۱۳۹۳

آخرین تغییرات اعمال شده در نگارش ۴.۵.۲ افزونه‌ی اصلی در نسخه‌ی بهسازی شده نیز پیاده‌سازی شد.

ارسال شده در PHP, برنامه‌نویسی, وردپرس | برچسب‌شده , | ۱۲ دیدگاه

آشنایی با فریم‌ورک پی‌اچ‌پی Slim

فریم ورک Slim

تمایل به افزایش سرعت و افزایش توسعه‌پذیری برنامه‌نویسی روز به روز در حال افزایش است. به همین دلیل چندین فریم‌ورک php با ویژگی‌های مختلفی توسعه پیدا کرده‌اند که می‌توانند برنامه‌نویسان را در رسیدن به این دو هدف یاری کنند.

Slim یک فریم‌ورک در ابعاد کوچک است که امکانات خوبی را برای پروژه‌هایی با ابعاد کوچک و متوسط در اختیار برنامه‌نویسان قرار می‌دهد.

ویژی‌های فریم‌ورک Slim

  • مسیریابی قدرتمند
    • متدهای استاندارد و سفارشی HTTP
    • پارامترهای مسیریابی با پشتیبانی از Wildcard
    • تغییر مسیر، توقف و رد کردن
    • مسیرهای میان‌افزار
  • نمایش قالب با Viewهای سفارشی
  • برگرداندن پیام‌ها
  • کوکی‌های ایمن با کدگذاری ۲۵۶ بیتی
  • کش کردن http
  • سیستم لاگ با امکان سفارشی‌سازی محل ذخیره
  • خطایابی و پردازش اشکال‌ها
  • معماری Hook و میان‌افزار
  • تنظیمات ساده

Slim برای اجرا به PHP 5.3.0 یا بالاتر نیازمند است
از ویژگی‌های خوب این فریم‌ورک امکان استفاده از Eloquent ORM مخصوص Laravel برای مدیریت پایگاه داده است. برای مشاهده‌ی روش انجام این کار اینجا کلیک کنید.

برای دانلود فریم‌ورک Slim و مشاهده‌ی مستندات اینجا کلیک کنید

ارسال شده در PHP, برنامه‌نویسی, عمومی | دیدگاه‌تان را بنویسید

آشنایی با ۱۲ توزیع مشهور لینوکس

اوبونتو( Ubuntu )

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

مینت( Linux Mint )

این توزیع به طور خاص بهترین گزینه برای تازه‌کارها به شمار می‌رود. مینت ویژگی‌های کابرپسندی در اوبونتو ارائه کرد و GNOME 3 را توسعه داد. ترکیب این دو محیطی فوق‌العاده برای کاربران تازه‌کار و همچنین کاربران قدیمی لینوکس فراهم می‌کند.

فدورا( Fedora )

اگر به دنبال توزیعی حرفه‌ای هستید، فدورا بهترین انتخاب برای شماست.

دبین( Debian )

اگر به دنبال محیطی برای برنامه‌نویسی هستید، دبین برای شما ساخته شده است. توزیع دبین، پایه‌ی توسعه‌ی اوبونتو به شمار می‌رود. مدیریت دبین به دلیل بهره‌گیری از ابزار مدیریت بسته‌ی apt بسیار آسان است.

پاپی( Puppy Linux )

این توزیع سبک لینوکس روی سخت‌افزارهای ضعیف یا برای اجرای عملیات خاص مثل جستجوی شبکه، اجرای ماشین مجازی یا بازیابی دیسک سخت استفاده می‌شود.

اوپن سوزه( OpenSUSE )

اوپن سوزه از رابط کاربری KDE به همراه محیط مدیریتی یکپارچه بهره می‌برد. اگر به دنبال کارکردن چند زبانه هستید، این توزیع برای شما مناسب است.

سنت او اس( CentOS )

اگر به دنبال توزیعی حرفه‌ای و سازمانی هستید ولی نمی‌خواهید بهای ردهت( RedHat ) را بپردازید، بهترین گزینه برای شما «سنت او اس» است. این توزیع می‌تواند سرور میل، سرور وب، DNS، DHCP و … را اجرا و پشتیبانی کند.

ردهت( Red Hat Linux )

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

جنتو( Gentoo )

جنتو نیز مانند دبین حاوی بسته‌های خاص خود است. با این وجود بسته‌های جنتو از پیش کامپایل شده نیستند و روی هر سیستم به صورت مجزا باید کامپایل شوند. این توزیع برای یادگیری ویژگی‌های داخلی لینوکس مفید است.

دمن والنربل لینوکس( Damn Vulnerable Linux )

این توزیع لینوکس از روی عمد حاوی برنامه‌ها و ابزارهای کاربردی است که هر یک اشکال‌های امنیتی در خود دارند. مورد استفاده‌ی آن برای آموزش مدیران شبکه و سیستم است.

آرچ لینوکس( Arch Linux )

آرچ از سیستم انتشار منظمی پیروی می‌کند. با یک بار نصب آن می‌توانید بدون نیاز به نصب مجدد، همیشه آخرین نگارش را در اختیار داشته باشید. این نگارش ابزاری مناسب برای توسعه دهندگان است تا نکات درونی سیستم‌عامل را متوجه شوند.

کالی( Kali Linux )

این توزیع بر پایه‌ی دبین توسعه پیدا کرده است و امکان تست نفوذ را فراهم می‌کند. کالی حاوی ابزارهای مختلف نفوذ از جمله وای‌فای، پایگاه داده، و … است. کالی از APT برای مدیریت بسته‌های نرم‌افزاری استفاده می‌کند.
منبع

ارسال شده در عمومی | برچسب‌شده | دیدگاه‌تان را بنویسید

قالب رایگان بخش مدیریت – ۱

قالب رایگان بخش مدیریت امیب ۱

قالب رایگان بخش مدیریت امیب ۱
آزمون شده با فایرفاکس، کروم، اینترنت اکسپلورر
سازگار با استانداردهای HTML5 و CSS3
استفاده از LESS برای طراحی CSS
پشتیبانی از منوهای تو در تو و انیمیشن بدون نیاز به جاوااسکریپت
سازگار با گوشی‌های هوشمند فاقد Mouse Hover
طراحی تخت

برای دریافت قالب اینجا کلیک کنید

ارسال شده در قالب سایت | برچسب‌شده , , | ۵ دیدگاه

استفاده از واحد «درصد» مقابل background-position در CSS

دستور background-position وظیفه دارد تا محل شروع برای تصویر پس‌زمینه‌ی یک عنصر را تغییر دهد. در هنگام طراحی یک سایت واکنش‌گرا یا Responsive با استفاده از تعیین مکان «درصدی» تصویر می‌توان یک پس‌زمینه‌ی Responsive در اختیار داشت. با این حال برای استفاده‌ی صحیح از واحد «درصد» لازم است تا با شیوه‌ی خاص عملکرد آن آشنایی داشته باشیم.

برای شروع به مثال مقابل توجه کنید:

div {
	background-image: url( "amib.jpg" );
	background-repeat: no-repeat;
	background-size: 200%;
	width: 50%;
	background-position: 50% 0;
}

قطعه کد بالا، عنصر را به‌اندازه‌ی «۵۰%» عرض صفحه کوچک می‌کند، تصویر «amib.jpg» را به اندازه‌ی «۲۰۰%» فضای عنصر یا «۱۰۰%» عرض صفحه تغییر اندازه می‌دهد، نقطه‌ی «۵۰%» تصویر را پیدا می‌کند و آن را طوری جابجا می‌کند که این نقطه بر نقطه‌ی «۵۰%» عنصر «div» یک‌جا قرار بگیرند.
با این شرح، مقدار «۰%» تصویر را در منتها الیه سمت چپ عنصر و «۱۰۰%» آن را در منتها الیه سمت راست عنصر قرار خواهند داد.

حال اگر بخواهیم در مورد مثال بالا، عنصر div را در محلی غیر از ابتدا، انتها یا میانه‌ی تصویر قرار دهیم، لازم است تا درصد جابجایی تصویر را به صورت دقیق مشخص کنیم. برای مثال اگر بخواهیم سمت چپ عنصر در محل ۴۰ درصدی عرض صفحه و همچنین تصویر قرار بگیرد محاسبات به این صورت خواهند بود:

div.s1 {
	/*
	100x - 50x = 40
	50x = 40
	x = 40 / 50
	x = 0.8
	*/
	left: 40%;
	background-position: 80% 0;
}
 
div.s2 {
	/*
	100x - 50x = 33.333
	50x = 33.333
	x = 33.333 / 50
	x = 0.66666
	*/
	left: 33.333%;
	background-position: 66.666% 0;
}
ارسال شده در CSS | برچسب‌شده , , | دیدگاه‌تان را بنویسید

آموزش اصول طراحی سایت واکنش‌گرا( Responsive WebDesign )

طراحی وبسایت واکنش‌گرا

روز به روز بر تعداد کسانی که از ابزارهای قابل حمل برای دسترسی به اینترنت استفاده می‌کنند افزوده می‌شود. طراحی سایت به گونه‌ای که در هر عرض و طول صفحه قابل استفاده باشد اصطلاحا «طراحی واکنش‌گرا» یا «Responsive webdesign» نامیده می‌شود.

برای ایجاد یک طرح واکنش‌گرا دانستن چند نکته ضروری است که در این نوشته به اختصار آن‌ها را مرور می‌کنیم.

ادامه‌ی خواندن

ارسال شده در HTML | برچسب‌شده , | ۱۲ دیدگاه

مدیریت تاریخ و زمان در جاوااسکریپت با کمک Moment.js

momentjs
Moment.js نام یک کتابخانه‌ی جاوااسکریپت است. این کتابخانه وظیفه‌ی تحلیل، اعتبارسنجی، مدیریت و نمایش تاریخ و زمان در جاوااسکریپت را بر عهده دارد. از ویژگی‌های مهم این کتابخانه، سازگاری با محیط‌های گوناگون از جمله Node.js و همچنین انواع مرورگرهای متداول به شمار می‌رود.

اگرچه شیئ Date در جاوااسکریپت ویژگی‌های متنوعی برای کارکردن با تاریخ و زمان در اختیار برنامه‌نویسان قرار می‌دهد، ولی توسعه‌ی نرم‌افزارهای تحت وب تنها با استفاده از این ویژگی‌ها گاهی مشکل و ناهموار به نظر می‌رسد.

برای استفاده از کتابخانه‌ی Moment.js که از ده‌ها زبان مختلف و همچنین تاریخ هجری شمسی( با استفاده از افزونه‌ی جلالی ) پشتیبانی می‌کند، کافی است فایل اسکریپت آن را دریافت کنید و سپس در سرآمد صفحه‌ی وب خود آن را درج کنید:

<script src="moment.js"></script>

ادامه‌ی خواندن

ارسال شده در برنامه‌نویسی, جاوااسکریپت | برچسب‌شده , | ۴ دیدگاه