Monthly Archives: دی 1392

آموزش گام به گام طراحی قالب برای وردپرس – قسمت اول

سلام

اکنون محبوبترین CMS دنیا وردپرس هستش و کار باهاش خیلی لذت بخش بوده حداقل برای من اما یکی از چیز هایی که برای من جذابیت زیادی داره شیوه ساخت قالب برای ورد پرس هستش که خوش دستی خودش رو خیلی قشنگ اثبات می کنه و حالا آموزش های زیادی در این باره دیدم و اما این آموزش از نظر خلاصه بودنش برای من اهمیت داره و ساده گفتنش.

پیش فرض من از شما:

  • شما HTML و CSS رو به خوبی میشناسید
  • حداقل آشنایی با PHP رو دارید
  • تا حالا با خوده وردپرس کار کردید
  • یک قالب با فرمت HTML و CSS در اختیار دارید که دارای index و صفحه های داخلی هست می خواهید اون رو به وردپرس ببرید.

در غیر این صورت خوندن این آموزش برای شما مفید نیستش خب برای آموزش HTML و CSS به اینجا مراجعه کنید و برای آموزش PHP در حد ابتدایی به اینجا و برای حداقل کار با ورد پرس اون رو نصب کنید و باهاش کار کنید.

برای قالب هم من قالبی که تو آموزش ازش استفاده می کنیم رو به نوشته پیوست می کنم.

و اما حالا ما اولین گام رو برای طراحی قالب برمیداریم.اطلاعات بیشتر

حمله برروی LSDB ها در پروتکل مسیریابی OSPF همراه سناریو عملی

سلام دوستان.

دلیل اصلی نوشتن این مطلب برمیگرده به پستی که در یکی از سایت های ایرانی خوندم، سایت وتیمی که خود را جزو بهترین و برترین شرکت های امنیت شبکه و رایانه ای کشور می داند. درواقع مطلبی که خوندم  دوست عزیز امنیتی مون اسم تاپیک رو ”  آسیب پذیری موجود بر روی پروتکل OSPF ”  گذاشته بود و اگر بطور صریح حرف بزنیم ترجمه و شرح CVE-2012-0249 بودش!

این باگ مربوط به برنامه Quagga که بیس آن Zebra است. باگ در Daemon OSPF که وظیفه اجرای پروتکل OSPF را برعهده دارد رخ می دهد. در بسته های دریافتی LS Update طول چک نمی شود. طول در LSA Hader قرار میگیرد (فیلد length)  و این باگ باعث ایجاد حملات DOS می شود. حال نمیدونم وظیفه پروتکل آیا واقعا چک کردن طول داده هاست؟ یا این یک خطای برنامه نویسی است؟ که این بشر نوشته کشف آسیب پذیری در پروتکل OSPF ونکته ظریف اینجاست که اگر باگ مرتبط با پروتکل باشد بدون شک بایستی در تمامی دیوایس هایی که این پروتکل را پیاده سازی نموده اند وجود داشته باشد. پروتکل های که نوشته می شوند براساس تفکر و منطق هستند پس باگ هم بایستی logical باشد نه مرتبط با Secure Coding.

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

 

ابتدا مروری بر قواعد OSPF خواهیم داشت تا حمله بهتر درک شود:

  • قواعد براساس وضعیت پیوندهایا همان Link-State است، بنابراین همه روترهایی که در یک ناحیه OSPF قر ار دارند بایستی توپولوژی آن Area رو یادبگیرند.
  • بطورکلی OSPF سه مرحله دارد:
  1. اطلاعات روترهای مجاور، neighbor ها که شرایط برقراری ارتباط و تبادل داده ها را دارد، در جدولی به نام neighbor table ذخیره می شود.
  2. نگهداری و تبادل اطلاعات توپولوزیکی شبکه، بین روترهای همسایه است. این اطلاعات در جدولی به نام LSDB ذخیره می گردد.
  3. انتخاب بهترین مسیر ازروی جدول LSDB که این کارتوسط الگوریتم Dijkstra انجام می شود.

برای ساخت Topology Database از ارسال و دریافت بسته هایی به نام LSA استفاده می شود لذا بنابرموقعیت توپولوژیکی 11نوع LSA داریم که Header تمامی آنها یکسان است. ساختار این هدر را در پایین می توانید مشاهده کنید :

 

اطلاعات بیشتر

بسته پارسی ساز ParsiDate

چرا “بسته پارسی ساز”:
بی شک مهمترین و معروفترین افزونه برای کاربران وردپرس در ایران افزونه “جلالی” بوده که باعث نفوذ بیش از پیش وردپرس در بین کاربران ایرانی شد و با افزودن تاریخ شمسی به وردپرس این سیستم را به یکی از محبوب ترین و پرکاربرترین سیستم مدیریت سایت در ایران تبدیل نمود.
اما مشکل از زمانی شروع شد که توسعه افزونه جلالی کُند و تقریبا متوقف شد. کدهای افزونه بعد از 4 سال تغییر خاصی نکرد و هسته اصلی آن بهینه نشد. برای نسخه های جدید وردپرس هیچ توسعه ای انجام نشد و مشکلات کاربران روز به روز بیشتر شد.
فشار روی سرور، مشکلات و تداخل با برخی از افزونه های کاربردی مانند سری افزونه های سئو، ایجاد باگ و مشکلات در بخش مدیریت وردپرس، مشکلات در بخش پیوند یکتا و…. از جمله مهمترین مشکلات افزونه جلالی به حساب می آیند و حتی با وجود ارائه افزونه بهینه تر شده جلالی به نام wp-persian بازهم دردی دوا نشد و مشکلات کاربران هر روز بیشتر شد.
همه اینها ما را برآن داشت تا افزونه جدید را تولید کنیم تا علاوه بر حل مشکلات فوق، دارای هسته ای بهینه تر و سرعتی بالاتر باشد و حتی کاربران را از استفاده از وردپرس فارسی بی نیاز کند! شما با نصب و استفاده از این افزونه علاوه بر تاریخ شمسی، وردپرسی کاملا پارسی و راست چین در همه بخشها خواهید داشت.
با استفاده از این بسته دیگر نیازی به وردپرس فارسی نخواهید داشت زیرا فایل های زبان را از طریق افزونه به وردپرس منتقل می شود و این مورد وقتی مهم می شود که شما می توانید سیستم وردپرس سایتتان را به وردپرس اصلی بروزرسانی کنید و منتظر انتشار وردپرس فارسی نباشید.

img

مهمترین مشخصات افزونه:
1. افزودن تاریخ شمسی به وردپرس در بخش های مدیریت (بخش نوشته ها، افزودن نوشته، بخش دیدگاه ها، بخش ویرایش سریع نوشته ها و دیدگاه ها (جدید)و…) و کاربری وردپرس (نوشته ها، دیدگاه ها، بایگانی و …)
2. شمسی سازی پیوند یکتا وردپرس در همه حالت ها
3. تبدیل اعداد به فارسی و جایگزینی اعداد عربی با اعداد فارسی
4. تبدیل همه حروف عربی (مانند ی , ک) به حروف معادل فارسی
5. بایگانی شمسی/خورشیدی بهینه شده
6. راست چینی و فیکس در ادیتور پیش فرض وردپرس
7. راست چینی و فارسی سازی همه بخشهای وردپرس

موارد بهینه و بروز شده:
1. تابع شمسی این افزونه بصورت کامل از ابتدا نوشته شده تابع date در زبان php بصورت کامل برای شمسی اجرا شد
2. ابزارک بایگانی کاملا از ابتدا نوشته شده و در همه بخشها و حالت ها در داخل و سرتیتر تاریخ شمسی را نمایش می دهد
3. بخش پیوند یکتا براساس آخرین تغییرات تابع اصلی وردپرس نوشته شده و کاملا بهینه و سریعتر شده
4. تاریخ شمسی در بخشهای ویرایش سریع (در لیست نوشته ها و صفحه ارسال پست) در بخش مدیریت اضافه شده (جدید)
5. regex در تابع اعداد فارسی بهینه تر و سریعتر شده
6. افزودن فایل زبان فارسی از طریق افزونه به وردپرس. با این امکان کاربر اجباری به استفاده از وردپرس فارسی ندارد. کافیست وردپرس اصلی را نصب و سپس افزونه را فعال نماید. فایل های زبان از طریق افزونه به وردپرس اضافه می شود و پوشه languages در مسیرwp-content اضافه می شود.

لینک دانلود

بسته پارسی ساز

مستندات:
کلاس bn_parsidate : کلاس اصلی برای شمسی سازی و تبدیل تاریخ میلادی به شمسی و برعکس می باشد. این کلاس کاملا تابع date در زبان php را پیاده سازی کرده و می توانید براساس مستندات این تابع در سایت php.net از خروجی های آن استفاده کنید.

نحوه استفاده از کلاس:

نمونه برای تبدیل تاریخ میلادی به شمسی:

توضیحات:
متغییر $input ورودی چیدمان تاریخ است. مانند Y m d
متغییر $datetime برای تعریف زمان است. مانند now / +1 days / 1998-04-05 / timestamp
متغییر $lang که نوع خروجی عدد (فارسی/انگلیسی) را مشخص می کند. مانند per / eng

نمونه برای تاریخ شمسی به میلادی:

توضیحات:
متغییر $input ورودی چیدمان تاریخ است. مانند Y m d
متغییر $datetime برای تعریف زمان است. مانند now / +1 days / 1998-04-05 / timestamp

تابع per_number جهت تبدیل اعداد به فارسی. نحوه استفاده :

متغییر $content مقدار عدد صحیح است مانند: 1440

تابع eng_number جهت تبدیل اعداد فارسی به انگلیسی. نحوه استفاده :

متغییر $content مقدار عدد صحیح است مانند: 2020
برای استفاده از ارشیو خورشیدی میتوانید از تابع wp_get_parchives و به صورت زیر استفاده کنید

که مقدار xxx میتوانید یکی از مقادیر زیر جایگزین کنید

year (برای نمایش آرشیو به صورت سالانه)
monthly(برای نمایش آرشیو به صورت ماهانه)
daily (برای نمایش آرشیو به صورت روزانه)

و برای حالت لیست بازشو به صورت زیر استفاده نمایید

مثال

امکانات آینده:
1- شمسی و بومی ساز تابع wp_get_archive بصورت built-in
2- افزودن ابزارک تقویم شمسی به افزونه