alirezach

۹ هک و ترفند کاربردی htaccess برای وردپرس

2 پست در این موضوع قرار دارد

اکثر کاربران

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

get-most-out-of-htaccess.jpg

شروع کنید

قبل از هر کاری از فایل .htaccess خود بکاپ بگیرید. برای اینکار میتوانید مستقیم به سرور سایتتان وارد شوید و یا با نرم افزارهای مدیریت FTP نظیر Filezilla و Cute FTP به سرور وصل شده و فایل .htaccess دانلود کنید. در صورتی که سایت تان درست کار نکرد، فایل تان پشتیبان تان را آپلود کنید.

اگر فایل .htaccess را ندیدید، از تنظیمات سایت یا FTP تیک مشاهده فایل‌های مخفی (Show Hidden Files) را بگذارید.

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

.htaccess

۱- بخش مدیریت وردپرس تان را ایمن کنید.

شما می‌توانید با استفاده از تنظیماتی ساده در .htaccess بخش مدیریت

وردپرس تان را برای IP‌های خاصی محدود کنید. با این کار اجازه دسترسی به هکرها نمی‌دهید. کار سختی ندارید. کد زیر را به فایل .htaccess اضافه کنید؛

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# whitelist AlirezaCH's IP address
allow from xx.xx.xx.xxx
# whitelist alireza's IP address
allow from xx.xx.xx.xxx
# whitelist Esmaeil's IP address
allow from xx.xx.xx.xxx
# whitelist Works's IP address
allow from xx.xx.xx.xxx
# whitelist Works2 IP address
allow from xx.xx.xx.xxx
</LIMIT>

به جای xx.xx.xx.xxx آی پی خودتان را وارد کنید. و در صورتی که از چندین آی پی استفاده می‌کنید، مثل کدهای بالا از آن استفاده کنید.

password-protect-admin.png

۲- بخش مدیریت پسورد را با رمز ایمن کنید.

برای شروع باید .htpasswds بسازید. با استفاده از این

ژنراتور به راحتی می‌توانید یکی بسازید.

فایل .htpasswds را در هر شاخه ای که مایلید پسورد بگذارید. مثلاً شاخه اصلی /public_html/ و یا /wp-admin/ آپلود کنید.

home/user/.htpasswds/public_html/wp-admin/passwd/

الان نیاز به ساخت .htaccess دارید، کد زیر را به آن اضافه کنید؛

<span lang="fa">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></span>

نکته: فراموش نکنید که آدرس شاخه ای .htpasswds را آپلود کردید را جلوی AuthUserFile وارد کنید و نام کاربری تون هم خط پنجم اضافه کنید.

فایل .htaccess را در شاخه wp-admin آپلود کنید. الان شاخه admin

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

directory-browsing.png

۳- غیرفعال کردن مشاهده زیرشاخه‌ها (دایرکتوری)

یکی از پیشنهادات مهم امنیتی

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

برای فعال کردن این گزینه، کد زیر را به فایل .htaccess اضافه کنید.

Options -Indexes

۴-اجرای PHP را در بعضی از شاخه‌ها غیرفعال کنید.

در بعضی از موارد، هک شدن سایت‌ها به خاطر فایل‌های بک دور (backdoor) اتفاق افتاده است. فاین فایل‌ها در هسته

وردپرس مخفی می‌شوند و در شاخه‌هایی نظیر /wp-includes/ و /wp-content/uploads/ جای می‌گیرند. ساده ترین راه حل برای جلوگیری از اجرا بک دورها، غیرفعال کردن PHP در بعضی از شاخه‌ها هست.

برای حل این مشکل فایل .htaccess بسازید، کد زیر را به آن اضافه کنید؛

<Files *.php>
deny from all
</Files>

تمام شد. فایل ساخته شده را در شاخه‌های /wp-includes/ و /wp-content/uploads/ آپلود کنید.

۵- از فایل wp-config.php حفاظت کنید.

شاید مهم ترین فایل در شاخه اصلی

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

<files wp-config.php>
order allow,deny
deny from all
</files>

۶- تنظیمات انتقال ۳۰۱ صفحات در .htaccess

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

اما اینجا راه حلی سریع را برای شما آماده کرده ایم. کدهای زیر را با تغییراتی که دوست دارید به فایل .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>

آی پی موردنظرتان را به جای xx.xx.xx.xx بنویسید.

۸- دزدیدن تصاویر (Image Hotlinking) را غیرفعال کنید.

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


#disable hotlinking of images with forbidden or custom image option
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?1freeman.net [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?feeds2.feedburner.com/1freeman [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]

۹- از .htaccess در برابر دسترسی‌های غیرمجاز حفاظت کنید.

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

<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

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

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

0

به اشتراک گذاری این پست


لینک به پست

چون همه این ها در انجمن موجود هست بایگانی میشود

مثال:

و....

0

به اشتراک گذاری این پست


لینک به پست
مهمان
این موضوع برای عدم ارسال قفل گردیده است.

  • مطالب مشابه

    • توسط gust
      سلام دوستان من یه مشکلی دارم قالب Entrada نصب شده و الان میخوام افزونه اضافه کنم یا ویرایش کنم با اینکه ادمینم امکانش نیست دسترسی به هاستم دارم منتهی اونجام چیزی پیدا نکردم لطفا راهنماییم کنید
    • توسط nima-kian
      سلام دوستان مدتی هست که داخل هاست سایت بنده فایل error_log حجم خیلی زیادی اشغال میکنه. php_flag log_errors Off این کد رو اضافه کردم فعلا مشکل حل شده
      فایل .htaccess رو دیدم یکسری کد بهش اضافه شده میتونید راهنمایی کنید که این کد ها چه کاری رو انجام میدن؟

      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteRule ^\/(homodyne)([0-9]+)-([0-9]+)\/$ ?homodyne$2=$3&%{QUERY_STRING}[L]
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      </IfModule>
      # END WordPress
      # BEGIN Compress text files
      <ifModule mod_deflate.c>
      <filesMatch "\.(css|js|x?html?|php|woff|ttf|png|jpg|gif)$">
      SetOutputFilter DEFLATE
      </filesMatch>
      </ifModule>
      # END Compress text files
      # Set Expires headers
      ExpiresActive On
      ExpiresDefault "access plus 1 years"
      ExpiresByType text/html "access plus 1 second"
      ExpiresByType image/gif "access plus 2592000 seconds"
      ExpiresByType image/jpeg "access plus 2592000 seconds"
      ExpiresByType image/jpg "access plus 2592000 seconds"
      ExpiresByType image/png "access plus 2592000 seconds"
      ExpiresByType image/x-icon "access plus 2592000 seconds"
      ExpiresByType text/css "access plus 604800 seconds"
      ExpiresByType text/javascript "access plus 604800 seconds"
      ExpiresByType application/x-javascript "access plus 604800 seconds"
      php_value upload_max_filesize 64M
      php_value post_max_size 64M
      php_value max_execution_time 300
      php_value max_input_time 300
    • توسط amirmt
      سلام سایت من چند وقتیه مورده حمله قرار گرفته و وقتی میخوام وارد سایت بشم به سایت های خارجی لینک میشه. اینترنت و زیر رو کردم یه سایت گیرم اوردم به ادرس sucuri.net سایتم رو دادم چک کنه و یه لیست از فایل هایی که مشکل داره رو گفت گه یه اسکرین ازش پیوند کردم. اکثره فایل ها هم jquery هستش که به مشکل خورده کسی میتونه کمکم کنه تا این کد ها ترمیم بشه یا حداقل راهنماییم کنه؟؟
      ادرس وب سایته خودم: unick.ir

    • توسط Sitecheckup
      سلام
      وب سایت وردپرسی من بعد از مدتی هک شده و بعضی اوقات به یک ادرس دیگه ریدایرکت میشه و وقتی توی سرچ کنسول فچ میکنم میزنه که ریدایرکت شده به فلان آدرس
      حالا میخام بدونم که این مشکل رو چجوری میتونم حل کنم و بدونم دستور ریدایرکت کدوم قسمت قرار گرفته
      ممنون
    • توسط Mohammaddaw
      سلام خسته نباشید 
      من یک سایت دارم تازه برام ساختنش یعنی تقریبا یک ماهی ازش میگذره با لبتاب کار میکنم با سایتم مشکلی نداره ی بار با گوشی خودم تو گوگل سرچ کردم زدم رو سایت نوشته این سایت خصوصی نیست امکان برداشتن پسورد و رمز ... اینا هسته 
      بعد با یکی دیگه گوشی سرچ کردم همینو نوشته بود ولی با لبتابم خوبه 
      مشکل چیه ؟
      اگ میشه کمکم کنید