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

سئو

..فایل htaccess چیست؟چه کاربرد هایی دارد؟..
سئو

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

سرتیترهای مقاله :

htaccess  چیست؟

مخفف “دسترسی به متن” است. نام برگرفته از کاربرد اصلی ابزار است که برای کنترل دسترسی کاربر به فایلهای خاص به صورت جداگانه در هر فهرست بوده است.

پرونده .htaccess یک پرونده پیکربندی است که نحوه پاسخگویی وب سرور به درخواست های مختلف را کنترل می کند.

این سرویس توسط چندین وب سرور از جمله وب سرور معروف آپاچی مورد استفاده قرار میگیرد و توسط اکثر ارائه دهندگان میزبانی وب قرار می گیرد.

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

.htaccessچه کاربرد هایی دارد؟

 

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

همانطور که میدانید تنظیمات در htaccess میتواند تاثیر به سزایی در سئو وب سایت شما داشته باشد.

قابلیت های این فایل بسیار گسترده است که در این متن به تعدادی از آن ها اشاره میکنیم:

  • کنترل ریدایرکت
  • کنترل دسترسی فیزیکی به فایلها و پوشه ها
  • کنترل نمایش خطاهای Apache
  • تنظیمات  URL Rewrite
  • مسدود کردن یک یا چند IP خاص یا یک رنج IP
  • گذاشت پسورد بر روی پوشه ای خاص
  • تنظیمات کش و Expire Date آن

اعمال برخی تغییرات در تنظیمات پیش فرض PHP، MySQL و Apache

  • جلوگیری از نمایش تمامی فایلها یا یک یا چند فایل با پسوندی خاص

اضافه نمودن یک MIME

  • معرفی یک Default Document در پوشه ای خاص
  • تنظیم Default Chars

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

 

از نظر تئوری ، هر پوشه (فهرست راهنما) روی سرور شما می تواند دارای یک پرونده باشد. این پوشه ای است که تمام محتوای وب سایت شما را در خود جای داده .

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

معمولاً  پرونده هایی که با نقطه شروع می شوند (.) پرونده های مخفی هستند.

در صورتیکه کنترل پنل  هاست شما  cpanel باشد، این کنترل پنل به صورت پیش فرض فایل های مخفی را نمایش نمی دهد، بدان معنی است که آنها به طور معمول قابل مشاهده نیستند.

اما رسیدن به آنها دشوار نیست.

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

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

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

با این تغییر پس از ذخیره می‌توانید وارد پوشه public_html شوید و فایل htaccess را مشاهده نمایید.

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

چگونه میتوان یک پرونده htaccess ایجاد کرد ؟ 

 

اول از همه ، اطمینان حاصل کنید که “نمایش پرونده های مخفی” (یا معادل آن) را روشن کرده اید ، تا مطمئن شوید که در واقع یکی از آنها را ندارید. اغلب ، پرونده های .htaccess بطور خودکار ایجاد می شوند ، بنابراین شما معمولاً یک مورد را خواهید داشت. اما همیشه اینطور نیست. اگر واقعاً پرونده htaccess را ندارید ، به راحتی می توانید آن را  ایجاد کنید:

* یک فایل جدید را در یک ویرایشگر متن ساده شروع کنید. * آن را با فرمت ASCII (نه UTF-8 یا هر چیز دیگری)به عنوان htaccess ذخیره کنید

* اطمینان حاصل کنید که htaccess.txt یا چیزی شبیه به آن نیست. پرونده باید فقط دارای نام .htaccess باشد که پسوند پرونده دیگری ندارد. * آن را از طریق FTP یا مدیر فایل مبتنی بر مرورگر خود در دایرکتوری مناسب بارگذاری کنید.

کد خطا چیست؟ 

 

هنگامی که یک درخواست به یک وب سرور ارائه می شود ، سعی می کند به آن درخواست پاسخ دهد ، معمولاً با ارائه یک سند (در مورد صفحات HTML) ، یا با دسترسی به یک برنامه و بازگشت بازده (در مورد سیستم های مدیریت محتوا و سایر برنامه های وب).

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

شما احتمالاً با خطای ۴۰۴ آشنا هستید ، که در صورت عدم یافتن سند در سرور ، برمی گردد

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

 

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

Htpasswd چیست؟

نام کاربری و کلمه عبور برای سیستم .htaccess در یک نام پرونده .htpasswd ذخیره می شوند.

هر یک در یک خط به شکل زیر ذخیره می شوند:

نام کاربری: رمزگذاری شده

مثلا: johnsmith: F418zSM0k6tGl

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

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

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

ایجاد نام کاربری و کلمه عبور در خط فرمان: 

 

می توانید مستقیماً از خط فرمان یا ترمینال SSH ، یک پرونده .htpasswd ایجاد کرده و هردو نام کاربری رمزعبور را به آن اضافه کنید. دستور رسیدگی به پرونده .htpasswd به سادگی htpasswd است. برای ایجاد یک فایل جدید .htpasswd جدید ، از دستور با گزینه -c (برای ایجاد) استفاده کنید ، سپس مسیر دایرکتوری را تایپ کنید (نه URL ، مسیر واقعی روی سرور). همچنین می توانید کاربرانی را که می خواهید اضافه کنید نیز درج کنید. > htpasswd -c /usr/local/etc/.htpasswd johnsmith این یک پرونده جدید .htpasswd در / / etc / فهرست ایجاد می کند ، و رکوردی را برای کاربر به نام johnsmith اضافه می کند.

از شما می خواهد با استفاده از رمزگذاری md5 ، پسوردی را نیز ذخیره کنید ، که ذخیره می شود. اگر قبلاً یک پرونده .htpasswd در محل مشخص شده وجود داشته باشد ، پرونده جدید ایجاد نمی شود – کاربر جدید به سادگی در پرونده موجود اضافه می شود. اگر ترجیح می دهید از الگوریتم hashing bcrypt استفاده کنید ، از گزینه -b استفاده کنید.

هش کردن رمز عبور بدون خط فرمان:

 

اگر با استفاده از خط فرمان یا ترمینال SSH احساس راحتی نمی کنید (یا به دلایلی به آن دسترسی ندارید) ، می توانید به سادگی یک فایل .htpasswd ایجاد کرده و با استفاده از ویرایشگر متن ساده آن را جمع کنید و آن را بارگذاری کنید. از طریق FTP یا مدیر پرونده

اما پس از آن باید رمزهای عبور خود را به نوعی رمزگذاری کنید ، زیرا فرمان htpasswd از آن مراقبت می کرد.

بسیاری از برنامه های رمزگذاری .htpasswd به صورت آنلاین در دسترس است.

مشکلات متداول .htaccess

 

نام گذاری نامناسب پرونده:  

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

.htaccess‌ یا بخشی از آن غیر فعال شده است:

برخی از ارائه دهندگان میزبانی مشترک به طور کلی .htaccess را غیرفعال می کنند. برخی دیگر این اجازه را می دهند ، اما برخی دستورالعمل ها را در استفاده از آنها محدود می کنند. به طور مشابه ، حتی در برنامه های VPS یا سرورهای اختصاصی خود ، ممکن است .htaccess غیرفعال شود. اگر به پرونده httpd.conf یا سایر تنظیمات سرور دسترسی دارید ، می توانید این مورد را خودتان بررسی کنید. اگر دستورالعمل AllowOverride None را پیدا کردید ، مقصر آن را پیدا کردید. آن را با AllowOverride All جایگزین کنید. اگر به پرونده httpd.conf خود دسترسی ندارید (زیرا به عنوان مثال در هاست اشتراکی هستید) ، ممکن است لازم باشد با پشتیبانی فنی شرکت میزبان خود تماس بگیرید و ببینید که آیا آنها می توانند آن را برای شما فعال کنند یا پیشنهادهایی را به شما ارائه دهند. به خاطر انجام آنچه می خواهید به روش دیگری انجام دهید.

دستورالعمل های متناقض یا محدود شده:

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

ریدایرکت

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

ریدایرکت ۳۰۱

اگر دامنه‌ای قدیمی دارید مثلا ( example.com) و اکنون قصد دارید از یک دامنه جدید، برای مثال ( example.net) برای وب‌سایت خود استفاده کنید می‌توانید با راه اندازی یک ریدایرکت ۳۰۱، وب‌سایت خود را به دامنه جدید منتتقل کنید. برای انجام این کار باید دستور زیر را در فایل htaccess. دامنه قدیمی وارد کنید:

 

RewriteEngine on RewriteCond %{HTTP_HOST} ^example.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ http://example.net/$1 [L,R=301,NC]

استفاده از نسخه www دار دامنه‌ی وب‌ سایت

یک موتور جستجو مانند گوگل، آدرس‌های example.com و www.example.com را به عنوان دو وب‌سایت مجزا شناسایی می‌کند. به همین دلیل متخصصان سئوی گوگل همیشه پیشنهاد می‌کنند که یکی از این نسخه‌ها را به عنوان آدرس اصلی و قابل نمایش برای موتورهای جستجو انتخاب کنید و با استفاده از ریدایرکت ۳۰۱ دیگر نسخه‌ها را نیز به این آدرس منتقل کنید.

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

 

RewriteEngine on RewriteCond %{HTTP_HOST} ^example.com [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

استفاده از نسخه‌ی بدون www دامنه‌ی سایت

خب، این مورد دقیقاً عکس مورد قبلی است. زمانی که می‌خواهید نسخه www.example.com خود را به نسخه‌ی بدون www منتقل کنید، باید کدهای زیر را در فایل htaccess خود وارد کنید:

RewriteEngine on RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ http://example.com/$1 [L,R=301,NC]

ریدایرکت کردن فایل‌های سرور با پسوند خاص

خب، اگر می‌خواهید تمامی فایل‌های سایت خود را که پسوندی خاص دارند را به دیگر پسوند‌ها تغییر دهید (برای مثال قصد دارید آدرس  example.com/file.php را به آدرس example.com/file.htm تغییر دهید)، باید کد زیر را در فایل htaccess. قرار دهید:

RewriteEngine On RewriteCond %{REQUEST_URI} .php$ RewriteRule ^(.*).php$ /$1.htm [R=301,L]


خب، این بود روش انجام ریدایرکت ۳۰۱ با استفاده از دستورات فایل htaccess . همانطور که گفتیم انجام ریدایرکت به این شکل کمی دشوار است. بنابراین اگر تسلط کافی بر روی سرور سایت خود ندارید، از دیگر روش‌ها استفاده نمایید.

ریدایرکت ۳۰۱ از طریق PHP

اگر از سیستم مدیریت محتوای وردپرس استفاده می‌کنید برای اجرای ریدایرکت ۳۰۱، دو راهکار دارید:

  • اعمال تغییرات بر روی کدهای هدینگ صفحه
  • استفاده از ابزار داخلی wp_redirect وردپرس برای انجام ریدایرکت

برای آنکه بتوانید از طریق کدهای PHP، ریدایرکت ۳۰۱ یا همان ریدایرکت دائم را اعمال کنید، باید کدهای زیر را در بالاترین قسمت محتوا قرار دهید (در بالاترین قسمت کدها، پیش از آنکه چیزی شروع شود):

<?php // Permanent 301 Redirect via PHP header("HTTP/1.1 301 Moved Permanently")  ; header("Location: http://www.example.com/a-new-destination"); exit(); ?>

و این اسنیپت در نهایت به یک خط کد زیر تبدیل می‌شود:

<?php header("Location: http://www.example.com/a-new-destination", true, 301); ?>

 


همچنین، اگر بخواهید با استفاده از ابزار wp_redirect که در داخل وردپرس قرار دارد، این کار را انجام دهید. کد شما به شکل زیر خواهد شد:

wp_redirect( "http://www.example.com/a-new-destination", 301 );


توجه داشته باشید اگر فراموش کنید عدد ۳۰۱ را در کد بالا وارد کنید، هم وردپرس و هم PHP ریدایرکت شما را به عنوان ریدایرکت ۳۰۲ خواهند شناخت. زمانی که این کد در صفحه قرار می‌گیرد، بازدیدکنندگان را به آدرس جدید شما منتقل می کند. تنها کافیست کد PHP بالا را در صفحه مورد نظر خود وارد نمایید و به جای http://www.example.com/a-new-destination ، آدرس صفحه خود را وارد کنید تا عملیات ریدایرکت ۳۰۱ کامل شود.

ریدایرکت ۳۰۱ از طریق ASP

شاید وب‌سایت شما به جای زبان PHP با زبان ASP نوشته شده باشد. در این صورت تکلیف چیست؟ برای انجام ریدایرکت از طریق ASP باید چه کاری انجام داد؟ خب، در این شرایط باید بدانید که همۀ مراحل دقیقاً مانند ریدایرکت با زبان PHP صورت می‌گیرد با این تفاوت که کدهای ریدایرکت ۳۰۱ در زبان ASP متفاوت است. برای این کار، کافیست کد زیر را در بالای کدهای صفحه خود وارد نمایید:

<%@ Language=VBScript %> <% Response.Status=”۳۰۱ Moved Permanently” Response.AddHeader “Location”,”http://www.new-url.com/” %>

ریدایرکت ۳۰۲

برای فهم ریدایرکت ۳۰۲، باید درک مناسبی از ریدایرکت ۳۰۱ نیز داشته باشیم.  در ریدایرکت ۳۰۱ یا همان( Permanent Redirect)  آدرس یک صفحه یا وب‌سایت را می‌توان برای همیشه به صفحه دیگری منتقل کرد. به این ترتیب افرادی که به آدرس قدیمی شما مراجعه می‌کنند، به‌طور خودکار به آدرس جدید منتقل می‌شونداین شیوه برای انتقال آدرس‌های داخلی وب‌سایت، حذف صفحات تکراری و بهبود سئو سایت کاربرد زیادی دارد. درنتیجه، با کمک ریدایرکت ۳۰۱ موتورهای جستجو، اصطلاحاً آدرس جدید را به جای آدرس قدیم ایندکس می‌کنند و تمام ترافیک، رتبه و ارزش آدرس قدیم را به آدرس جدید انتقال می‌دهند. پس از گذشت مدتی هم آدرس قدیمی از حافظه موتورهای جستجو حذف شده و ارزش و اعتبار خود را از دست می‌دهد.

چگونه ریدایرکت ۳۰۲ انجام دهیم؟

حال که با کاربرد و مفهوم ریدایرکت ۳۰۲ آشنا شدیم، وقت آن است که مراحل انجام آن را نیز یاد بگیریم. با این حال اگر به لحاظ فنی با سیستم مدیریت وب‌سایت آشنا نیستید، توصیه می‌کنیم پیش از انجام این کار با وب‌مستر خود مشورت کنید و با دادن آدرس‌های قدیم و جدید صفحات، ریدایرکت کردن را به او واگذار کنید.

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

وب‌سایت‌های بر روی سرور یونیکس یا آپاچی

  1. یک کپی از فایل htaccess. موجود در ریشه سایت خود تهیه کرده و آن را در پوشه Backup ذخیره کنید تا در صورت بروز خطا امکان بازیابی شرایط اولیه وجود داشته باشد.
  2. فایل .htaccess را با برنامه Notepad++)یک برنامه ادیتور متن رایگان) باز کرده و در پایین کدهای موجود با توجه به مثال زیر ریدایرکت را انجام دهید (به فاصله‌ها دقت کنید)
  3. redirect 302 /OldPage.html http://xyzname.com/NewPage.html
  1. فایل ویرایش شده را ذخیره و بر روی سرور وب‌سایت خود بارگذاری کنید و در انتها با مراجعه به آدرس قدیمی (xyzname.com/OldPag)

e.html از ریدایرکت صحیح به آدرس جدید (NewPage.html) اطمینان حاصل کنید.

وب‌سایت‌های بر روی سرورهای ویندوز

اگر از سرورهای ویندوز استفاده می‌کنید با کمال شرمندگی باید گفت که ریدایرکت ۳۰۲ در این حالت بسیار پردردسر است زیرا یک صفحه باید در آدرس قدیمی باقی بماند تا کاربران به آدرس جدید هدایت شوند. در هر حال، برای انجام ریدایرکت ۳۰۲ در این حالت می‌توان به روش زیر عمل کرد:

  1. یک صفحه در موقعیت آدرس قدیمی وب‌سایت قرار دهید (http://xyzname.com/OldPage.asp).
  2. اگر یک وب‌سایت ASP استاندارد را اجرا می‌کنید، کد زیر را در بالای تگ <html> یا <!DOCTYPE> کپی کنید:
<%@ Language=VBScript %> <% Response.Status=”۳۰۲ Found” Response.AddHeader “Location”,”http://xyzname.com  /NewPage.asp  ” %>
  1. همچنین اگر یک وب‌سایت Net. را اجرا می‌کنید، کد زیر را در بالای تگ <html> یا <!DOCTYPE> کپی کنید:
<script runat=”server”> private void Page_Load(object sender, System.EventArgs e) { Response.Status = “۳۰۲ Found”; Response.AddHeader(“Location”,”http://xyzname.com/NewPage.asp”); } </script>
  1. در انتها با مراجعه به آدرس قدیمی (xyzname.com/OldPage.html) از ریدایرکت صحیح به آدرس جدید (NewPage.html) اطمینان حاصل کنید.

نحوه تنظیمات فایل htaccess برای افزایش امنیت

۱-  جلوگیری از دسترسی به فایل های مهم

فایل wp-config.php برای اعمال کانفیگ بر روی وردپرس می باشد و مهم ترین اطلاعات سایت مانند اطلاعات دیتابیس سایت در آن قرار دارد و اگر شخصی به آن دسترسی پیدا بکند می تواند سایت شما را براحتی هک کند.

شما می توانید تنظیمات فایل htaccess را به گونه ای انجام دهید که این فایل و فایل های مهم دیگر مانند php.ini و نیز خود htaccess. از دسترس خارج شود.

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

<FilesMatch "^.*(error_log|wp-config\.php|php.ini|\.[hH][tT][aApP].*)$">     Order deny,allow     Deny from all     </FilesMatch> 

۲  تنظیمات فایل htaccess برای جلوگیری از دسترسی به فایل های PHP

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

RewriteCond %{REQUEST_URI} !^/wp-content/plugins/file/to/exclude\.php     RewriteCond %{REQUEST_URI} !^/wp-content/plugins/directory/to/exclude/     RewriteRule wp-content/plugins/(.*\.php)$ - [R=404,L]     RewriteCond %{REQUEST_URI} !^/wp-content/themes/file/to/exclude\.php     RewriteCond %{REQUEST_URI} !^/wp-content/themes/directory/to/exclude/     RewriteRule wp-content/themes/(.*\.php)$ - [R=404,L] 

۳-جلوگیری از اجرا شدن فایل های PHP

یکی از مکانهایی که هکرها برای آپلود بدافزارها از آن استفاده می کنند، فایل wp-content/uploads است. اگر هکر موفق به هک کردن سایت شما شود می توانید دسترسی او به فایل wp-content/uploads را ببندید و مانع از از اجرای کدهای بد در سایت خود شوید.

برای این کار کافی است قطعه کد زیر را به فایل htaccess. اضافه کنید:

<Directory "/var/www/wp-content/uploads/">     <Files "*.php">     Order Deny,Allow     Deny from All     </Files>     </Directory> 

۴-تنظیمات فایل htaccess برای غیرفعال کردن تزریق کدهای مخرب

از قطعه کد زیر برای جلوگیری از تزریق کدهای مخرب توسط هکرها در داخل فایل های PHP موجود خود استفاده کنید.

Options +FollowSymLinks     RewriteEngine On     RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%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] 

۵- افزایش امنیت پوشه wp-includes

پوشه wp-includes محل فایل های هسته وردپرس است که هیچ کاربری نیازی به دسترسی به این پوشه ندارد. برای اینکه مطمئن شوید که این اتفاق نمی افتد، از قطعه کد زیر استفاده کنید.

Options +FollowSymLinks     RewriteEngine On     RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%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] 

۶-ایجاد محدودیت در دسترسی به بخش مدیریت وردپرس

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

ErrorDocument 401 default     ErrorDocument 403 default    <Files wp-login.php>     Order deny,allow     Deny from all     Allow from 198.101.159.98     </Files> 

۷-تنظیمات فایل htaccess برای قفل کردن بعضی از آدرسهای IP

به همین روش می توانید بعضی از آدرسهای IP که سعی دارند کارهای خرابکارانه در سایت شما انجام دهند را بلاک کنید. اگر متوجه چنین چیزی شدید (به عنوان مثال از لاگ های سرور) با اضافه کردن کد زیر به فایل htaccess. می توانید آنها را بلاک کنید. آدرسهای IP که در کد زیر به عنوان نمونه قرار داده شده است را با آدرس های مدنظر خودتان عوض کنید.

order allow,deny     deny from 456.123.8.9     allow from all 

۸- جلوگیری از نمایش پوشه ها (Directory Browsing)

به صورت پیش فرض همه بازدیدکنندگان می توانند پوشه های هر سایت وردپرسی را بررسی کرده و فایل های آن را مشاهده کنند. کافی است وارد آدرس your-site.com/wp-content/uploads شوند. لیست کاملی از فایل ها و پوشه های شما در آنجا قابل مشاهده است.

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

Options All -Indexes

 ۹-تنظیمات فایل htaccess برای افزایش امنیت پوشه wp-includes

پوشه wp-includes مکان قرارگیری فایل های مهم وردپرس است . با جلوگیری از دسترسی های غیرمجاز به این پوشه ، می توانید جلوی سو استفاده های احتمالی از محتویات آن را بگیرید .

برای افزایش امنیت پوشه wp-includes کافی است کد زیر را در فایل htaccess. قرار دهید .

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / Rew riteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule> 

۱۰-تنظیمات فایل htaccess برای جلوگیری از مشاهده اطلاعات کاربران با ID آنها

وقتی یک بازدیدکننده وارد آدرس your-site.com/?author=1 سایت شما شود ، به صفحه اطلاعات و نوشته های کاربری که دارای شناسه کاربری یا ID ۱ است منتقل می شود . این صفحه شامل نام کاربری است که کاربر با آی دی ۱ دارد .

بازدیدکننده با این روش به راحتی می تواند نام کاربری کلیه کاربرهای سایت شما را پیدا کند . این روش با عنوان username enumeration شناسایی می شود .

اگر هکر نام کاربری کاربران سایت را پیدا کند، تنها مورد دیگری که نیاز است پیدا کند، رمز عبور است .

با قرار دادن کد زیر در فایل htaccess. ، می توانید جلوی مشاهده اطلاعات کاربران با آی دی آن ها را بگیرید.

RewriteCond %{QUERY_STRING} author=d RewriteRule ^ /? [L,R=301] 

۱۱- الزامی کردن SSL

این موضوع که گوگل به وب سایت های امن رنکینگ بالاتری می دهد نشان دهنده اهمیت استفاده از گواهینامه SSL برای وب سایت ها است. داشتن گواهینامه SSL نه تنها رنکینگ سایت ها را افزایش می دهد بلکه نقش مهمی در تأمین امنیت وب سایت ها در برابر سرقت اطلاعات آنها ایفا می کند. برای کسب اطلاعات بیشتر درباره گواهی نامه SSL و چگونگی فعال کردن آن برای وب سایت وردپرسی خود به مقاله آموزش نصب SSL در وردپرس مراجعه کنید.

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

SSLOptions +StrictRequire SSLRequireSSL SSLRequire %{HTTP_HOST} eq "www.you-site.com" ErrorDocument 403 https://www.your-site.com 

۱۲-تنظیمات فایل htaccess برای جلوگیری از سرقت تصاویر (Image Hot Linking) در وردپرس

وقتی یک بازدیدکننده آدرس تصویر شما را کپی کرده و به جای آپلود آن در سایت خود ، از آن استفاده می کند در واقع از پهنای باند شما سوءاستفاده می نماید . به این حالت hot linking می گویند. برای جلوگیری از( Hotlinking سرقت تصاویر) در وردپرس راه های زیادی وجود دارد که یکی از آنها استفاده از فایل htaccess. است.

 کافی است کد زیر را در فایل htaccess. قرار دهید.

RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER}  !^http://(www.)?your-site.com/.*$ [NC] RewriteRule .(gif|jpg)$  http://www.your-site.com/hotlink.gif [ R,L] 

۱۳-جلوگیری ازسرقت فایل های زبان قالب ها و افزونه ها

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

<Files *.po> deny from all </Files> <Files *.mo> deny from all </Files> 

برای بهینه سازی سایت از طریق htaccess در همین مقاله توضیحاتی بعدا اضافه خواهم کرد ..

54
15 اردیبهشت 1399
..نظرات..
..مقالات پربازدید..
طراحی سایت

آموزش قرعه کشی در اینستاگرام

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

18812
24 فروردین 1398
طراحی سایت

bit.ly چیست ؟

بیتلی یا bitly یکی از شناخته‌شده‌ترین سرویس‌های کوتاه کننده لینک است. این سایت با نشانی https://bit.ly در سال ۲۰۰۸ تاسیس شد. یک کوتاه کننده‌ی لینک وظیفه دارد تا لینک‌های مورد نظر کاربران را به شکل کوتاه و قابل خواندن و نوشتن تبدیل کند. این سرویس در هر ماه حدود ۶۰۰ میلیون لینک کاربران را کوتاه می‌کند. علت استفاده از...

3928
27 آذر 1398
سئو

چگونه ویدیو کلاس های آنلاین (وبینار) را ضبط کنیم؟| آموزش ۳ روش

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

3767
08 اردیبهشت 1399