آیا شما هم به دنبال ترفند های مفید برای فایل htaccess. وردپرس خود هستید؟
فایل htaccess. یکی از قدرتمند ترین فایل های پیکربندی شده وردپرس است که به کاربر این امکان را می دهد تا بتواند کار های جالب و کاربردی را بر روی وب سایت و وردپرس خود انجام دهد.
در ادامه این مطلب از روکسو، ما چند ترفند مفید که می توان بر روی htaccess. پیاده کرد را جمع آوری کرده و به شما معرفی خواهیم کرد.
فایل htaccess. یک فایل سرور پیکربندی شده است و این امکان را به شما می دهد تا بتوانید قوانینی را برای سرور های خود تعریف کنید که چگونه وردپرس و سایت را اجرا کنند.
وردپرس با استفاده از فایل htaccess. برای ساخت آدرس های سئو فرندلی (SEO Friendly) استفاده می کند و با این حال، کار های خیلی بیشتر و کاربردی ترین می توان با استفاده از این فایل انجام داد.
فایل htaccess. در ریشه هاست سایت وجود دارد و برای ویرایش آن، باید به کنترل پنل هاست خود یا به یک سرور FTP هاست خود متصل شوید.
دقت کنید، قبل از ویرایش فایل htaccess. حتما باید یک نسخه کپی به عنوان بکاپ از آن در کامپیوتر خود تهیه کنید تا در صورت بوجود آمدن مشکلات، آن را داشته باشید و تنظیمات را مثل قبل کنید.
با این حال، بیایید نگاهی به ترفند های مفید فایل htaccess. بیندازیم.
شما می توانید از فایل htaccess. برای حفاظت از منطقه و پنل مدیریت وردپرس سایت خود استفاده کنید. روش کار به این گونه است که با قرار دادن کد زیر، می توانید یک محدودیت آی پی برای دسترسی به پنل مدیریت وردپرس قرار دهید. محدودیت به گونه ای خواهد بود که تنها یک یا چند آی پی مشخص شده اجازه دسترسی به پنل مدیریت وردپرس را دارند.
خیلی راحت کد زیر را در فایل htaccess. برای انجام این فرایند قرار دهید:
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "WordPress Admin Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all # whitelist Syed's IP address allow from xx.xx.xx.xxx # whitelist David's IP address allow from xx.xx.xx.xxx </LIMIT>
فراموش نکنید که بجای مقدار های "xx.xx.xx.xxx" آی پی اصلی خود را قرار دهید. اگر می خواهید بیش از یک آی پی مشخص کنید، خیلی راحت می توانید دو خط زیر را به کد خود اضافه کنید:
# whitelist Syed's IP address
allow from xx.xx.xx.xxx
اگر به سایت وردپرسی خود از نقاط مختلف از جمله اینترنت های عمومی دسترسی می خواهید داشته باشید، پس مسلماً روش اول بدردتان نمی خورد!
با این روش، شما می توانید یک پسورد به عنوان پسورد اضافی برای منطقه مدیریت وردپرس خود قرار دهید. زمانی که یک کاربر قصد ورود به منطقه مدیریت وردپرس یعنی "wp-admin" را داشته باشد، با انجام این روش، می توانید یک پسورد اضافه قرار دهید و مانند تصویر بالا از آن ها بخواهید که پسورد و یوزرنیم را وارد کند.
برای انجام این فرایند، نیاز دارید تا یک فایل htpasswds. تولید کنید. برای تولید این فایل می توانید از این منبع استفاده کنید.
سپس فایل htpasswds. ساخته شده را در دایرکتوری هاست سایت خود به صورت آدرس زیر قرار دهید:
/home/user/.htpasswds/public_html/wp-admin/passwd/
سپس یک فایل htaccess. ایجاد کرده و آن را در پوشه "wp-admin" در دایرکتوری هاست سایت خود قرار دهید و کد زیر را به آن اضافه کنید:
AuthName "Admins Only" AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd AuthGroupFile /dev/null AuthType basic require user putyourusernamehere <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files>
فراموش نکنید که در قسمت AuthUserFile آدرس فایل htpasswds. را وارد کنید و نام کاربری خود را نیز قرار دهید.
بسیاری از کارشناسان وردپرس پیشنهاد می کنند تا صاحبان سایت های وردپرسی، ویژگی Directory Browsing را از سایت خود حذف کنند و به طور کلی آن را غیرفعال سازند.
هنگامی که قابلیت Directory Browsing برای سایت فعال باشد، هکر ها می توانند فایل های سایت را به صورت Index مشاهده کنند.
برای جلوگیری از این کار، خیلی راحت می توانید کد زیر را در فایل htaccess. سایت وردپرسی خود قرار دهید:
Options -Indexes
گاهی اوقات، هکر ها وب سایت ها را میشکنند و وارد آن ها می شوند و فایل هایی به نام Backdoors ها را در دایرکتوری های سایت ایجاد می کنند. این Backdoors ها به عنوان هسته وردپرس اجرا می شوند و برای وب سایت بسیار مخرب خواهند بود.
برای تقویت امنیت وردپرس و جلوگیری از انجام این فرایند، خیلی راحت می توانید یک فایل htaccess. را در کامپیوتر خود بسازید و کد زیر را در آن قرار دهید:
<Files *.php> deny from all </Files>
فایل را ذخیره کنید و آن را در دایرکتوری هاست سایت خود یعنی در "wp-admin" ، "wp-uploads" و "wp-includes" کپی کنید.
کاملاً مشخص است که مهم ترین فایل در هاست سایت، فایل wp-config.php است که تمامی اطلاعات شامل اطلاعات پایگاه داده، اطلاعات مربوط به ورود وردپرس و... است.
برای حفاظت از این فایل و مسدود سازی دسترسی های غیرمجاز، خیلی راحت کد زیر را در فایل htaccess. سایت خود قرار دهید:
<files wp-config.php> order allow,deny deny from all </files>
یکی از قابلیت هایی که در سئو سایت بسیار موثر است و در واقع به کاربران سایت می گوید که آدرس های قدیمی به آدرس های جدید منتقل شده اند، استفاده از قابلیت 301 Redirects است.
زمانی که قابلیت 301 Redirects را در سایت خود فعال می کنید، نیاز دارید تا آدرس های خود را در آن مشخص کنید که می توانید با جستجو در اینترنت، از نحوه مشخص کردن آدرس های قدیمی به آدرس های جدید، مطلع شوید.
از سوی دیگر، برای فعال سازی سریع این قابلیت، به سادگی می توانید کد زیر را در فایل htaccess. سایت خود قرار دهید:
Redirect 301 /oldurl/ http://www.example.com/newurl Redirect 301 /category/television/ http://www.example.com/category/tv/
اگر شما هم در سایت خود، یک آی پی مشکوکی را مشاهده می کنید که در سایتتان درخواست های عجیب و غریبی انجام می دهد، به راحتی می توانید آن آی پی را مسدود کنید.
برای انجام این فرایند، کد زیر را در فایل htaccess. سایت خود قرار دهید:
<Limit GET POST> order allow,deny deny from xxx.xxx.xx.x allow from all </Limit>
فراموش نکنید که بجای مقدار "xxx.xxx.xx.x" آی پی مورد نظر جهت مسدود سازی را وارد کنید.
همانطور که می دانید، قابلیت hotlinking به کاربران سایت این اجازه را می دهد تا بتوانند تصاویر مورد نظر خود را از سایت های دیگر در سایت شما قرار دهند. وردپرس قابلیتی در خود دارد که در واقع به کاربر اجازه می دهد با وارد کردن آدرس تصویر از سایتی دیگر، آن تصویر را در سایت شما نمایش دهد.
با این کار، ممکن است پهنای باند سایت شما در معرض خطر قرار گیرد و سرعت سایتتان ضعیف شود. برای جلوگیری از انجام این کار، به راحتی کد زیر را در فایل htaccess. سایت خود قرار دهید:
#disable hotlinking of images with forbidden or custom image option RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?roxo.ir [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]
کد بالا درواقع اجازه میدهد تا تصاویری که تنها از آدرس های "roxo.ir" و "google.com" وارد می شوند، نمایش داده شوند. شما می توانید آدرس سایت خود را بجای "roxo.ir" قرار دهید یا می توانید آدرس google.com را حذف کنید.
همانطور که می دانید، فایل htaccess. در سایت، قابلیت های بسیار زیادی را در اختیار کاربر قرار می دهد تا بتواند هر کاری را که می خواهد، بر روی سایت انجام دهد. با این حال، هکر ها می توانند با دسترسی به فایل htaccess. کار های بسیار زیادی را بر روی سایت نیز انجام دهند.
برای محافظت از این فایل از دسترسی های غیرمجاز، به سادگی می توانید کد زیر را در فایل htaccess. قرار دهید:
<files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>
همانطور که می دانید، زمانی که یک کاربر می خواهد در وردپرس، فایلی را آپلود کند، با محدودیت حجمی برخوردار می شود. به عنوان مثال، در یک سایت وردپرسی، محدودیت حجم برای آپلود 32 مگابایت است، به این معنیست که کاربر تنها می تواند فایل های 32 مگابایتی و کمتر را آپلود کند.
با این حال، ممکن است برخی کاربران بخواهند این محدودیت حجمی را تغییر دهند. برای افزایش یا کاهش این محدودیت حجمی، به راحتی می توانید کد زیر را در فایل 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
در این کد، ما محدودیت حجمی را 64 مگابایت در نظر گرفتیم که شما می توانید آن را به دلخواه خود تغییر دهید.
زمانی که یک سایت وردپرسی نصب می شود، با یک فایلی به نام XML-RPC همراه است. این فایل در واقع به برنامه های "third-party" اجازه می دهد تا بتوانند به سایت وردپرسی شما متصل شوند.
اکثر کارشناسان وردپرس پیشنهاد می کنند که اگر از برنامه های "third-party" برای سایت وردپرسی خود استفاده نمی کنید، بهتر است کد زیر را در فایل htaccess. سایت خود نیز قرار دهید:
# Block WordPress xmlrpc.php requests <Files xmlrpc.php> order deny,allow deny from all </Files>
یک تکنیک حرفه ای که معمولا هکر ها از آن برای بدست آوردن پسورد های سایت های وردپرسی استفاده می کنند، استفاده از اسکن نویسنده است که این اسکن، برای چند نام کاربری انجام می شود و در آخر، هکر ها می توانند پسورد های نام های کاربری را کرک کنند و آن ها را هک کنند.
با این حال، می توانید با قرار دادن کد زیر در فایل htaccess. ، اسکن هایی از جمله این اسکن ها را در سایت غیرفعال کنید:
# BEGIN block author scans RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} (author=\d+) [NC] RewriteRule .* - [F] # END block author scans
خب دوستان مطلب بنده همینجا به پایان می رسه، امیدوارم که استفاده های لازم رو از مطلب کرده باشید. اگر هرگونه سوال، مشکل یا انتقادی در رابطه با این مطلب داشتید خیلی راحت می توانید آن را در بخش نظرات مطرح کنید 🙂
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.