چرا فایل htaccess وجود دارد؟
فایل htaccess. یک فایل پیکربندی در سطح دایرکتوری است که توسط چندین وب سرور مانند آپاچی پشتیبانی میشود و برای پیکربندی دسترسی به سایت استفاده میشود و به شما کمک میکند تا ویژگیهای وبسایت مانند ورود، محافظت از رمز عبور، فهرست پوشهها، ساختار پیوند، تغییر مسیر صفحه و … را تنظیم نمایید.
- تغییر مسیرهای صفحه
تغییر مسیر صفحه به این اشاره دارد که بازدیدکننده وب سایت به طور خودکار از یک سند به سند دیگر در دامنه شما برود. این برای زمانی که صفحاتی را برای انتشار یک مسیر جدید مانند “/cars/” به “/vehicles/” به روز می کنید بسیار مفید است. مشتریان شما ممکن است از صفحات قدیمی یا خراب در “/cars/” بازدید کنند که دیگر وجود ندارند و باید به لیست های فعلی شما در “/vehicles/” هدایت شوند. برای اجرای موفقیت آمیز این تغییر مسیرها می توانید از کد زیر استفاده کنید:
Redirect /cars/ https://www.yourdomain.com/vehicles/
با اجرای کد بالا در فایل htaccess. هر بار که بازدیدکننده صفحه “/cars/” را درخواست می کند، به “/vehicles/” هدایت می شود. این باعث صرفه جویی در زمان بازدیدکنندگان و موتورهای جستجو در مرور وب سایت شما می شود.
- مشاهده دایرکتوری را غیرفعال کنید
غیرفعال کردن مشاهده دایرکتوری مورد نظر لایه دیگری از امنیت را به وب سایت وردپرس شما اضافه می کند. این به جلوگیری از مشاهده دایرکتوری، آرشیو یا فایل های تصویری شما توسط دیگران در فهرستی کمک می کند که ممکن است برای یافتن نقطه ضعفی در امنیت سایت شما استفاده شود. در حالی که پنهان کردن فهرستهای دایرکتوری ممکن است پایانی برای جلوگیری از نقضهای امنیتی نباشد، اما قطعاً به جلوگیری از کسانی که ممکن است بخواهند به وبسایت شما نفوذ کنند با دشوارتر کردن آن کمک میکند. برای جلوگیری از مشاهده دایرکتوری ها می توانید کد زیر را در فایل htaccess. خود پیاده سازی کنید:
*IndexIgnore
و برای مشاهده نشدن فایل های خاص نیز از دستور زیر استفاده می شود
IndexIgnore *.zip *jpg *.gif
اکثر کارشناسان امنیت وردپرس توصیه می کنند که این خطوط کد را به فایل htaccess. خود اضافه کنید.
3.
ایجاد صفحات خطا
همه ما تجربه خطا روی یک صفحه را داشته ایم تا متوجه شویم که به درستی بارگیری نمی شود. این کدها به عنوان کدهای خطا شناخته می شوند و شامل موارد زیر می شوند:
400: Bad Request
401: Authorization Required
403: Forbidden
404: File Not Found
500: Internal Server Error
این خطاها ممکن است باعث شود که بازدیدکننده وب سایت و موتورهای جستجوی شما را ترک کنند. با این حال، می توانید با داشتن صفحات خطای مفید، تعامل بازدیدکنندگان و دید سازمانی را حفظ کنید.
در این مثال از رایج ترین کدهای خطای 404 استفاده خواهیم کرد: فایل یافت نشد و 500: خطای داخلی سرور.
شما باید با ایجاد صفحات خطا که منحصربهفردهستند، به ترتیب در www.yourdomain.com/filenotfound.html و www.yourdomain.com/internalservererror.html شروع کنید. با ایجاد این صفحات می توانید کد زیر را به فایل .htaccess خود اضافه کنید تا بازدیدکنندگان در صورت مواجه شدن با خطا به آنجا بیایند:
ErrorDocument 404 /filenotfound.html
ErrorDocument 500 /internalservererror.html
4.
حجم آپلود فایل PHP را افزایش دهید
به عنوان مدیر وب سایت ممکن است هنگام آپلود یک فایل بزرگ با خطا مواجه شوید. این شامل پیامهایی در وردپرس میشود، مانند “warning post content-length of bytes exceeds the limit” یا “exceeds the maximum upload size for this site“.
این پیغام ها احتمالاً از تنظیمات سرور میزبان شما ناشی میشود و میتواند با کد زیر در فایل htaccess شما بهروزرسانی شود:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
این کد علاوه بر اجازه دادن به فایلهای بزرگتر، زمان اجرای اختصاص داده شده را افزایش میدهد تا اطمینان حاصل شود که آپلود شما در وردپرس به پایان نمیرسد.
5.
دسترسی XML-RPC را غیرفعال کنید
فایل های XML-RPC به طور پیش فرض در هر وب سایت وردپرسی نصب می شوند. این فایلها به وبسایت شما اجازه میدهند تا از برنامهها یا افزونههای شخص ثالث مانند Google Analytics برای وردپرس استفاده کند. برنامه های شخص ثالث روشی متداول برای هکرها هستند که هنگام نفوذ به یک وب سایت از آن استفاده می کنند.
شما می توانید این تابع را از وب سایت وردپرس خود با کد زیر در فایل htaccess خود حذف کنید:
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
این به تنظیمات سایت شما بستگی دارد، اما قالب وردپرس شما ممکن است یک برنامه یا افزونه شخص ثالث در نظر گرفته شود. به این ترتیب، توصیه میکنیم با توسعهدهنده، فروشنده تم خود تأیید کنید و یک فایل پشتیبان htaccess را ذخیره کنید تا در صورت نیاز آن را بازیابی کنید.
6.
غیرفعال کردن اجرای PHP در فهرستهای مدیا
به طور کلی، هکرهایی که سعی در به خطر انداختن وب سایت شما دارند، سعی می کنند این کار را با نصب یک فایل Backdoor مبتنی بر php در جایی عمیق در ساختار دایرکتوری شما انجام دهند. این امر تشخیص و حذف آن را دشوار می کند.
شما می توانید با اجرای کد زیر در فایل htaccess دایرکتوری هایی که نباید فایل php در آن اجرا شود مانند دایرکتوری رسانه /wp-content/uploads/ در آن ها وجود داشته باشد، از اجرای فایل های هکر جلوگیری کنید.
<files *.php>
deny from all
</files>
کد بالا از اجرای اسکریپتهای PHP توسط تمامی فایلهای غیرمجاز جلوگیری میکند و بنابراین امنیت سایت شما را تضمین میکند.
7.
کش مرورگر را فعال کنید
بازدیدکنندگان انتظار دارند اطلاعات آنها فورا لود شود. حافظه پنهان مرورگر سرعت صفحه را افزایش می دهد زیرا تصاویر رایج مانند آرم شرکت در درایو محلی مصرف کننده شما ذخیره می شود. این به مصرف کننده اجازه می دهد تا از صفحه ای به صفحه دیگر بدون نیاز به بارگیری مجدد موارد رایج استفاده کند. با استفاده از کد زیر می توانید کش سمت کاربر را تنظیم نمایید:
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”
تاریخ انقضا در کد بالا به مدت زمانی که مصرف کننده فایل های خاصی را در درایو محلی خود ذخیره می کند اشاره دارد. توصیه می شود یک فایل تصویری برای یک سال و اکثر عناصر وب دیگر برای یک ماه ذخیره شود. همچنین باید توجه داشته باشید که یک بازدیدکننده ممکن است فایل های موقت خود را با پاک کردن حافظه پنهان در مرورگر وب خود حذف کند.
8.
فشرده سازی HTTP را فعال کنید
ما اشاره کرده ایم که بازدیدکنندگان نیاز دارند اطلاعات خود را سریع مشاهده کنند. همانطور که در اینجا اعلام شده است، گوگل حتی زمان بارگذاری را بخشی از الگوریتم جستجوی ارگانیک خود قرار داده است. خوشبختانه میتوانید از این ترفند برای فشردهسازی فایلها در اندازههای کوچکتر استفاده کنید و در نهایت صفحات خود را سریعتر بارگذاری کنید. این کدی است که باید پیاده سازی شود:
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript application/javascript
</ifmodule>
مثال بالا مختص فشرده سازی GZIP است و به ماژول mod_deflate آپاچی برای وب سایت شما نیاز دارد.