جستجوی فایل ها در لینوکس با دستور Find

در این مطلب قصد داریم نحوه جستجو در ترمینال لینوکس را براساس معیار های مختلف مثل حجم، نام ، پسوند، سطح دسترسی، تاریخ و … را تشریح کنیم، دستور find با سوئیچ های مختلفی که دارد امکان سرچ  در لینوکس را بسادگی فراهم می کند.

جستجوی فایل ها براساس نام

جهت سرچ براساس نام نیاز است از دستور find  با سوئیچ -name استفاده کنید، البته اگر می خواهید بحروف بزرگ و کوچک حساس نباشد بجای -name  از -iname استفاده کنید.

بطور مثال اگر می خواهید فایلی بنام test.jpg را در دایرکتوری جاری سرچ کنید. دستور بصورت زیر می شود.

جهت سرچ کلیه فایل ها در دایرکتوری /home و با نام test.txt لازم است دستور زیر را اجرا کنید :

بعنوان مثال در تصویر زیر فایل هایی با نام passwd در دایرکتوری / سرچ شده و خروجی بصورت زیر مشاهده شده است:

 

جستجوی پوشه ها براساس نام

ساختار دستور بصورت زیر می باشد:

بعنوان مثال برای جستجو تمام پوشه های بنام backup در /home دستور بصورت زیر تغییر می کند:

یا بطور مثال برای پیدا کردن فایل های مخفی در /home/aban/public_html/ از دستور زیر استفاده کنید:

بعنوان مثال در تصویر زیر پوشه هایی با نام  public_html در دایرکتوری / سرچ شده و خروجی بصورت زیر مشاهده شده است:

 

 

جستجوی فایل ها با پسوند خاص

ساختار دستور بصورت زیر می باشد:

بطور مثال جهت سرچ فایل هایی با پسوند .php در مسیر جاری دستور بصورت زیر تغییر می یابد:

 

جستجوی فایل ها با سطح دسترسی خاص

ساختار دستور بصورت زیر می باشد:

بطور مثال  برای پیدا کردن کلیه فایل ها با سطح دسترسی ۷۷۷ از دستور زیر می توانید استفاده کنید.

 

 

جستجوی دایرکتوری ها با سطح دسترسی خاص

ساختار دستور بصورت زیر می باشد، بصورت کلی type  با سوئیچ f برای فایل ها وبا سوئیچ d برای دایرکتوری/پوشه ها استفاده می شود.

بطور مثال  برای پیدا کردن کلیه پوشه ها با سطح دسترسی ۷۷۷ از دستور زیر می توانید استفاده کنید.

با استفاده از !  در دستور FIND  می  توانید عملیات جستجوی معکوس را انجام دهید.

بعنوان مثال جهت جستجوی تمام فایل ها موجود در /home که پرمیژن آن ۷۷۷ نیست از دستور زیر استفاده کنید:

جستجوی فایل ها و دایرکتوری های خالی

جهت جستجوی فایل های خالی از دستور با ساختار زیر استفاده کنید:

جهت جستجوی پوشه های خالی از دستور با ساختار زیر استفاده کنید:

 

 

جستجوی فایل های یک یوزر خاص

جهت جستجوی فایل های یک یوزر خاص از دستور با ساختار زیر استفاده کنید:

بطور مثال برای جستجو تمام فایل هایی که متعاق به یوزر aban و در مسیر /home/admin  است، دستور بصورت زیر می باشد:

 

جستجوی فایل ها بر اساس حجم

جهت جستجوی فایل ها بر اساس حجم از دستور با ساختار زیر استفاده کنید:

بعنوان مثال جهت جستجوی فایل ها با حجم بیشتر از ۵۰ و کمتر از ۱۰۰  مگابایت  دستور بصورت زیر تغییر می کند:

بعنوان مثال در تصویر زیر فایل های لاگ موجود در سرور با حجم بیشتر از ۱۰ مگابایت سرچ شده و در خروجی نمایش داده می شود:

 

 

کاربرد -exec در دستور find

با -exec شما می توانید مشخص کنید چه عملیاتی بر روی خروجی دستور اجرا شود.

بطور مثال سطح دسترسی کلیه فایل ها  موجود در یک مسیر را از ۷۷۷ به  ۶۴۴ تغییر دهید.

کلیه فایل های .mp3 در مسیر جاری را حذف نمائید.

لیست کلیه فایل های لاگ با حجم بیشتر از ۱۰۰ مگ را مشاهده کنید.

 

جستجوی فایل ها بر اساس ساعت و تاریخ

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

بعنوان مثال جهت جستجوی فایل هایی که در ۵۰ روز پیش در مسیر / تغییر کرده اند از دستور زیر استفاده نمائید.

جستجوی کردن تمام فایل هایی که در  مسیر / در ۵۰ روز پیش به آن ها دسترسی پیدا شده است، مشاهده شده اند.

جستجوی تمام فایل هایی که در یک ساعت اخیر تغییر داده شده اند.

جستجوی تمام فایل هایی که در یک ساعت اخیر ویرایش شده اند.

newerXy : این گزینه در صورتی قابل استفاده است که timestamp X فایلی که در جستجوی آن هستیم از timestamp Y آن جدیدتر باشد. بجای X و Yمیتوان هر یک از حروف زیر را استفاده کرد :

a: این سوئیچ زمان دسترسی فایل میباشد.

B :این آپشن زمان ایجاد فایل میباشد.

m: زمان تغییر فایل

t: با استفاده از این سوئیچ میتوانید مستقیما در دستور یک تاریخ را درج کنید.

بعوان مثال در دستور زیر تنها فایل هایی که در تاریخ ۲۰۱۶-۱۲-۰۶ در مسیر جاری تغییر داده شده اند جستجو میشوند:

 

maxdepth

با این آپشن میتوانید حداکثر عمق جستجو را با عنوان یک level مشخص کنید، که تا چندین level از subdirecotry های موجود از دایرکتوری جاری و یا دایرکتوری مورد جستجوی بررسی و search را انجام دهد.

جهت درک بهتر تصویر زیر را مشاهده کنید:

 

نوشته جستجوی فایل ها در لینوکس با دستور Find اولین بار در ایران سرور پدیدار شد.

گردآوری توسط ایده طلایی

افزونه کلود فلر وردپرس

بیش از ۲۵ درصد وب سایت ها از سیستم مدیریت محتوا وردپرس استفاده می کنند و به طور تقریبی ۱۰ درصد از وب سایت های موجود در کل شبکه اینترنت از CloudFlare استفاده می کنند.

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

مزایای استفاده از افزونه کلودفلر وردپرس

  • پلاگین رایگان Cloudflare وردپرس باعث سرعت بخشیدن به سایت می شود
  •  SEO را بهبود می بخشد
  • از حملات DDoS و آسیب پذیری های خاص وردپرس محافظت می کند
  • با استفاده از این پلاگین شما به راحتی می توانید تنظیمات کلودفلر را برای سایت وردپرسی انجام دهید

 

 

آموزش فعالسازی  افزونه کلودفلر وردپرس

جهت فعالسازی و استفاده از این پلاگین در گام اول نیاز است در کلودفلر ثبت نام نموده و سایت خود  را ثبت نمایید، در این زمینه به لینک آموزش ثبت نام در کلودفلر مراجعه نمایید.

پس از ثبت سایت و بروز شدن dns ها جهت فعالسازی پلاگین کلودفلر وردپرس مراحل زیر را دنبال کنید.

وارد پنل مدیریتی وردپرس شوید.

از منو سمت راست بخش افزونه ها گزینه افزودن را انتخاب کنید.

افزونه cloudflare را سرچ نموده و با کلیک دکمه “هم اکنون نصب کن” این افزونه را اضافه کنید.

افزونه کلودفلر

 

سپس بر روی گزینه “فعال کردن” کلیک کنید.

حال در بخش افزونه ها، افزونه Cloudflare را مشاهده می کنید، دکمه setting را انتخاب کنید.

(افزونه هایی دیگر مانند LScacheWp Rocket نیز می توانند از API کلودفلر برای ادغام با سیستم کشینگ خود بهره ببرند. اگر از هاست وردپرسی ما استفاده می کنید، توصیه داریم از LScache نیز استفاده کنید که با لایت اسپید سرور ادغام می شود و سرعت بهینه ای به شما ارائه می کند)

تنظیمات افزونه کلودفلیر وردپرس

 

 

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

گزینه sign in here را انتخاب و مشخصات ورود اکانت کلودفلر را درج نمایید.

 

در صفحه نخست دامنه فعال، بر روی گزینه Get your API Key کلیک کنید.

 

گزینه view را مطابق تصویر زیر انتخاب نمایید. (اگر پسوردی از شما سوال شد، رمز ورود به کلودفلر را وارد نمائید)

دریافت Api key کلودفلر

 

حال API Key نمایش داده شده را کپی نموده و در پنل وردپرس وارد نمایید.

بر روی گزینه Apply کلیک نمائید، بدین طریق تنظیمات فعالسازی پلاگین کلودفلر وردپرس انجام خواهد شد.

پلاگین کلودفلر وردپرس

 

برگرفته از [cloudflare.com]

 

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

گردآوری توسط ایده طلایی

رفع خطا Internal Server Error 500

خطای ۵۰۰ چیست؟

خطای ۵۰۰ (Error 500) یا همان خطای Internal Server Error به معنای “خطای سرور داخلی” می‌باشد. این خطا یکی از کدهای وضعیت HTTP است که به عنوان خطا شناخته می‌شود که بدلایل مختلفی ممکن است سایت با آن مواجه شود.

این پیغام خطا در شرایط مختلفی ظاهر می شود، اما معنای تمام آن ها یکی است. بسته به وبسایتی که در حال بازدید از آن هستید ممکن است با پیغام های زیر مواجه شوید:

 

خطای 500

 

ما در این مقاله بصورت خاص  رفع خطای ۵۰۰ در وردپرس را بدلیل محبوبیت و استفاده بیشتر کاربران از این سیستم مدیریت محتوا  را تشریح نموده ایم.

جهت بررسی ریشه یابی علت وقوع ارور ۵۰۰ و چگونگی برطرف نمودن آن مراحل زیر را دنبال کنید:

بررسی  error_log  

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

بسیاری از مواقع زمانی که خطا Internal Server Error را مشاهده می کنیم، دلیل ایحاد این مشکل در قسمت error log کنترل پنل هاست نمایش داده می شود برای کنترل پنل سی پنل از قسمت Metrics روی گزینه Errors کلیک کنید.

 

مشاهده error log در سی پنل

 

برای کنترل پنل دایرکت ادمین نیز می توانید error log را در صفحه اصلی دایرکت ادمین روی گزینه Site Summary / Statistics / Logs کلیک کنید و سپس Web Error Log روی گزینه ۱۰۰ lines کلیک کنید تا ۱۰۰ خطای آخر به شما نمایش داده شود.

مشاهده error log در دایرکت ادمین

 

 

در سیستم های مدیریت محتوا امکان مشاهده خطا از طریق فایل کانفیگ آن ها نیز مقدور است.

بدین منظور بصورت زیر اقدام نمائید:

 

فعال کردن امکان مشاهده خطا در وردپرس

فایل  wp-config.php  موجود در public_html هاست را باز نموده و مقدار WP_DEBUG’ را به true تغییر دهید.
 فعالسازی امکان مشاهده خطا در وردپرس

فعال کردن امکان مشاهده خطا در جوملا

جهت فعال کردن امکان مشاهده خطا در سایت های جوملا در فایل configuration.php مقدار error_reporting را بصورت زیر تغییر دهید.

 

 

فعال کردن امکان مشاهده خطا در پرستاشاپ

برای مشاهده خطاهای prestashop باید فایل defines.inc.php در مسیر /home/username/public_html/config را ویرایش کنیم و مقدار define(‘PS_MODE_DEV ‘, false ); را به define(‘PS_MODE_DEV ‘, true ); تغییردهید.

 

توجه : پس از مشاهده خطا مجدد تغییر را بحالت قبل بازگردانید. چون مشاهده هشدار ها و خطای های سایت توسط بازدیدکنندگان مناسب نمی باشد.

 

چک کردن فایل htaccess  

برای بررسی این فایل نیازه که نام فایل رو تغییر بدید. مثلا نام اصلی رو به htaccess_old تغییر بدید.

برای اینکه مطمئن شوید مشکل از این فایل است یا خیر. فایل  را  مثلا به htaccess_old  تغییر نام دهید.

بدین منظور وارد هاست و بخش filemanger شده و وارد پوشه  public_html شوید.

فایل .htaccess فعلی را به htaccess_old  یا نام دلخواه تغییر دهید.

یک فایل جدید بنام .htaccess ایجاد نموده و کد زیر را در آن درج نمائید و سپس مشاهده سایت بدون خطا را مجدد بررسی نمائید.

اگر بعد از اینکار سایت را بدون خطا مشاهده کردید پس مشکل حل شده ، حالا باید خط به خط کد های htaccess را به آن اضافه کنید تا ببینید مشکل از کدوم خط بوده است.

 

غیر فعال کردن افزونه ها (پلاگین ها)

چه از وردپرس استفاده کنید، چه جوملا و هر سیستم مدیریت محتوای دیگری ، روی سیستم مدیریت محتوای خودتون یک سری افزونه یا پلاگین ( یا ماژول ) دارید که فعال بودن آن ها منجر به خطای ۵۰۰ شود. پس روش بعدی این هست که تک تک افزونه های سایت رو غیر فعال کنید و ببینید با غیر فعال کردن کدوم افزونه ، خطا internal server error 500 سایت شما از بین خواهد رفت.

غیرفعال کردن پلاگین های وردپرس

اگر به مدیریت سایت دسترسی ندارید، سطح دسترسی پوشه Plugins را از طریق filemanager  به صفر تغییر دهید.

 

بررسی تنظیمات دیتابیس

مشخصات دیتابیس ایجاد شده در هاست حتما باید با مشخصات درج شده در فایل wp-config.php  یکسان باشند.

بعنوان مثال در صورتیکه سایت با وردپرس طراحی شده نام دیتابیس- نام یوزردیتابیس و رمز باید بانام دیتابیس- نام یوزردیتابیس و رمز یوزر ایجاد شده در هاست یکسان باشد )

 

تغییر قالب به قالب پیشفرض وردپرس

گاهی وقت‌ها ممکنه خطای ۵۰۰ وردپرس بخاطر قالبی که استفاده می‌کنید باشه که برای اطمینان و راهکار نهایی میتونید قالب فعلی را غیرفعال کرده و از یکی از قالب‌های پیشفرض وردپرس استفاده کنید. اگر به پیشخوان وردپرس دسترسی دارید به مسیر نمایشپوسته‌ها مراجعه کرده و یکی از قالب‌های  پیش فرض وردپرس را انتخاب کرده و روی دکمه فعال کردن کلیک کنید.

فعال کردن تم پیش فرض وردپرس

اما اگر دسترسی به پیشخوان وردپرس ندارید برای غیرفعال کردن قالب فعلی وارد هاست شده و در File Manager به مسیر public_html/wp-content/themes مراجعه کنید. سپس پوشه قالبی که در حال استفاده از آن هستید را انتخاب کرده و روی اون راست کلیک کنید. گزینه Rename را انتخاب کرده و در پنجره باز شده نام دلخواهی برای پوشه قالب انتخاب نموده و ذخیره کنید. در این صورت قالب غیرفعال شده و یکی از قالب‌های پیشفرض وردپرس به عنوان قالب سایت فعال خواهد شد. سپس میتونید سایت را بررسی کنید و ببینید که آیا همچنان خطای ۵۰۰ در سایت نمایش داده میشه یا خیر!

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

 

دقت داشته باشید که در این روش حتما باید یکی از قالب‌های پیشفرض وردپرس در سایت وجود داشته باشند. پس اگر پوشه‌ای به جز پوشه قالب در این مسیر از هاست وجود نداره، قبل از انجام اینکار به آدرس fa.wordpress.org مراجعه کنید. سپس از داخل فایل zip دانلود شده به مسیر wp-content/themes مراجعه کرده و یکی از پوشه‌ها را در هاست آپلود کنید.

 

 

خرابی فایل های وردپرس

ممکن هست فایل های اصلی هسته وردپرس شما خراب شده باشد. قبل از اعمال تغییرات حتما از اطلاعات بکآپ تهیه نمائید، سپس آخرین نسخه وردپرس را از وبسایت رسمی آن دانلود کرده و پوشه wp-content و فایل wp-config.php را از فایل دانلودی حذف کرده و سایر پوشه‌ها و فایل‌های موجود را با پوشه و فایل موجود در هاست خود تعویض کنید.

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

 

در صورت هر گونه سوال یا پیشنهاد در بخش نظرات با ما در ارتباط باشید، باعث خرسندی ماست که بتوانیم در حل مشکلات خدمتی ارائه دهیم.

نوشته رفع خطا Internal Server Error 500 اولین بار در ایران سرور پدیدار شد.

گردآوری توسط ایده طلایی

چرا از ASP .NET Core استفاده کنیم؟

مایکروسافت با توجه به نابودی Silverlight و عدم توان رقابت با IOS  و اندروید به این نتیجه رسید که در بستر برنامه نویسی ویندوز موبایل نمی تواند موفقیت آنچنانی داشته باشد، سیستمهای تحت ویندوز یا همان Windows Application ها نیز آنچنان پر رونق نیستند. پس تنها صحنه رقابت برای ماکروسافت بستر وب است .  Startup ها نیز به بستر های Open Source و ارزان نیاز دارند.

حتما خبرهایی مانند “open source شدن دات نت” و “قابلیت اجرا بر روی غیر ویندوز مثل لینوکس”  را شنیده اید.

مایکروسافت جهت رفع مشکلات اعلام شده Asp .Net Core را وارد بازار رقابت کرده است. .Net Core کاملا cross-platform طراحی شده به شکلی که در ویندوز ، لینوکس و مک قابل استفاده بوده و همچنین برای دستگاهای مختلف ، فضاهای ابری و سناریوهای مرتبط با اینترنت اشیاء کاربرد دارد.

ASP.NET Core ، بازنویسی کامل از  ASP.NET است. ویندوز هنوز هم سیستم عاملی برتر به حساب می آید ولی برنامه های وب نه تنها روز به روز از کاربرد و اهمیت بیشتری برخوردار می‌شوند بلکه باید بر روی سکوهای دیگری مانند فضای ابری هم بتوانند میزبانیشوند. مایکروسافت با معرفی ASP.NET Core گستره کارکرد NET. را افزایش داده است . به این معنی که می‌توان برنامه‌های کاربردی ASP.NET Core را بر روی بازه‌ی گسترده ای از محیط‌های مختلف میزبانی کرد هم‌اکنون می‌توانید پروژه های وب را برای Linux یا macOS هم تولید کنید.

 

تفاوت‌های .Net Core و .Net framework

. NET Framework فقط برای سرویس‌های ویندوزی مورد استفاده قرار می‌گیرد. پروژه‌های Xamarin و Mono برای آوردن .NET به دستگاه‌های تلفن همراه،  macOS و لینوکس کار کرده‌اند .

.Net Core کتابخانه‌های استاندارد را که بر اساس ویندوز، لینوکس، دستگاه‌های تلفن همراه (Xamarin) و  macOS هستند، تأمین می‌کند.

همان طور که ‌می‌توانید در عکس زیر مشاهده کنید، مایکروسافت هر دو زمان اجرا را برای ساخت برنامه‌های کاربردی با دات نت  را اداره ‌می‌کند و بسیاری از API‌های مشابه را به اشتراک ‌می‌گذارند. این API مشترک ، .NET Standard نامیده ‌می‌شوند.

 هنوز تعداد زیادی از کتابخانه‌های Full framework به NET Core. انتقال پیدا نکرده‌اند

توسعه‌دهندگان از NET Framework. برای ساخت نرم افزارهای ویندوزی و سرور استفاده می‌کنند که شامل برنامه‌های ASP.NET هم می‌شود. NET Core. برای ساخت برنامه‌های سروری (Server Applications) مورد استفاده قرار می‌گیرد که امکان اجرا برروی ویندوز، لینوکس و مک را دارند. در حال حاضر NET Core. از ساخت اپلیکیشن‌های دسکتاپی که دارای رابط کاربری هستند، پشتیبانی نمی‌کند. توسعه‌دهندگان می‌توانند نرم‌افزارها و کتابخانه‌های خود را برای هرکدام از این runtimeها در #C یا VB.NET یا #F بنویسند.

 

برخی از ویژگی  های  .Net Core

NET CORE.  و برنامه های اجرا شده در این پلتفرم بسیار سبک و کم حجم میباشند.

Cross Platform میباشد:  شما با NET CORE. به معنای کامل میتوانید بصورت یکپارچه در تمامی سیستم عامل ها و دیوایس ها پروژه خود را پیاده  سازی کنید.

سازگاری : به لطف استفاده از کتابخانه استاندارد .Net ،.Net Core توانایی سازگاری با .Net Framework ، Xamarin و Mono را داراست.

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

توسعه راحت و سریع: .Net Core  باعث شده است پروژه ها و استارت آپ های زیاد به جهت راحتی در تیم برنامه نویسی این پلتفرم را انتخاب کنند.

پشتیبانی از Github و نیوگت برای برنامه های اوپن سورس

هزینه های پایینتر: از دیگر مشکلات برنامه های ویندوزی هزینه نگهداری و منابع مورد نیاز آنها بود. با کاهش محسوس حجم برنامه ها و منابع مورد نیاز میتواند یکی دیگر از بهترین مزیت های NET CORE. را هزینه نگهداری پایین آن درنظر گرفت.

متن باز بودن (Open source) : پلتفرم .Net Core کاملا متن باز بوده و از لایسنسهای MIT و Apache 2 استفاده می کند.

ابزارهای Command-line : پشتیبانی از خط فرمان بسیار قدرتمند برای نصب بسته های پیش نیاز، تمامی محصولات مشتق شده از سناریوهای مختلف قابل استفاده و ویرایش و اجرا به صورت خط فرمان هستند.

با این تغییرات ASP.NET میتواند دوباره به مدار باز گردد .

با این ویژگی ها ASP.NET با دیگر محیطها و زبانهای توسعه وب در یک سطح خواهد بود، علاوه بر اینکه زبان قدرتمند C#.NET همچنان هسته اصلی توسعه باقی خواهد ماند و این یک برتری بسیار بزرگ نسبت به دیگر زبانها  می باشد.

 

 NET Core. از اجزای زیر تشکیل شده است:

یک .NET runtime که یک نوع سیستم را ارائه می‌دهد، assembly loading، جمع‌کننده اضافات، تبادل کننده داخلی اطلاعات و دیگر سرویس‌های پایه‌ای.

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

تعدادی ابزار SDK و کامپایلر زبان که تجربه توسعه پایه‌ای را که در NET Core SDK. در دسترس است، فعال می‌کند.

اپلیکیشن میزان dotnet که به منظور اجرای اپلیکیشن‌های NET Core. مورد استفاده قرار می‌گیرد. این اپ، runtime را انتخاب و میزبانی کرده و حریم شحصی و اجرای اپلیکیشن‌ها را ارائه می‌دهد.

چه موقع از NET Core. استفاده نکنیم؟

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

  1.  در مواقع توسعه‌ی نرم‌افزار بر پایه‌ی«Windows Forms» و «WPF»

این دو هنوز پشتیبانی نمی‌شوند. هنوز هم برای ساخت یک اپلیکیشن NET. برای Mac باید از مونو استفاده کنید.

  1.  در مواقع استفاده ازNET Webforms

مایکروسافت برنامه‌ای برای منتقل کردن آن به ASP.NET Core ندارد.

  1. در مواقعی که نیاز به ساخت یک «WCF Service» دارید

NET Core. در حال حاضر از WCF پشتیبانی نمی‌کند. به جای آن باید یک «REST API» به کمک «ASP.NET Core MVC» بسازید.

  1. در مواقعی که امکاناتی می‌خواهید که مختص NET Framework. است

برخی از امکانات NET Framework. هنوز در NET Core. وجود ندارد. برای مثال، «Entity Framework Core» با «Entity Framework v6» متفاوت است.

  1.  در مواقعی که نیاز به استفاده از APIهای مختص ویندوز دارید

اگر نرم‌افزار شما نیاز دارد تا با رجیستری ویندوز، WMI یا سایر APIهای مخصوص ویندوز کار کند، امکان نوشتن آن با NET Core. را ندارید. NET Core. به گونه‌ای طراحی شده است که محیط بسته‌تر و دور از سیستم‌عامل داشته باشد.

ویژگی های asp.net core  نسبت به asp.net mvc

ASP.NET Core در مقایسه با MVC ، ساده‌تر شده و برخلاف آن هیچ ارتباطی با پروژه های Web Form ندارد و از آنجا که بر پایه NET Core. بنا شده ایجاد پروژه های وب  را در محیط های مختلف و سیستم عامل های گوناگون ساپورت می کند.

اضافه شدن برخی ویژگی های جدید و یا بهبود امکانات و ویژگی های قبلی مانند Tag Handler , Madular , dl, lo C و بازنویسی کلاس ها و کتابخانه های موجود در asp.net mvc  در جهت بهبود آن ها از سایر مزیت های ASP .NET Core نسبت به mvc می باشد.

نصب .net core

از اینجا می توانید .net core را دانلود نموده و مراحل نصب آن در سرور را انجام دهید.

نظر شما در مورد NET Core. چیست؟

نوشته چرا از ASP .NET Core استفاده کنیم؟ اولین بار در ایران سرور پدیدار شد.

گردآوری توسط ایده طلایی

نوشتن اولین api با فریم ورک express در Node.js به همراه آموزش mongodb با متد mvc قسمت اول

اول از همه نیاز داریم تا مواردی که در زیر عنوان شده است رو نصب کنیم:

نصب Visual Studio Code: برای نصب کافیست از این لینک برنامه را دانلود کنید و نصب را کامل انجام بدهید.

ادیتور Vscode یکی از بهترین ادیتور ها برای نوشتن کد های جاوا اسکریپتی که من به شما پیشنهاد می دم هم اینکه اکستنشن های فراوانی داره و کار رو راحت می کنه براتون و هم اینکه بسیار سبک است و مهمتر از همه این موارد این است که Open Source هست.

نصب node.js: برای نصب اول باید به این لینک رفته و آخرین نسخه را دریافت و نصب نماییم.

نصب mongodb: اول به سایت mongodb.com بروید و طبق مراحل تصویری زیر کار را ادامه دهید.

وارد سایت شده و بر روی دکمه Get MongoDB کلیک کنید.
در مرحله بعد از بخش Tools گزینه Compass را انتخاب کنید تا GUI دیتابیس را نصب کنیم.
حالا با انتخاب نسخه و مورد نیاز جهت دانلود و سیستم عاملی که قرار است بر روی آن نصب شود عملیات دانلود را آغاز میکنیم.

پس از دانلود مراحل نصب را از طریق داکیومنت خود mongodb ادامه دهید.

نصب express: برای نصب اول باید ترمینال ادیتور خودتو رو باز کنید و با دستورات CMD به پوشه مورد نیاز جهت نصب بروید و یا ادیتور را در مسیری که پروژه قرار است فعال شود باز کنید. در ترمینال ابتدا با package.json را ایجاد کنیم برای این کار و برای اینکه سریعتر کار را به اتمام برسانیم از دستور زیر استفاده می کنیم.

npm init --y 

or

npm init --f

بعد از این که نصب رو انجام دادیم با وارد کردن دستور زیر در ترمینال express را نصب میکنیم.

npm install express

البته در زمانی که شما قصد نصب یک پکیج رو دارید می توانید به جای استفاده از کلمه install از مخفف آن یعنی i استفاده کنید

نصب middleware: برای تکمیل کار و همچنین استفاده بهتر از express ما نیاز داریم یکسری پکیج های اضافه نیز نصب کنید برای این منظور دستور زیر را در ترمینال وارد کنید.

npm install mongoose nodemon body-parser cors 

شما با نصب پکیج mongoose امکان اتصال node.js را با دیتابیس mongodb را دارید همچنین برای اجرای بلادرنگ کد بر روی سرور (با هر تغییر در کد شما بلافاصله می توانید خروجی را مشاهده کنید) از nodemon استفاده میکنیم دو مورد دیگر هم در ادامه توضیح خواهم داد.

اگر فایل package.json را باز کنید مشاهده خواهید کرد در بخش dependencies مواردی که در بالا نصب کرده ایم در این بخش قرار گرفته است.

تکمیل نصب dependencies

برا نوشتن کد ها باید یک فایل جدید با نام index.js ایجاد کنید و در داخل آن کد های زیر را وارد نمایید.

برای تست نصب و راه اندازی express کد زیر را ابتدا جهت معرفی express و راه اندازی آن اضافه میکنیم.

const express = require('express');
const app = express();

بعد از افزودن کد بالا نیاز داریم تا سرور را راه اندازی و اجرا کنیم برای این کار با استفاده از دستور listen باید سرور را راه اندازی کنیم، کد زیر را در ادامه فایل index.js اضافه کنید.

app.listen(3000 , () => {
 console.log(`Server running at Port 3000`)
});

حالا برای اجرا کافی است در ترمینال خود دستور nodemon index.js را وارد نمایید تا استارت سرور آغاز شود.

به جای nodemon میتوانید از پیش فرض خود node.js یعنی node index.js استفاده کنید.

پس از اجرا با دستور nodemon index.js

سرور ما شروع به کار کرد بر روی پورت ۳۰۰۰ ولی هنوز امکان مشاهده بر روی مرورگر را نداریم.

نکته: میتوانیم برای استفاده راحت تر و سریع تر از nodemon کد زیر را در بخش scripts فایل package.json به جای test اضافه کنیم و با دستور npm run start سرور را راه اندازی کنیم.

"start": "nodemon index.js"

همانند تصویر زیر:

خروجی با استفاده از دستور npm run start

ادامه دارد…


نوشته نوشتن اولین api با فریم ورک express در Node.js به همراه آموزش mongodb با متد mvc قسمت اول اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

شبکه توزیع محتوا (CDN) چیست و دلایل استفاده از CDN در وب سایت

” اگر من CDN برای سایتم بگیرم باز هم نیازه هاست بخرم؟” وقتی چنین سوالاتی مدام از ما پرسیده میشه به این نتیجه می رسیم که بسیاری از تازه کارها هنوز درک درستی از CDN ندارند. بخشی از این ابهام به ما برمی گرده که شاید هیچوقت به طور واضح در مورد CDN صحبتی نکردیم. هربار درمورد آن نوشتیم، مفاهیم پایه را نادیده گرفتیم. حالا قصد داریم در این مقاله توضیح بدیم که CDN چیست و چرا به استفاده از CDN برای بلاگ وردپرس خودتون نیاز دارید .
در همین ابتدا برای واضحتر شدن بهتره بگم، CDN چیزیست که علاوه بر هاست از آن استفاده می کنید چون کمک زیادی به افزایش سرعت سایت می کند. CDN جایگزین هاست نیست! با وجود داشتن CDN باز هم شما به یک ارائه دهنده هاست  نیاز خواهید داشت.

درخواست های زیادی از ما میشه برای یک آموزش دقیق و با جزئیات با هدف افزایش سرعت سایت های وردپرس. برای همین قصد داریم مفهوم CDN را روشن تر بیان کنیم. CDN مخفف Content Delivery Network به معنی شبکه توزیع محتواست. یعنی شبکه ای از سرور ها، محتوای استاتیک وب سایت ها را کش می کنند و مطابق موقعیت جغرافیایی کاربر این محتوا را به کاربر تحویل می دهند. گیج کنندست نه؟ بیاید به زبان ساده تر در موردش صحبت کنیم.

معمولا وقتی یک کاربر از سایت وردپرس شما دیدن می کند، به وب سروری که سایت خود را در آن هاست کردید هدایت می شود ( مثلا HostGator). فرض کنیم وب سرور میزبان شما در مرکز شهر Houston,TX قرار گرفته است. بنابراین همه کاربران برای مشاهده وب سایت به همین یک سرور مراجعه می کنند. حالا تصور کنید سایت شما ترافیک بالایی داشته باشد. چه اتفاقی می افتد؟ سایت شما باعث می شود بار زیادی به سرور تحمیل شود که در نتیجه سرعت لود شدن سایت کند می شود و حتی سرور کرش می کند( از کار می افتد). اینجاست که اهمیت وجود CDN به چشم میاد. چون نه تنها CDN به جای یک سرور چندین سرور فراهم می کند بلکه این سرور ها در سراسر جهان گستره هستند. وقتی از CDN استفاده می کنید محتوای استاتیک سایتتان کش شده و در تمامی این سرورها ذخیره می شود. شاید بپرسید محتوای استاتیک سایت شامل چه چیزهاییست؟ تصاویر، فایل های CSS که مربوط به قالب سایت هستند، جاوا اسکریپت ها، فلش و غیره. حالا اگر یک بازدید کننده به سایت شما بیاید( سرور اصلی) فن آوری CDN او را به نزدیک ترین سرور موقعیت مکانیش هدایت می کند.
مثال می زنم، اگر سرور اصلی که سایت رو روی اون هاست کردید در Houston,TX باشد و شخصی از Durham انگلیس به سایت مراجعه کند، به نزدیکترین سرور که احتمالا در لندن خواهد بود هدایت می شود. امتیاز استفاده از CDN فقط افزایش سرعت بارگزاری سایت نیست بلکه تعداد هک هایی که هنگام انتقال فایل های استاتیک به کاربر نهایی اتفاق می افتد را نیز کاهش می دهد.
نزدیکی کاربر به وب سرور تاثیر به سزایی در سرعت لود سایت دارد. با مستقر کردن محتوای سایتتان روی چندین سرور پراکنده در جهان، باعث می شوید سایت از موقعیت کاربر سریعتر لود شود.اینجاست که CDN به کمکتان می آید. به زبان ساده تر هرچقدر سرور CDN به کاربر شما نزدیکتر باشد، محتوا سریعتر لود می شود.

CDN مخفف Content Delivery Network به معنی شبکه توزیع محتواست.

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

محتوای استاتیک وب سایت ها را کش می کند و بر اساس موقعیت جغرافیایی کاربر، موقعیت سرور حاوی محتوای اصلی و سرور CDN این محتوا را به کاربر نمایش می دهد

 

شبکه توزیع محتوا (CDN) چیست

 

چرا برای بلاگ وردپرس خود به CDN نیاز دارید؟

 

مزایای استفاده از CDN:

سرعت:

به محض شروع استفاده از CDN سایت سریعتر خواهد شد.

جلوگیری از کرش کردن:

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

بهبود تجربه کاربر:

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

بهبود SEO:

گوگل به وضوح اعلام کرده که سایت های سریعتر رنک بالاتری در موتور های جستجو دارند.

ما روی سایت خودمون از cloudflare استفاده می کنیم که واقعا عالیست.

در مورد نحوه ثبت نام و آشنائی با cloudflare لینک آموزش و آشنایی با سرویس کلودفلر را لطفا مطالعه کنید.

 

برگرفته از [wpbeginner.com]

 

نوشته شبکه توزیع محتوا (CDN) چیست و دلایل استفاده از CDN در وب سایت اولین بار در ایران سرور پدیدار شد.

گردآوری توسط ایده طلایی

مثال های کاربردی ریدایرکت در htaccess

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

 

ریدایرکت  http به https

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

ریدایرکت https با (www   (https://www به بدون  www

RewriteEngine On

RewriteCond %{HTTPS} off [OR]

RewriteCond %{HTTP_HOST} ^www. [NC]

RewriteRule ^ https://okex.ir%{REQUEST_URI} [L,NE,R=301]

 

ریدایرکت آدرس سایت بدون www به آدرس با www

RewriteEngine on

RewriteCond %{HTTP_HOST} ^example.com [NC]

RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

بجای عبارت example.com که نام دامنه میباشد باید ادرس دامنه خودتان را وارد کنید.

 

ریدایرکت آدرس سایت با www به آدرس بدون www

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.example.com [NC]

RewriteRule ^(.*)$ http://example.com/$1 [L,R=301,NC]

بجای عبارت example.com که نام دامنه میباشد باید ادرس دامنه خودتان را وارد کنید.

 

ریدایرکت http به  https  بجز یک دایرکتوری یا  فولدر



RewriteCond %{HTTPS} on

RewriteRule ^%{HTTP_HOST}/demo(.*) http://%{HTTP_HOST}/demo/$1 [R=301,L]

RewriteRule ^index.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

در مثال بالا نام دایرکتوری مورد نظر را جایگزین  demo کنید.

ریدایرکت فقط یک پوشه از سایت بر بستر https

RewriteEngine On

RewriteCond %{SERVER_PORT} 80

RewriteCond %{REQUEST_URI} folder

RewriteRule ^(.*)$ https://www.example.com/folder/$1 [R,L]

در این مثال بایستی folder را با نام پوشه مورد نظر جایگزین نموده و بجای www.example.com نام دامنه مورد نظر را درج کنید.

 

ریدایرکت ساب دامنه بر روی دامنه اصلی

#Options +FollowSymlinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^sub.domain.com$ [OR]

RewriteCond %{HTTP_HOST} ^www.sub.domain.com$

RewriteRule (.*)$ http://domain.com/$۱ [R=301,L]

 

ریدایرکت یک فایل در   htaccess

RedirectMatch 301 /oldurl  /newurl

 

ریدایرکت تمامی آدرس های یک دامنه به یک آدرس خاص

RedirectMatch 301 / /newurl

ریدایرکت از نوع موقت (۳۰۲)

Redirect 302 / http://domain.com/

 

ریدایرکت دامنه قدیمی به دامنه جدید

RewriteEngine on

RewriteCond %{HTTP_HOST} ^ domain.ir [NC,OR]

RewriteCond %{HTTP_HOST} ^www.domain.ir [NC]

RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301,NC]

نام دامنه قدیمی را جایگزین domain.ir و نام دامنه جدید را جایگزین  domain.com کنید.

 

ریدایرکت یک صفحه به صفحه دیگر

Redirect /old-index.html http://www.mynewwebsite.com/foldername/new-index.html

 

ریدایرکت دامنه پارک شده به ساب دامنه

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_HOST} ^(www.)?parkdomain.com$ [NC]

RewriteRule ^(.*)$ http://maindomain/subdomain [L]

نام دامنه پارک شده را جایگزی parkdomain.com و بجای maindomain/subdomain  آدرس ساب دامنه مورد نظر را درج کنید.

 

ریدایرکت دامنه اصلی به ساب دامنه

Options +SymLinksIfOwnerMatch

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ [NC]

RewriteRule ^http://sub.domain.com[R,L]

بجای domain و .com نام دامنه و پسوند آن را درج نموده و بجای  sub.domain.com نام ساب دامنه مورد نظر را درج کنید.

 

ریدایرکت webmail

با کد زیر می توانید webmail.domian.com را به domain.com/webmail ریدایرکت کنید.

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_HOST} ^(www.)?webmail.domain.com/$ [NC]

RewriteRule ^(.*)$ http:// domain.com/webmail/ [L]

نام دامنه مورد نظر را جایگزین domain.com نمائید.

 

ریدایرکت ساب دامنه به ip با پورت

RewriteEngine on

RewriteCond %{HTTP_HOST} ^subsonic.mydomain.com$ [NC]

RewriteRule ^(.*)$ http://ip:4040/$1 [R=301]

 

ریدایرکت کردن کل ترافیک سرور بر روی https

RewriteEngine On

RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

با قرار دادن این کد ها کل ترافیک هاست به https://www.example.com ریدایرکت می شود.

 

ریدایرکت یک پسوند خاص صفحات سایت به پسوند دیگر

 RedirectMatch 301 (.*).html$ http://domain.com$1.php

با این کد، صفحاتی نظیر http://domain.com/Page.html به http://domain.com/Page.php ریدایرکت ۳۰۱ می شود.

 

 

نوشته مثال های کاربردی ریدایرکت در htaccess اولین بار در ایران سرور پدیدار شد.

گردآوری توسط ایده طلایی

htaccess چیست و چه کاربردی دارد؟

 htaccess چیست؟

.htaccess یک فایل با محیط متنی می‌باشد که جهت پیکربندی پوشه‌های مختلف در  بعضی از وب سرورها از جمله آپاچی به کار می‌رود. بسیاری از کارهایی که نیاز به کدنویسی‌های پیشرفته دارند، تنها با نوشتن یک خط کد در این فایل ممکن می‌گردند.

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

فایل htaccess کجاست ؟ نحوه دسترسی به htaccess  چگونه است؟

این فایل بصورت معمول در  دایرکتوری public_html هاست وجود دارد. در اغلب  سیستم های مدیریت محتوا مثل وردپرس و دروپال این فایل بصورت خودکار ایجاد می شود.

در صورتیکه کنترل پنل  هاست شما  cpanel می باشد، این کنترل پنل بصورت پیش فرض فایل های مخفی را نمایش نمی دهد، بنابراین جهت نمایش فایل های مخفی بصورت زیر اقدام نمائید:

در پوشه Fle Manager در گوشه بالا سمت راست صفحه بر روی دکمه Settings کلیک کنید تا پنجره پاپ آپ مربوط به تنظیمات فایل منیجر نمایش داده شود.

در پنجره پاپ آپ باز شده تیک گزینه Show Hidden Files را بزنید و روی save کلیک کنید.

با این تغییر پس از ذخیره می‌توانید وارد پوشه  public_html شوید و فایل htaccess را مشاهده نمایید . در پوشه Home نیز سایر پوشه های مخفی نظیر Trash که فایل های حذف شده در آن قرار دارد قابل مشاهده خواهد بود .

 

معرفی سایت جهت ساخت htaccess

شما از طریق سایت htaccesseditor.com بسادگی می توانید با توجه به کاربرد مورد نظرتان کدی که لازم است در htaccess درج کنید را تولید نموده و در فایل htaccess سایت خود اضافه کنید.

 

کاربرد های htaccess

این فایل که معمولا با نصب CMSهای معروف و Open Source مانند WordPress، Joomla و Drupal به صورت خودکار در مسیر اصلی اسکریپت ایجاد و محتوا سازی می شود، عهده‌دار وظایف مهمی نظیر موارد زیر می‌باشد:

 

تغییر عنوان و فرمت فایل اصلی index

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

DirectoryIndex file.php file.htm

 

جلوگیری از سرقت فایلهای و فولدرهای درون هاست

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

Options All -Indexes

 

محدودیت دسترسی با ip های خاص در  htaccess

در برخی مواقع مثل بازدیدهای غیر واقعی که درخواست های زیادی از یک یا رنجی از ip به سایت شما  ارسال می شوند و باعث کاهش سرعت لود سایت شما می گردند و یا مسدود کردن ip اسپمرها می توانید Ip های مورد نظر را از طریق فایل  htaccess محدود کنید.

deny from 1.2.3.4

allow from all

بجای ۱٫۲٫۳٫۴  نیاز است  ip  یا رنج ip مورد نظر را اضاف کنید.

همچنین برای امنیت مدیریت سایت شما نیز می توانید در مسیر  مدیریت سایت بعنوان مثال در وردپرس در مسیر wp-admin  یک فایل .htaccess ایجاد نموده و دسترسی کلیه Ip ها بغیر از ip استاتیک خودتان را محدود کنید بدین شکل تنها از سیستم شما به مسیر مدیریت سایت دسترسی وجود خواهد داشت.

deny from all

allow from 1.2.3.4

بجای ۱٫۲٫۳٫۴  نیاز است  ip  یا رنج ip مورد نظر را اضاف کنید.

 

افزایش امنیت فایل در htaccess (ایجاد محدودیت در دسترسی به فایل)

جهت عدم دسترسی سایرین به برخی از فایل های مهم سایت مثل فایل های کانفیگ کد زیر را در htaccess درج کنید:



order allow,deny

deny from all

بجای wp-config.php نیاز است نام فایل مورد نظر را درج نمائید.

 

مخفی کردن لیست دایرکتوری ها

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

جهت جلوگیری از این مشکل کد زیر را در htaccess درج کنید:

Options –Indexes

 

کش شدن سایت بر روی مرورگر با کد  htaccess

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

کد زیر را در انتهای فایل htaccess قرار دهید:

# Enables browser caching



ExpiresActive On

ExpiresByType image/jpg "access 1 year"

ExpiresByType image/jpeg "access 1 year"

ExpiresByType image/gif "access 1 year"

ExpiresByType image/png "access 1 year"

ExpiresByType text/css "access 1 month"

ExpiresByType application/pdf "access 1 month"

ExpiresByType text/x-javascript "access 1 month"

ExpiresByType application/x-shockwave-flash "access 1 month"

ExpiresByType image/x-icon "access 1 year"

ExpiresDefault "access 2 days"

 

محدود کردن نوع فایلهای قابل اجرا و نمایش

برای حفظ امنیت و اطلاعات سایت می‌توانید پسوند فایل‌هایی که بتوان اجرا کرد رو تعیین کنید :

Options +FollowSymlinks

RewriteEngine On

rewritecond %{REQUEST_FILENAME} !^(.+).css$

rewritecond %{REQUEST_FILENAME} !^(.+).js$

rewritecond %{REQUEST_FILENAME} !file.php$

RewriteRule ^(.+)$ /deny/ [nc]

 

اضافه کردن mime-type از طریق htaccess

حذف پرسش سرور پیرامون اینکه فایل را باز می نمایید و یا دانلود می کنید. براحتی فایل مورد نظر را download  نمایید.

AddType application/octet-stream .pdf

AddType application/octet-stream .zip

AddType application/octet-stream .mov

 

فعال کردن  gzip

شما از طریق htaccess می توانید gzip-compression  را فعال نموده و این تغییر در افزایش سرعت سایت موثر می باشد، جهت کسب اطلاعات بیشتر در این زمینه مقاله gzip-compression را مطالعه نمائید، در این مقاله کدهای مختلف فعالسازی برای سیستم های مدیریت محتوا و وب سرور های گوناگون ذکر شده است.

 

ایجاد محدودیت در آپلود فایل

از طریق کد زیر می توانید حداکثر حجم فایل قابل آپلود رو ۲۰ مگابایت تنظیم کنید.

php_value upload_max_filesize 20M

 

ایجاد محدودیت در حجم پست ارسالی

از طریق کد زیر می توانید حداکثر حجم هر پست رو ۲ مگابایت مشخص کنید.

php_value post_max_size 2M

 

تنظیم محدودیت حافظه memory_limit

از طریق کد زیر می توانید میزان محدودیت حافظه را مشخص کنید.

php_value memory_limit 128M

 

تعریف ریدایرکت در htaccess

یکی از پر کاربردترین موارد در htaccess امکان تعریف ریدایرکت و فوروارد است. شما می توانید از طریق درج کد در این فایل سایت یا لینک های مختلف آن را به آدرس دیگری هدایت کنید، یا مشخص کنید سایت با http  به  https و یا با www به بدون www ریدایرکت شود.

در مقاله مثال های کاربردی ریدایرکت در htaccess می توانید برخی از پر کاربردترین کد های ریدایرکت را مشاهده کنید.

ریدایرکت از طریق Htaccess

بعنوان مثال از طریق کد زیر می توانید http را به https ریدایرکت کنید:

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

تغییر صفحه پیش فرض

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

#Alternate default index pages

DirectoryIndex first.html index.htm index.html index.php

 

ایجاد صفحات پیش فرض خطا

ایجاد صفحه خطای اختصاصی به این معناست که مثلا لحظه‌ای وبسایت شما با یکی از خطاهای رایج HTTP که در بالا در مورد برخی از آن‌ها صحبت شد، مواجه می‌شود؛ برای مثال فایل یا صفحه‌ای وجود ندارد و بازدید کننده با وارد کردن آدرسی که در سرور و وبسایت شما وجود ندارد با خطای ۴۰۴ مواجه می‌شود. حال ممکن است او معنی این خطا را نداند و یا حتی اگر بداند باز دچار سردرگمی شود و از بازدید وبسایت شما منصرف شود. در این شرایط چنانچه ما از پیش صفحه‌ای ساخته باشیم تا بازدیدکننده به جای مواجهه با خطای ۴۰۴، وارد صفحه‌ای شود که به درستی به او این پیغام را دهد که «فایل مورد نظر وجود ندارد؛ ممکن است این فایل به دلیلی حذف و یا جابه‌جایی آن به مسیر دیگر روی داده باشد»، این گونه بازدیدکننده حس بهتری نسبت به آن خطا پیدا می‌کند.

ErrorDocument 401 /error_pages/401.html
ErrorDocument 404 /error_pages/404.html
ErrorDocument 500 /error_pages/500.html

 

نحوه جلوگیری از عمل Hotlink در فایل  .htaccess (جلوگیری از استفاده تصاویر سایت در سایت های دیگر)

Hotlink Protection  باعث می‌گردد از کپی شدن اطلاعات شما در وبسایت‌های دیگر جلوگیری شود برای مثال چنانچه تصویری در یک دایرکتوری از سرویس میزبانی شما وجود دارد، از نمایش آن تصویر در وبسایت‌های دیگر جلوگیری به عمل می‌آید و همچنین چنانچه فایلی قابلیت دانلود با لینک مستقیم با استفاده از وبسایت شما را دارد و لینک مذکور در وبسایتی دیگر کپی گردیده باشد، کاربران آن وبسایت با کلیک بر روی لینک مذکور ابتدا به آدرس وبسایت شما ارجاع داده می‌شوند.  این امر باعث افزایش ترافیک و لود سایت شما می شود. در این صورت پهنای باند شما در حالی به پایان می رسد که بازدیدها از سایت شما صورت نگرفته است.

با استفاده از htaccess مانع از استفاده ی مطالب خود در سایر وب سایت ها می شوید مخصوصا استفاده از تصاویر وب سایت شما.

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

دستورالعمل جلوگیری از استفاده از مطالب برای فایل ها با فرمت های ‘GIF’ ، ‘ JPG’ و ‘CSS’ که باید در فایل htaccess قرار بگیرد در زیر آمده است:

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http://(www.)?yourdomain.com/.*$ [NC]

RewriteRule .(gif|jpg|css)$ - [F]

‘yourdomain.com’ با آدرس وب سایت جایگزین میشود.

 

مسدود کردن حملات XSS

هدف از حمله XSS، تزریق کدهای مخرب برای اجرا در صفحات وبی که به کاربرانشان اعتماد کرده اند(اگر بخواهیم خوش بین باشیم) است. این کدها مانند کدهایی که از سمت سرور به سمت کلاینت میرسند، اجرا خواهند شد و میتوانند به همه اطلاعاتی که کاربر میتواند دسترسی داشته باشد، دسترسی پیدا کنند مانند کوکی، Session و … .

# Blocks some XSS attacks



RewriteCond %{QUERY_STRING} (|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]

RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})

RewriteRule .* index.php [F,L]

 

اعمال رمز عبور برای دایرکتوری‌(Password Protection)

با اعمال چند خط کد ساده در فایل htaccess. می‌توان دسترسی به دایرکتوری‌ها را با تعریف نام‌ کاربری و رمز عبور در فایلهای htpasswd. کنترل نمود.

 

محتویات htaccess پیشفرض در وردپرس

بصورت پیش فرض فایل Htaccess وردپرس شامل کد زیر می باشد،  در صورتیکه این فایل وجود نداشته باشد یا این کد از htaccess حذف شود صفحات داخلی سایت شما باز نخواهد شد و با ارور ۴۰۴ مواجه می گردد.

# BEGIN WordPress



RewriteEngine On

RewriteBase /

RewriteRule ^index.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]



# END WordPress

 

حفاظت از htaccess. از دسترسی غیر مجاز

همانطور که مشاهده کردید، کارهای زیادی وجود دارد که می توانید با استفاده از فایل htaccess. انجام دهید.  با توجه به قدرت و کنترل آن بر روی وب سرور شما مهم است که این فایل را از دسترسی غیرمجاز توسط هکرها محافظت کنید. جهت حفاظت از این فایل به سادگی کد زیر را در فایل htaccess. خود اضافه کنید:



order allow,deny

deny from all

 

 

 

نوشته htaccess چیست و چه کاربردی دارد؟ اولین بار در ایران سرور پدیدار شد.

گردآوری توسط ایده طلایی