50 راهکار طلایی برای افزایش امنیت وردپرس
🛡️50 راهکار طلایی برای محافظت از سایت وردپرسی با میزبانی وب امن Orderhost
وردپرس به عنوان محبوبترین سیستم مدیریت محتوا در جهان، همواره هدف اصلی هکرها و رباتهای مخرب است.
اگرچه وردپرس به خودی خود امن است، اما بسیاری از حملات به دلیل بیتوجهی به اصول امنیتی رخ میدهند.
در این مقاله از بلاگ سایت Orderhost.net، به شما 50 راهکار طلایی برای افزایش امنیت وردپرس آموزش میدهیم تا وبسایتتان از هر نظر ایمن و پایدار بماند.
🔰 بخش اول: اصول پایه برای افزایش امنیت وردپرس
1. وردپرس را همیشه بهروز نگه دارید
بهروز رسانیها فقط برای افزودن امکانات جدید نیستند؛ آنها نقش مهمی در حفظ امنیت و پایداری سایت شما دارند. بسیاری از این آپدیتها شامل وصلههای امنیتی حیاتی هستند که از نفوذ و آسیبپذیریهای احتمالی جلوگیری میکنند.
2. افزونهها و قالبها را بهروز کنید
3. از رمز عبور قوی استفاده کنید
4. از نام کاربری پیشفرض «admin» استفاده نکنید
5. حسابهای غیرضروری را حذف کنید
اگر یک کاربر دیگر نیازی به دسترسی به سایت ندارد، حسابش را حذف یا غیرفعال کنید تا سطح حمله کاهش یابد و فضای نفوذ محدود شود.
نکات عملی (چکلیست سریع):
-
قبل از حذف: پشتیبان کامل بگیرید و در صورت نیاز، محتوای کاربر را به حساب دیگری منتقل کنید.
-
اگر میخواهید ردپای قبلی حفظ شود: حساب را غیرفعال یا نقشش را به Subscriber تغییر دهید بهجای حذف مستقیم.
-
هنگام حذف: گزینه انتقال مطالب را انتخاب کنید تا نوشتهها از بین نروند.
-
پس از حذف: همه نشستهای فعال (sessions) و توکنهای API مربوطه را باطل کنید.
-
بازبینی دسترسیها: لیستی از کاربران با دسترسیهای بالا تهیه کنید و دسترسیهای غیرضروری را حذف کنید.
-
ثبت و مانیتورینگ: لاگ ورود را بررسی و ثبت تغییرات را فعال کنید تا هر فعالیت مشکوکی سریع دیده شود.
🔒 بخش دوم: امنیت ورود و احراز هویت
6. فعال کردن ورود دو مرحلهای (Two-Factor Authentication)
7. محدود کردن تعداد تلاش برای ورود
8. تغییر آدرس صفحه ورود وردپرس
آدرس ورود پیشفرض (wp-login.php) را با افزونهای مثل WPS Hide Login تغییر دهید تا صفحه ورود قابل حدس برای هکرها نباشد و تلاشهای پیدا کردن صفحه ورود را بیاثر کنید.
چطور انجام بدید (مراحل سریع)
-
به پیشخوان → افزونهها → افزودن بروید.
-
جستجو کنید: WPS Hide Login و افزونه را نصب و فعال کنید.
-
به تنظیمات → عمومی بروید، بخش WPS Hide Login را پیدا کنید.
-
در فیلد مربوطه یک مسیر جدید و دلخواه برای ورود وارد کنید (مثلاً
example.com/my-secret-login) و ذخیره کنید. -
حالا آدرس قدیمی (
wp-login.php) دیگر در دسترس نخواهد بود — حتماً آدرس جدید را بوکمارک کنید.
نکات احتیاطی و بهترین شیوهها
-
آدرس جدید را در دسترس خودتان نگه دارید؛ موقع فراموشی، دسترسی ادمین ممکن است دشوار شود.
-
بعد از تغییر، کش سایت و هر CDN (مثل Cloudflare) را پاک کنید تا آدرس جدید بهدرستی کار کند.
-
برخی افزونهها یا سرویسهای خارجی ممکن است به
wp-login.phpنیاز داشته باشند؛ بعد از اعمال تغییر، بررسی کنید که سرویسها مختل نشده باشند. -
تغییر URL صرفاً یکی از لایههای امنیتی است — آن را همراه با 2FA، محدودسازی تلاشها و رمزهای قوی استفاده کنید.
-
قبل از اعمال تغییرات مهم، یک پشتیبان (backup) بگیرید.
9. استفاده از reCAPTCHA گوگل
افزونه Login No Captcha reCAPTCHA یکی از مؤثرترین راهها برای جلوگیری از ورود رباتها و حملات خودکار است. با افزودن reCAPTCHA به فرمهای ورود، ثبتنام و بازیابی رمز عبور، تنها کاربران واقعی میتوانند وارد سایت شوند. این افزونه از فناوری Google reCAPTCHA استفاده میکند که تشخیص انسان از ربات را با دقت بالا انجام میدهد.
💡 نکته: پس از نصب، کافی است کلیدهای عمومی و خصوصی (Site Key و Secret Key) را از سایت Google reCAPTCHA دریافت کرده و در تنظیمات افزونه وارد کنید. با این کار، امنیت بخش ورود وردپرس شما بهطور چشمگیری افزایش مییابد و از حملات brute-force و رباتهای مزاحم جلوگیری میشود.
10. اعلان ورودهای مشکوک
افزونه WP Security Audit Log یکی از بهترین ابزارها برای پایش و نظارت امنیتی در وردپرس است. این افزونه تمامی فعالیتهای کاربران — از ورود و خروج گرفته تا تغییر در تنظیمات، افزونهها و فایلها — را ثبت میکند و در صورت مشاهدهی ورود یا فعالیت مشکوک، شما را فوراً مطلع میسازد.
با استفاده از این افزونه میتوانید:
-
ورودهای موفق و ناموفق کاربران را ردیابی کنید.
-
تغییرات انجام شده در نوشتهها، افزونهها و قالبها را بررسی کنید.
-
فعالیت مدیران، نویسندگان و سایر کاربران را زیر نظر داشته باشید.
-
هشدارهای امنیتی فوری دریافت کنید تا در صورت بروز خطر، سریع واکنش نشان دهید.
🔒 این افزونه بهویژه برای سایتهایی با چندین کاربر یا تیم مدیریت بسیار مفید است و کمک میکند کنترل کامل بر امنیت و رفتار کاربران داشته باشید.
🧱 بخش سوم: افزایش امنیت فایلها و ساختار وردپرس
11. محافظت از فایل wp-config.php
با افزودن این دستور به .htaccess از دسترسی مستقیم جلوگیری کنید:
# جلوگیری از دسترسی مستقیم به فایلها
<FilesMatch "\.(htaccess|htpasswd|ini|log|conf|env)$">
Order Allow,Deny
Deny from all
</FilesMatch>
12. تغییر پیشوند جداول دیتابیس
بهجای استفاده از پیشوند پیشفرض پایگاهداده (wp_) که هدف محبوب باتها و اسکریپتهای حمله است، آن را به یک مقدار تصادفی و غیرقابلحدس (مثلاً wp9x_) تغییر دهید. این کار مانع از بسیاری از حملات خودکار میشود و یکی از لایههای ساده اما مؤثر در سختسازی وردپرس است. بهترین راه برای اعمال امن این تغییر استفاده از افزونههای معتبر مانند iThemes Security یا انجام دقیق تغییرات در دیتابیس همراه با پشتیبانگیری کامل است.
چطور امن انجام بدید (چکلیست سریع)
-
قبل از هر چیز پشتیبان کامل بگیرید — هم از فایلها و هم از دیتابیس.
-
اگر از iThemes Security استفاده میکنید، از قابلیت تغییر پیشوند (Change Database Prefix) در افزونه بهره بگیرید تا کار با امنیت و اتوماسیون انجام شود.
-
در صورت انجام دستی، باید:
-
نام همهی جداول (
wp_options،wp_users،wp_postmetaو غیره) را به پیشوند جدید تغییر دهید. -
مقادیر داخل جداولی مثل
wp_options.option_nameوwp_usermeta.meta_keyکه حاوی پیشوند هستند را بهروزرسانی کنید. -
مقدار
table_prefixدر فایلwp-config.phpرا به پیشوند جدید تغییر دهید.
-
-
پس از تغییر، سایت را کامل تست کنید (ورود، ویرایش نوشته، افزونهها، ووکامرس اگر هست و غیره).
-
در صورت بروز مشکل، از پشتیبان استفاده کنید تا سریع بازگردانی کنید.
13. غیرفعال کردن ویرایشگر فایل در پنل وردپرس
در فایل wp-config.php بنویسید:
define('DISALLOW_FILE_EDIT', true);
14. حذف فایلهای پیشفرض وردپرس مثل license.txt و readme.html
فایلهایی مانند readme.html، license.txt و تگهای متادیتای خودکار وردپرس میتوانند نسخه دقیق وردپرس سایت را فاش کنند و سایت شما را در معرض حملات هدفمند هکرها قرار دهند. حذف یا مخفی سازی این اطلاعات یکی از اقدامات ساده و مؤثر برای کاهش سطح حمله است.
راهکارهای عملی برای افزایش امنیت
1. حذف تگ نسخه از هدر سایت (wp_head)
افزودن کد زیر به فایل functions.php قالب، تگ نسخه وردپرس و نسخه فایلهای CSS/JS را مخفی میکند:
// حذف تگ نسخه از <head>
remove_action('wp_head', 'wp_generator');
// حذف ورژن از فایلهای CSS/JS
function remove_cssjs_ver( $src ) {
if ( strpos( $src, 'ver=' ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'remove_cssjs_ver', 999 );
add_filter( 'script_loader_src', 'remove_cssjs_ver', 999 );
2. محافظت از فایلهای نمایشی (readme.html و license.txt)
افزودن کد زیر به فایل .htaccess در روت سایت، دسترسی مستقیم به این فایلها را مسدود میکند:
<FilesMatch "^(readme\.html|license\.txt)$">
Require all denied
</FilesMatch>
3. مسدود کردن دسترسی مستقیم به فایلهای حساس در wp-includes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-includes/.*\.php$ - [F,L]
</IfModule>
4. حذف یا جابجایی فایلهای غیرضروری
اگر نیازی به readme.html و license.txt ندارید، آنها را از سرور حذف یا به مسیر امنی منتقل کنید.
5. استفاده از افزونههای امنیتی معتبر
افزونههایی مانند iThemes Security، Wordfence و Shield امکاناتی برای مخفی سازی نسخه، حذف تگها و محافظت از فایلها ارائه میدهند و کار را ساده میکنند.
6. همیشه بهروز باشید
مخفیسازی نسخه مفید است، اما بهروز رسانی منظم وردپرس، قالبها و افزونهها مهمترین اقدام برای جلوگیری از سوءاستفاده از نسخههای قدیمی است.
نکات احتیاطی
-
قبل از ویرایش
functions.phpیا.htaccessحتماً پشتیبان کامل بگیرید. -
پس از مخفی سازی ورژنها، عملکرد سایت و افزونهها را بررسی کنید.
-
این اقدامات یک لایه امنیتی اضافه میکنند و جایگزین به روزرسانی منظم و پیکربندی امن نیستند.
15. تنظیم مجوز فایلها و پوشهها
برای حفظ امنیت وردپرس و جلوگیری از ویرایش غیرمجاز فایلها و پوشهها، تنظیم سطح دسترسی (Permissions) بسیار مهم است:
-
فایلها:
644-
مالک میتواند خواندن و نوشتن داشته باشد.
-
گروه و دیگر کاربران فقط میتوانند خواندن داشته باشند.
-
-
پوشهها:
755-
مالک میتواند خواندن، نوشتن و اجرا داشته باشد.
-
گروه و دیگر کاربران میتوانند خواندن و اجرا داشته باشند، اما نمیتوانند محتویات را تغییر دهند.
-
💡 چند نکته مهم:
-
wp-config.php و فایلهای حساس را میتوان
600یا440کرد تا امنیت بیشتری داشته باشند. -
تغییر Permissions میتواند از طریق FTP، File Manager هاست یا دستور
chmodدر SSH انجام شود. -
پس از تغییر، مطمئن شوید سایت و افزونهها به درستی کار میکنند؛ بعضی افزونهها برای نوشتن فایل به دسترسی کافی نیاز دارند.
🌐 بخش چهارم: اقدامات امنیتی سمت سرور
16. استفاده از میزبانی وب امن و قابل اعتماد
امنیت سایت از میزبانی وب آغاز میشود. سرویسهای Orderhost با پشتیبانی ۲۴ ساعته، فایروال سختافزاری و فناوری LiteSpeed امنیت بالایی ارائه میدهند.
17. فعال کردن SSL (HTTPS)
گواهی SSL باعث میشود تمام دادههای منتقلشده بین مرورگر کاربر و سرور سایت رمزگذاری شده و در برابر شنود یا دستکاری محافظت شود.
در Orderhost، این گواهی بهصورت رایگان و خودکار فعال میشود، بنابراین میتوانید بدون هزینه اضافی، امنیت سایت خود را تضمین کنید و علاوه بر حفاظت از اطلاعات، اعتماد کاربران و رتبه سایت در موتورهای جستجو را نیز افزایش دهید.
18. استفاده از فایروال وب (WAF)
برای حفاظت از سایت در برابر حملات و درخواستهای مخرب، میتوانید از افزونهها و سرویسهای امنیتی استفاده کنید:
-
Wordfence: افزونهای برای وردپرس که فایروال، اسکن بدافزارها، محدودسازی ورود و مانیتورینگ فعالیتها را ارائه میدهد و جلوی حملات متداول را میگیرد.
-
Cloudflare WAF (Web Application Firewall): یک سرویس ابری که تمامی درخواستها به سایت را بررسی کرده و ترافیک مشکوک و خطرناک را قبل از رسیدن به سرور مسدود میکند.
استفاده از این ابزارها، همراه با رمزهای قوی، 2FA و محدودسازی دسترسیها، یک لایه امنیتی قدرتمند ایجاد میکند و ریسک نفوذ به سایت را بهطور چشمگیری کاهش میدهد.
19. غیرفعال کردن لیست دایرکتوریها
در .htaccess بنویسید:
Options -Indexes
20. جلوگیری از اجرای PHP در پوشه Uploads
در مسیر /wp-content/uploads/ فایل .htaccess ایجاد کنید و بنویسید:
<Files *.php>
deny from all
</Files>
⚙️ بخش پنجم: افزونهها و ابزارهای امنیتی
21. نصب افزونه Wordfence
محبوبترین افزونه امنیتی که اسکن بدافزار، فایروال و لاگین امن را فراهم میکند.
22. افزونه iThemes Security
برای قفل امنیتی کلی سایت شامل محافظت از فایلها، ورود و تنظیمات حیاتی.
23. افزونه Sucuri Security
ارائهی مانیتورینگ امنیتی، اسکن بدافزار و فایروال ابری.
24. افزونه All In One WP Security
دارای بیش از ۳۰ ویژگی امنیتی شامل تغییر پیشوند جداول و محدودیت IP.
25. افزونه JetBackup یا UpdraftPlus برای بکآپ خودکار
بکآپ گیری منظم از دادهها حیاتی است. در Orderhost این قابلیت بهصورت خودکار فعال است.
🧠 بخش ششم: تقویت امنیت دیتابیس
26. پشتیبانگیری منظم از دیتابیس
برای اطمینان از امنیت و حفظ اطلاعات سایت، تهیه نسخه پشتیبان منظم از دیتابیس حیاتی است. افزونههایی مانند WP-DB-Backup این کار را به سادگی انجام میدهند:
-
با تنظیم زمانبندی خودکار، نسخههای پشتیبان بهصورت منظم ساخته میشوند.
-
میتوانید نسخه پشتیبان را روی سرور، ایمیل یا سرویسهای ابری ذخیره کنید.
-
در صورت بروز مشکل، بازیابی سریع سایت ممکن خواهد بود و از از دست رفتن اطلاعات جلوگیری میکند.
💡 نکته: حتی اگر هاست شما پشتیبان گیری خودکار دارد، داشتن نسخه پشتیبان جداگانه در مکانی امن همیشه توصیه میشود.
27. دسترسی فقط از IP خاص
برای افزایش امنیت سایت و جلوگیری از دسترسی غیر مجاز به phpMyAdmin، بهتر است دسترسی به آن را تنها برای IP خودتان محدود کنید.
روش انجام این کار با .htaccess:
-
به پوشهی نصب phpMyAdmin در سرور بروید (معمولاً
public_html/phpmyadminیا مسیر مشابه). -
یک فایل
.htaccessایجاد کرده یا فایل موجود را ویرایش کنید و کد زیر را اضافه کنید:
# محدود کردن دسترسی به phpMyAdmin تنها برای یک IP مشخص
Order Deny,Allow
Deny from all
Allow from YOUR_IP_ADDRESS
جایگزین
YOUR_IP_ADDRESSکنید: آدرس IP ثابت خودتان را وارد کنید.
نکات مهم:
-
اگر IP شما پویا (Dynamic) است، باید هر بار که تغییر کرد، این تنظیم را بهروزرسانی کنید.
-
در صورت استفاده از سرویس ابری مثل Cloudflare، آدرس IP واقعی خودتان را بررسی کنید تا دسترسی درست باشد.
-
همیشه بعد از اعمال تغییر، دسترسی را تست کنید تا خودتان از دسترس خارج نشوید.
این کار یکی از سادهترین و مؤثرترین روشها برای محافظت از phpMyAdmin و کاهش ریسک نفوذ است.
28. استفاده از رمزگذاری در دیتابیس
برای حفاظت از اطلاعات حساس کاربران مانند ایمیلها و شماره تلفنها، رمزگذاری یا Encryption بسیار مهم است.
راهکارها:
-
رمزگذاری در دیتابیس:
-
اطلاعات حساس را با الگوریتمهای امن مانند AES-256 یا bcrypt ذخیره کنید.
-
این کار تضمین میکند حتی اگر دیتابیس لو برود، دادهها قابل خواندن نباشند.
-
-
رمزگذاری در فرمها و انتقال دادهها:
-
همیشه از HTTPS / SSL استفاده کنید تا دادهها در هنگام ارسال از مرورگر به سرور رمزگذاری شده و امن باشند.
-
-
رمزگذاری ایمیلها و شمارهها در سایت:
-
برای نمایش ایمیلها در سایت میتوانید از HTML entity یا افزونههایی مثل Email Encoder استفاده کنید تا رباتها نتوانند آنها را جمعآوری کنند.
-
برای شماره تلفنها، میتوان از روش مشابه یا تبدیل به فرمت غیرقابل خواندن توسط ربات استفاده کرد.
-
-
دسترسی محدود:
-
فقط کاربران یا سیستمهایی که نیاز دارند بتوانند اطلاعات رمزگذاریشده را رمزگشایی کنند.
-
💡 نکته: رمزگذاری اطلاعات یک لایه امنیتی مهم است، اما بهروزرسانی، پشتیبانگیری و دسترسیهای محدود همچنان ضروری هستند تا امنیت کامل حفظ شود.
29. حذف دیتای افزونههای حذفشده
بعد از حذف یک افزونه، ممکن است دادهها و جداول مرتبط با آن هنوز در دیتابیس باقی بمانند. این دادهها نهتنها فضای اضافی مصرف میکنند، بلکه میتوانند ریسک امنیتی ایجاد کنند.
اقدامات پیشنهادی:
-
بررسی جداول و گزینههای افزونه:
-
از طریق phpMyAdmin یا ابزار مدیریت دیتابیس، جداولی که نام افزونه را دارند یا مشخصاً مربوط به آن هستند شناسایی کنید.
-
مقادیر اضافی در جداول
wp_optionsوwp_usermetaرا بررسی کنید.
-
-
پاکسازی دادهها:
-
جداول و ردیفهای مرتبط با افزونه را بهطور کامل حذف کنید.
-
برخی افزونهها پس از حذف، گزینهای برای پاکسازی کامل دادهها ارائه میدهند؛ قبل از حذف افزونه، این گزینه را فعال کنید.
-
-
پشتیبانگیری:
-
قبل از پاک سازی، یک نسخه پشتیبان کامل از دیتابیس تهیه کنید تا در صورت اشتباه بتوانید بازگردانی کنید.
-
-
افزونههای کمکی:
-
افزونههایی مانند WP-Optimize یا Advanced Database Cleaner میتوانند جداول و دادههای بلااستفاده را شناسایی و حذف کنند.
-
💡 نکته: پاک سازی دادههای باقی مانده علاوه بر آزادسازی فضای دیتابیس، به افزایش امنیت سایت و کاهش احتمال سوءاستفاده کمک میکند.
30. بررسی سلامت جداول دیتابیس
برای بهبود عملکرد و سرعت سایت وردپرس و همچنین کاهش ریسک مشکلات امنیتی، استفاده از افزونه WP-Optimize بسیار مؤثر است.
امکانات اصلی WP-Optimize:
-
پاکسازی دیتابیس: حذف دادههای بلا استفاده، جداول موقت، رونوشتهای قدیمی نوشتهها و کامنتهای اسپم.
-
بهینهسازی جداول: فشرده سازی و مرتب سازی جداول دیتابیس برای عملکرد بهتر.
-
زمانبندی خودکار: میتوانید تنظیم کنید که پاکسازی و بهینه سازی بهصورت خودکار و منظم انجام شود.
-
پاکسازی کش سایت: برخی نسخهها امکان مدیریت کش و افزایش سرعت بارگذاری صفحات را هم دارند.
💡 نکته: قبل از اجرای عملیات پاکسازی، همیشه یک نسخه پشتیبان کامل از دیتابیس تهیه کنید تا در صورت بروز مشکل، امکان بازگردانی وجود داشته باشد.
🧰 بخش هفتم: راهکارهای پیشرفته برای کاربران حرفهای
31. فعال کردن Content Security Policy (CSP)
برای جلوگیری از اجرای اسکریپتهای خطرناک و حملات XSS (Cross-Site Scripting) در وردپرس، میتوانید اقدامات زیر را انجام دهید:
1. استفاده از افزونههای امنیتی
-
افزونههایی مانند Wordfence یا iThemes Security میتوانند درخواستهای مخرب و اسکریپتهای خطرناک را شناسایی و مسدود کنند.
-
این افزونهها معمولاً شامل فایروال وب (WAF) هستند که جلوی حملات XSS را میگیرند.
2. پاکسازی و اعتبارسنجی ورودیها
-
تمام دادههای ورودی کاربران (فرمها، کامنتها، پروفایلها) باید sanitize و validate شوند.
-
در PHP میتوانید از توابعی مانند
htmlspecialchars()یاwp_kses()برای پاکسازی ورودیها استفاده کنید.
3. استفاده از Content Security Policy (CSP)
-
با افزودن هدر CSP در سرور، میتوانید تعیین کنید که مرورگرها فقط اسکریپتهای معتبر از منابع مشخص را اجرا کنند.
-
این کار جلوی تزریق اسکریپتهای مخرب را میگیرد.
4. بهروزرسانی منظم
-
قالبها، افزونهها و وردپرس را همیشه بهروز نگه دارید تا آسیب پذیریهای شناختهشده رفع شوند.
5. محدود کردن قابلیت نوشتن فایلها
-
دسترسیهای فایل و پوشهها را به مقادیر امن (فایلها ۶۴۴ و پوشهها ۷۵۵) تنظیم کنید تا اسکریپتهای مخرب نتوانند فایلهای جدید ایجاد یا اجرا کنند.
💡 نکته: XSS اغلب از ورودیهای کاربران یا افزونههای ناامن نشأت میگیرد، بنابراین ترکیب افزونه امنیتی، پاکسازی ورودی و محدود کردن دسترسیها بهترین روش برای کاهش خطر است.
32. فعال کردن HTTP Security Headers
هدرهای امنیتی مثل X-Frame-Options, X-Content-Type-Options و Strict-Transport-Security را فعال کنید.
برای افزایش امنیت سایت و کاهش خطر حملات متداول مثل Clickjacking، MIME sniffing و Man-in-the-Middle (MITM)، فعال کردن هدرهای امنیتی (Security Headers) بسیار مهم است.
هدرهای پیشنهادی و کارکرد آنها:
-
X-Frame-Options
-
جلوگیری از نمایش سایت در داخل فریم سایتهای دیگر (Clickjacking).
-
مقدار پیشنهادی:
SAMEORIGIN
Header always set X-Frame-Options "SAMEORIGIN" -
-
X-Content-Type-Options
-
جلوگیری از تشخیص نادرست نوع محتوا توسط مرورگر (MIME sniffing).
-
مقدار پیشنهادی:
nosniff
Header set X-Content-Type-Options "nosniff" -
-
Strict-Transport-Security (HSTS)
-
اطمینان از اینکه مرورگر همیشه از HTTPS برای دسترسی به سایت استفاده کند.
-
مقدار پیشنهادی: حداقل ۶ ماه (
max-age=15768000)
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" -
-
Content-Security-Policy (CSP) (اختیاری اما بسیار توصیهشده)
-
محدود کردن منابعی که مرورگر میتواند بارگذاری و اجرا کند، جلوگیری از XSS و تزریق اسکریپت.
Header set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self';" -
نحوه فعالسازی:
-
این کدها را میتوانید در فایل
.htaccess(برای آپاچی) یا در تنظیمات Nginx قرار دهید. -
پس از اعمال، سایت را با ابزارهایی مثل SecurityHeaders.io بررسی کنید تا هدرها فعال شده باشند.
💡 نکته:
-
قبل از اعمال تغییرات، یک نسخه پشتیبان از فایلهای پیکربندی تهیه کنید.
-
برخی هدرها (مثل CSP) ممکن است نیاز به تنظیم دقیق منابع داشته باشند تا سایت به درستی بارگذاری شود.
33. استفاده از Cloudflare CDN
استفاده از سرویسهایی مثل Cloudflare یا افزونههای Caching و CDN علاوه بر افزایش سرعت بارگذاری سایت، میتواند از سایت شما در برابر حملات DDoS نیز محافظت کند.
مزایای همزمان:
-
افزایش سرعت سایت:
-
کش کردن محتوا و استفاده از شبکه تحویل محتوا (CDN) باعث میشود صفحات سریعتر به کاربران تحویل داده شوند.
-
-
محافظت در برابر DDoS:
-
ترافیک مشکوک و حملات حجمی قبل از رسیدن به سرور اصلی شناسایی و مسدود میشوند.
-
کاهش فشار روی سرور و جلوگیری از از کار افتادن سایت.
-
-
امنیت بیشتر:
-
ترکیب با هدرهای امنیتی، WAF و HTTPS، سطح حفاظتی سایت را بالا میبرد.
-
💡 نکته: استفاده همزمان از Cache، CDN و WAF بهترین راه برای بهبود سرعت و امنیت سایت است و بهخصوص برای سایتهای پربازدید یا فروشگاهی توصیه میشود.
34. محدود کردن دسترسی از طریق .htaccess
برای افزایش امنیت وردپرس و کاهش خطر حملات brute-force و نفوذ به پیشخوان (/wp-admin/)، میتوانید دسترسی به این مسیر را تنها برای یک یا چند IP مشخص محدود کنید.
روش با .htaccess (برای آپاچی):
-
به پوشهی
/wp-admin/بروید. -
یک فایل
.htaccessایجاد کنید یا فایل موجود را ویرایش کنید و کد زیر را اضافه کنید:
# محدود کردن دسترسی به /wp-admin/ برای IP مشخص
Order Deny,Allow
Deny from all
Allow from YOUR_IP_ADDRESS
جایگزین
YOUR_IP_ADDRESSکنید: آدرس IP ثابت خودتان را وارد کنید.
اگر چند IP دارید، میتوانید چند خطAllow fromاضافه کنید.
نکات مهم:
-
اگر IP شما پویا (Dynamic) است، هر بار که تغییر کند باید این تنظیم را بروزرسانی کنید.
-
دسترسی کاربران دیگر را محدود میکند؛ مطمئن شوید که خودتان همیشه دسترسی دارید.
-
در صورت استفاده از سرویس ابری مثل Cloudflare، آدرس IP واقعی کاربر را بررسی کنید و از IPهای Cloudflare برای دسترسی استفاده کنید.
💡 نکته: این روش یکی از سادهترین و مؤثرترین لایههای امنیتی برای پیشخوان وردپرس است و جلوی اکثر حملات خودکار و ورود غیرمجاز را میگیرد.
35. مانیتورینگ فایلهای تغییر یافته
یکی از مهمترین راهکارها برای تشخیص نفوذ و تغییرات غیرمجاز در سایت، مانیتور کردن فایلهاست.
-
افزونه Wordfence این قابلیت را بهصورت خودکار و مداوم ارائه میدهد:
-
بررسی تغییرات در فایلهای اصلی وردپرس، قالبها و افزونهها.
-
هشدار فوری در صورت هرگونه تغییر مشکوک یا فایلهای اضافهشده.
-
امکان بازبینی تغییرات قبل از تصمیمگیری برای حذف یا بازگردانی.
-
💡 نکته: این مانیتورینگ به شما کمک میکند سریعاً نفوذها و بدافزارها را شناسایی کرده و اقدامات لازم برای امنیت سایت را انجام دهید، بدون اینکه نیاز به بررسی دستی تمام فایلها باشد.
🧩 بخش هشتم: حفاظت از فرمها و کاربران
36. استفاده از فرمهای ایمن با CAPTCHA
برای جلوگیری از ارسال اسپم و حملات خودکار (Bot) در فرمها، استفاده از Google reCAPTCHA بسیار مؤثر است.
کاربردها:
-
فرم تماس: جلوگیری از پر شدن فرم توسط رباتها و دریافت ایمیلهای اسپم.
-
فرم عضویت و ورود: کاهش حملات brute-force و ثبتنامهای غیرمجاز.
-
فرمهای نظردهی و پرداخت: اطمینان از اینکه درخواستها توسط انسان ارسال میشوند.
روش پیادهسازی:
-
ثبت سایت در Google reCAPTCHA و دریافت Site Key و Secret Key.
-
نصب افزونههای وردپرس مانند:
-
Contact Form 7 – reCAPTCHA
-
WPForms – reCAPTCHA
-
Login No Captcha reCAPTCHA
-
-
وارد کردن کلیدها در تنظیمات افزونه و فعالسازی reCAPTCHA در فرمهای موردنظر.
💡 نکته: نسخه v3 reCAPTCHA بدون نیاز به تعامل مستقیم کاربر، رفتار رباتها را تشخیص میدهد و تجربه کاربری بهتری ارائه میکند.
37. جلوگیری از اسپم در بخش نظرات
برای محافظت از سایت و جلوگیری از نمایش نظرات اسپم و مخرب، استفاده از افزونه Akismet بسیار مؤثر است.
مزایای Akismet:
-
تشخیص خودکار اسپم: نظرات ارسالشده توسط کاربران را بررسی و نظرات مشکوک را جدا میکند.
-
حذف یا قرنطینه نظرات مخرب: بدون نیاز به دخالت دستی، امنیت و تمیزی بخش نظرات حفظ میشود.
-
گزارشگیری: امکان مشاهده تعداد نظرات مسدودشده و مدیریت آنها.
-
سازگار با اکثر افزونههای فرم و وردپرس: مانند Contact Form 7 و Jetpack.
💡 نکته: حتی با استفاده از Akismet، بهتر است فرمها را با reCAPTCHA یا محدودیتهای دیگر تکمیل کنید تا امنیت کامل و تجربه کاربری بهتر حفظ شود.
38. محدود کردن تعداد ثبتنام کاربران
اگر سایت شما امکان ثبتنام کاربران دارد، افزونه Stop Spammers میتواند به شکل مؤثری از ورود رباتها و اسپمرها جلوگیری کند.
قابلیتهای Stop Spammers:
-
مسدودسازی کاربران مخرب و رباتها قبل از ثبتنام یا ارسال فرم.
-
فیلتر بر اساس IP، کشور، ایمیل و نام کاربری برای جلوگیری از اسپمهای تکراری.
-
سفارشیسازی قوانین ثبتنام: میتوانید سطح سختگیری را بر اساس نیاز سایت تنظیم کنید.
-
گزارش فعالیتها: مشاهده و مدیریت درخواستهای مسدود شده.
💡 نکته: ترکیب این افزونه با reCAPTCHA و افزونه امنیتی مانند Wordfence، امنیت بخش ثبتنام و ورود سایت را به شکل چشمگیری افزایش میدهد و جلوی اکثر اسپمها و حملات خودکار را میگیرد.
39.بررسی فعالیت کاربران
برای مدیریت بهتر و پیگیری فعالیتهای کاربران در سایت وردپرس، افزونه Simple History بسیار مفید است.
-
ثبت تمام تغییرات و اقدامات کاربران: مانند ورود، ویرایش نوشتهها، حذف محتوا، تغییر تنظیمات و افزونهها.
-
گزارش قابل مشاهده در داشبورد: امکان بررسی تاریخچه فعالیتها بهصورت مرتب و قابل فهم.
-
اعلان تغییرات مهم: میتوانید تغییرات حیاتی را شناسایی و در صورت نیاز سریعاً واکنش نشان دهید.
-
سازگار با اکثر افزونهها و قالبها: اطلاعات دقیقتر از فعالیتها ارائه میدهد.
💡 نکته: با استفاده از Simple History، نظارت بر رفتار کاربران و مدیران سایت آسان میشود و در صورت بروز مشکل یا سوءاستفاده، میتوانید سریعاً منبع آن را شناسایی کنید.
40. تعیین سطح دسترسی دقیق کاربران
یکی از مهمترین اقدامات برای امنیت و مدیریت سایت وردپرس، تنظیم دقیق مجوزهای کاربران بر اساس نقش آنها است.
-
مدیریت نقشها: وردپرس به صورت پیشفرض نقشهایی مانند مدیر، ویرایشگر، نویسنده، مشارکتکننده و مشترک دارد.
-
تنظیم مجوزها: برای هر نقش، دقیقاً مشخص کنید چه عملیاتی میتواند انجام دهد (ویرایش نوشتهها، حذف محتوا، مدیریت افزونهها، مشاهده گزارشها و …).
-
افزونههای کمکی: افزونههایی مانند User Role Editor یا Members امکان ایجاد نقش جدید و سفارشیسازی مجوزها را فراهم میکنند.
-
حذف دسترسیهای غیرضروری: تنها مجوزهای مورد نیاز به هر کاربر داده شود تا خطر سوءاستفاده کاهش یابد.
💡 نکته: تنظیم دقیق دسترسیها، بهخصوص برای کاربران مدیر یا ویرایشگر، یک لایه امنیتی حیاتی است و جلوی دسترسیهای ناخواسته یا اشتباه به بخشهای حساس سایت را میگیرد.
⚡ بخش نهم: افزایش امنیت از طریق تنظیمات وردپرس
41.غیرفعال کردن XML-RPC
XML-RPC یک رابط قدیمی وردپرس است که امکان ارتباط از راه دور با سایت را فراهم میکند (مثلاً برای اپلیکیشنهای موبایل یا انتشار پست از راه دور).
-
ریسک امنیتی: اگر از آن استفاده نمیکنید، این رابط میتواند درگاه حملات brute-force و DDoS باشد.
-
راهکار امن: با افزونه Disable XML-RPC میتوانید این قابلیت را بهطور کامل غیرفعال کنید.
مزایا:
-
کاهش حملات خودکار: جلوگیری از تلاشهای ورود غیرمجاز.
-
بهبود امنیت سایت: یک مسیر بالقوه نفوذ حذف میشود.
-
ساده و سریع: نصب افزونه و فعال کردن آن بدون نیاز به تغییر کد یا فایلهای اصلی وردپرس.
💡 نکته: اگر اپلیکیشنهای موبایل یا سرویسهای دیگر به XML-RPC نیاز دارند، غیرفعال نکنید و به جای آن افزونههای امنیتی و محدودسازی IP را برای حفاظت اعمال کنید.
42.غیرفعال کردن REST API برای کاربران ناشناس
رابط REST API وردپرس به سایت و افزونهها اجازه میدهد دادهها را از راه دور دریافت یا ارسال کنند. با این حال، اگر بدون محدودیت باز باشد، میتواند اطلاعات حساس کاربران مانند نام و شناسهها را افشا کند.
راهکارها:
-
محدود کردن دسترسی کاربران ناشناس:
-
فقط کاربران واردشده (Logged-in) بتوانند به دادههای REST API دسترسی داشته باشند.
-
-
افزونههای کمکی:
-
افزونههایی مانند Disable REST API یا WP Cerber امکان محدود کردن REST API برای کاربران ناشناس را فراهم میکنند.
-
-
کد سفارشی در
functions.php:
اگر میخوای بدون افزونه انجام شود، میتوان این کد را اضافه کرد:
// محدود کردن REST API به کاربران واردشده
add_filter('rest_authentication_errors', function($result) {
if (!empty($result)) {
return $result;
}
if (!is_user_logged_in()) {
return new WP_Error(
'rest_cannot_access',
'REST API restricted to authenticated users.',
array('status' => 401)
);
}
return $result;
});
💡 نکتهها:
-
این کار جلوی افشای اطلاعات کاربری و شناسهها به افراد ناشناس را میگیرد.
-
اگر سایت یا افزونهای به REST API عمومی نیاز دارد، محدودسازی کامل ممکن است مشکلات عملکرد ایجاد کند؛ در این صورت میتوان دسترسیها را به مسیرهای مشخص یا API کلیددار محدود کرد.
43.استفاده از پلاگین امنیت ایمیل
ایمیل یکی از مسیرهای رایج فیشینگ و ارسال پیامهای تقلبی است که میتواند باعث سوءاستفاده یا هک سایت شود.
-
افزونه WP Mail SMTP به شما کمک میکند تا ایمیلهای وردپرس از طریق سرور معتبر و با احراز هویت درست ارسال شوند.
-
با این کار:
-
جلوگیری از ایمیلهای جعلی: هکرها نمیتوانند ایمیلهایی با نام سایت شما ارسال کنند.
-
افزایش تحویلپذیری ایمیل: ایمیلها به Inbox کاربران میرسند و به Spam نمیروند.
-
ایمنسازی فرمها: فرمهای تماس و ثبتنام سایت از ارسال ایمیلهای تقلبی محافظت میشوند.
-
💡 نکته: این افزونه با سرویسهایی مانند Gmail, Outlook, SMTP سرور اختصاصی و سرویسهای ابری سازگار است و راهاندازی سادهای دارد.
44.پنهان کردن نسخه وردپرس
نمایش نسخه وردپرس در سایت میتواند اطلاعات مهمی برای هکرها فراهم کند و سایت را هدفپذیر کند.
روش ساده با functions.php:
در فایل functions.php قالب خود، کد زیر را اضافه کنید:
// حذف تگ نسخه وردپرس از هدر
remove_action('wp_head', 'wp_generator');
توضیح:
-
این کد تگ
<meta name="generator" content="WordPress x.x.x">را از هدر حذف میکند. -
باعث میشود نسخه وردپرس برای بازدیدکنندگان و رباتها قابل مشاهده نباشد.
💡 نکات اضافی:
-
برای افزایش امنیت، میتوانید ورژن CSS و JS را هم از URL ها حذف کنید تا هکرها به نسخه افزونهها و قالب دسترسی پیدا نکنند:
function remove_cssjs_ver( $src ) {
if ( strpos( $src, 'ver=' ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'remove_cssjs_ver', 999 );
add_filter( 'script_loader_src', 'remove_cssjs_ver', 999 );
-
این کار لایهای از امنیت است و جایگزین بهروزرسانی منظم وردپرس، افزونهها و قالبها نیست.
اگر بخوای، میتونم یک نسخه کامل از functions.php آماده کنم که علاوه بر مخفی کردن نسخه وردپرس، فایلهای readme و license هم محافظت شوند و سایت کاملاً امن شود.
45.حذف یا تغییر لینکهای ورود پیشفرض
لینکهای مستقیم به صفحه wp-login.php یا پیشخوان وردپرس میتوانند هدف اصلی حملات brute-force و نفوذگران باشند.
اقدامات پیشنهادی:
-
حذف لینکها از قالب:
-
اگر قالب شما در هدر، فوتر یا منو، لینک مستقیم به wp-login.php دارد، آن را حذف یا غیر فعال کنید.
-
این کار باعث میشود کاربران عادی و رباتها نتوانند به راحتی صفحه ورود را پیدا کنند.
-
-
استفاده از URL سفارشی برای ورود:
-
با افزونههایی مانند WPS Hide Login میتوانید مسیر ورود به سایت را تغییر دهید.
-
مثال: به جای
yoursite.com/wp-login.phpازyoursite.com/my-loginاستفاده کنید.
-
-
مزایا:
-
کاهش هدفپذیری سایت در برابر حملات خودکار.
-
جلوگیری از ورود غیرمجاز و کاهش فشار روی سرور.
-
💡 نکته: حتی با تغییر لینک ورود، حتماً امنیت رمز عبور، دو مرحلهای و محدودیت تلاش ورود را فعال کنید تا سایت کاملاً محافظت شود.
🧠 بخش دهم: راهکارهای نهایی و مدیریتی
46. استفاده از ایمیل دامنه برای اکانت مدیر
به جای Gmail عمومی از ایمیل دامنه مانند admin@yourdomain.com استفاده کنید.
47.بررسی امنیت دورهای
برای حفظ امنیت سایت وردپرس، انجام بررسیهای دورهای و منظم ضروری است. حتی سایتهای بهروز و امن هم ممکن است بهصورت ناخواسته آسیبپذیر شوند یا فایلهای مخرب وارد شوند.
راهکارها:
-
اسکن ماهانه با سرویسهای معتبر
-
Sucuri: بررسی بدافزارها، تغییرات مشکوک فایلها و مشکلات امنیتی.
-
VirusTotal: بررسی لینکها، فایلها و آدرس سایت برای شناسایی بدافزار یا تهدیدات شناختهشده.
-
-
مزایای اسکن دورهای:
-
شناسایی فایلهای آلوده یا تغییر یافته قبل از آسیب جدی.
-
تشخیص لینکها یا کدهای مخرب که ممکن است به کاربران منتقل شوند.
-
بررسی آپدیتها و آسیبپذیریهای قالب و افزونهها.
-
-
نکات عملی:
-
حداقل ماهانه یک بار این اسکنها را انجام دهید.
-
گزارشها را ذخیره کنید تا در صورت نیاز، سابقه بررسیها را داشته باشید.
-
در صورت شناسایی مشکل، فوراً اقدام به پاکسازی و بازگردانی نسخه سالم کنید.
-
💡 نکته: اسکن دورهای یک لایه امنیتی تکمیلی است و جایگزین بهروزرسانی منظم وردپرس، افزونهها و قالبها نیست، اما میتواند جلوی نفوذ و انتشار مخرب در سایت را به شکل قابل توجهی کاهش دهد.
48.آموزش امنیت به اعضای تیم
امنیت سایت فقط مربوط به نصب افزونهها و تنظیمات نیست؛ آگاهی و آموزش اعضای تیم نقش بسیار مهمی در جلوگیری از نفوذ و اشتباهات انسانی دارد.
چرا ضروری است؟
-
بسیاری از نفوذها از طریق رمزهای ضعیف، کلیک روی لینکهای مخرب یا اشتباهات مدیریتی رخ میدهند.
-
ادمینها و ویرایشگران سایت با دسترسی بالا، در صورت ناآگاهی میتوانند حفرههای امنیتی ایجاد کنند.
-
آموزش صحیح باعث کاهش ریسک انسانی و افزایش واکنش سریع در مواقع بحران میشود.
نکات آموزشی پایه برای تیم:
-
رمزهای قوی و مدیریت آنها:
-
استفاده از حروف بزرگ و کوچک، اعداد و کاراکترهای خاص.
-
ابزارهای مدیریت رمز مانند Bitwarden یا LastPass.
-
-
احراز هویت دو مرحلهای (2FA):
-
فعال کردن 2FA برای ورود به سایت و پنل ایمیل.
-
-
تشخیص ایمیلها و لینکهای مشکوک:
-
جلوگیری از فیشینگ و کلیک روی لینکهای مخرب.
-
-
سطح دسترسی دقیق:
-
هر کاربر فقط مجوزهای لازم برای انجام وظایف خود داشته باشد.
-
-
بهروزرسانی منظم:
-
وردپرس، قالبها و افزونهها باید همیشه بهروز نگه داشته شوند.
-
-
روشهای پشتیبانگیری و بازیابی:
-
تیم باید بداند در صورت بروز مشکل چگونه نسخه پشتیبان را بازیابی کند.
-
💡 نکته: حتی بهترین تنظیمات امنیتی بدون آگاهی تیم میتواند ناکارآمد باشد. بنابراین برگزاری جلسات کوتاه و مستمر برای مرور اصول امنیتی یکی از ارکان محافظت سایت است.
49.انتخاب افزونهها از منابع معتبر
انتخاب افزونههای معتبر یکی از اساسیترین اقدامات امنیتی وردپرس است. نصب افزونه از منابع ناشناس یا غیرقابل اعتماد میتواند دروازهای برای نفوذگران و بدافزارها باشد.
نکات کلیدی:
-
استفاده از منابع رسمی:
-
فقط افزونههایی که در WordPress.org منتشر شدهاند را نصب کنید.
-
در صورت خرید افزونه، آن را از توسعهدهندگان رسمی و معتبر تهیه کنید.
-
-
بررسی پیش از نصب:
-
امتیازها و نظرات کاربران را بررسی کنید.
-
تعداد نصبهای فعال و بهروزرسانیهای اخیر را مشاهده کنید.
-
مطمئن شوید توسعهدهنده افزونه پشتیبانی منظم و آپدیت امنیتی ارائه میدهد.
-
-
اجتناب از افزونههای کرکشده:
-
نسخههای کرک یا رایگان غیررسمی معمولاً شامل کدهای مخرب هستند.
-
نصب این نسخهها میتواند باعث دسترسی غیرمجاز هکرها به سایت شود.
-
-
بهروزرسانی منظم:
-
حتی افزونههای معتبر نیاز به آپدیت منظم دارند تا آسیبپذیریهای امنیتی برطرف شوند.
-
💡 نکته: همیشه افزونههای ضروری و سبک را انتخاب کنید و از نصب افزونههای بینیاز یا سنگین خودداری کنید، زیرا هر افزونه اضافه یک درگاه بالقوه برای حمله ایجاد میکند.
50. استفاده از میزبانی وب Orderhost برای امنیت پایدار
Orderhost با بهرهگیری از فایروالهای سختافزاری، مانیتورینگ ۲۴ ساعته، بکآپگیری خودکار و پشتیبانی حرفهای، بستری امن برای سایتهای وردپرسی فراهم کرده است.
مزایای میزبانی Orderhost برای امنیت وردپرس:
-
فایروالهای سختافزاری و نرمافزاری
-
محافظت در برابر حملات DDoS و درخواستهای مخرب.
-
مسدودسازی نفوذهای احتمالی قبل از رسیدن به سایت.
-
-
مانیتورینگ ۲۴ ساعته
-
بررسی مداوم سلامت و فعالیت سرور.
-
تشخیص سریع رفتارهای مشکوک و هشدار فوری به تیم پشتیبانی.
-
-
بکآپگیری خودکار
-
امکان بازیابی سایت در صورت هرگونه مشکل یا نفوذ.
-
نگهداری نسخههای متعدد از دادهها و فایلهای سایت.
-
-
پشتیبانی حرفهای و سریع
-
مشاوره امنیتی و رفع مشکلات فنی.
-
کمک در بهروزرسانی، پیکربندی و راهاندازی افزونههای امنیتی.
-
-
بهینهسازی و سازگاری با وردپرس
-
پشتیبانی از افزونهها و قالبهای محبوب وردپرس.
-
اطمینان از عملکرد سریع و ایمن سایت.
-
✅ نتیجهگیری: امنیت وردپرس یک فرآیند مداوم است
افزایش امنیت وردپرس یک اقدام یکباره نیست؛ بلکه نیازمند مراقبت، بهروزرسانی و رعایت اصول امنیتی بهصورت مستمر است.
با پیادهسازی این ۵۰ راهکار طلایی — از رمزهای قوی و دو مرحلهای گرفته تا مدیریت دقیق دسترسیها، محدودسازی API و استفاده از افزونههای امنیتی — و همچنین انتخاب میزبانی وب امن مانند Orderhost، میتوانید:
-
از نفوذ هکرها و حملات خودکار جلوگیری کنید.
-
سایت را در برابر بدافزار و اسپمها محافظت نمایید.
-
اطمینان حاصل کنید که اطلاعات کاربران و دادههای حساس در امنیت کامل قرار دارند.
-
در صورت بروز مشکل، با بکآپ و پشتیبانی حرفهای، سایت خود را سریعاً بازیابی کنید.
💡 نکته نهایی: امنیت وبسایت یک سفر همیشگی است؛ حتی با رعایت تمام اقدامات، باید مرتباً سایت را بررسی، بهروزرسانی و تست کنید تا همیشه در برابر تهدیدات جدید آماده باشید.



