در این مقاله درباره موضوع بسیار مهم امنیت توضیح میدم، نکاتی که گفته میشه خیلی ساده هستن ولی اگر اونها رو بکار ببندین امنیت سایت شما حدود ۷۰٪ تضمین میشه!
برخی از مواردی که در این مقاله گفته میشه به صورت کلی هست و فرقی نداره که از چه سیستمی استفاده می کنین یا اینکه سایت شما به صورت اختصاصی طراحی شده، بلکه فقط برای افزایش امنیت سایت شماست (هر نوع سایتی که هست و به هر روشی که ساخته شده)
برخی از نکات هم فقط مرتبط به سیستم وردپرس هست و افزایش امنیت وردپرس و اگر سایت خودتون رو با این سیستم طراحی و راه اندازی کردین یا میخواین راه اندازی کنین میتونین از این نکات استفاده کنین.
ابتدا نام این مقاله ۵ نکته ساده ولی مهم بود، کم کم زیاد شد و نهایتا به ۱۵ نکته بسنده کردم.
۱. استفاده نکردن از رمز عبور قوی برای ادمین و بخش مدیریت سایت
بارها این مورد رو بیان کردم که هنگام نصب سیستم مدیریت محتوا و کلا هنگام تعیین رمز برای قسمت مدیریت وبسایت فارغ از هر سیستمی که دارین استفاده میکنین یا اینکه سایت شما به صورت اختصاصی هست، حتما از یک رمز عبور قوی استفاده کنین.
هر چقدر این مورد رو تکرار کنم باز هم کم هست چون با این همه تذکری که درباره این موضوع داده میشه حتی در سطح دنیا هم هنوز اکثر مدیران وبسایتها یک رمز خیلی ضعیف و کاملا بدیهی مانند ۱۲۳۴۵ رو برای قسمت مدیریت انتخاب میکنن!
بسیاری از سایتهایی که هک میشن به همین دلیل بسیار سادست و دلیل هک شدن درصد بالایی از وبسایت ها در دنیا همینه. درصد دقیقی نمیشه اعلام کرد اما با توجه به آمارها شاید بشه گفت حدود ۱۰٪ سایتها!
درصد خیلی زیادیه، تصور کنین که ۱۰ درصد وبسایت های دنیا رمز عبور بخش مدیریتشون ۱۲۳۴۵ هست، این وحشتناکه!
در تصویر زیر نمونه یک رمز عبور خیلی قوی و یک رمز عبور ضعیف نشون داده شده.
راهکار برای وردپرسی ها:
وردپرس یک سیستم قدرت سنج برای ساخت رمز عبور داره، میتونین به راحتی از این سیستم برای ساخت رمز عبور استفاده کنین.
راهکار کلی برای تمام سایت ها:
جالبه این موضوع اونقدر اهمیت داره که در دنیا وبسایت هایی راه اندازی شدن فقط به منظور ایجاد رمز عبور قوی! مثلا این سایت strongpasswordgenerator.com نه سال سابقه داره! این سایت passwordsgenerator.net پنج سال در این زمینه سابقه داره!
کافیه وارد این سایت ها بشین و بر روی دکمه Generate password یا تولید رمز عبور کلیک کنین تا یک رمز عبور قوی در اختیار شما قرار بده. همچنین گزینه هایی هم برای انتخاب وجود داره که بتونین تعداد کارکترهای رمز عبور و برخی دیگر از خصوصیاتش رو تعیین کنین.
نمونه ایرانی این سایتها رو میتونین از اینجا مشاهده کنین.
البته ساخت رمز عبور قوی کار سختی نیست که بخواین از ابزارهای جانبی کمک بگیرین و خودتون با ترکیب اعداد، حروف بزرگ و کوچک و برخی از نشانهها میتونین به سادگی یک روز عبور قوی بسازین که نمونه اش رو در تصویر بالا برای شما قرار دادم.
۲. به روز رسانی نکردن وردپرس، قالب ها و پلاگین ها
آپدیت نکردن وردپرس، قالبها و پلاگینهای اون یکی دیگر از موارد مهمی هست که میتونه باعث مشکلات امنیتی برای سایت شما بشه چون معمولا در هر آپدیت جدیدی که توسط توسعه دهندگان ارائه میشه علاوه بر بهبود کارآیی بسیاری از مشکلات امنیتی اونها هم رفع میشه.
همیشه وردپرس، پلاگینها و قالبهای اون رو به روز نگه دارین مخصوصا هسته اصلی وردپرس. البته خود وردپرس به صورت خودکار آپدیت میشه یعنی بعد از ارائه شدن هر نسخه جدید به طور خودکار به روز رسانی میشه اما قالبها و پلاگینها رو باید خودتون به روز رسانی کنین.
اگر به روز رسانی خودکار وردپرس رو غیرفعال کردین یا تنظیمات هاست شما به گونهای هست که به روز رسانی خودکار وردپرس انجام نمیشه! بنابراین خودتون باید این کار رو انجام بدین، میتونین با چند کلیک ساده از قسمت مدیریت وردپرس اون رو به روز رسانی کنین، همچنین پلاگینها و قالبهای رو آپدیت کنین.
راهکار:
وردپرس، افزونهها و قالبها رو به روز کنین! از پنل مدیریت سایتتون (مدیریت وردپرس) با چند کلیک ساده میتونین این کار رو انجام بدین.
نکته: قالب و پلاگینهایی که خریداری و نصب کردین رو نمیتونین از پنل مدیریت وردپرس به روز رسانی کنین و باید به صورت دستی به روز بشن به این خاطر که احتمالا قالب و افزونهای سایت شما ترجمه شده به فارسی هستن و آپدیت به زبان اصلی مثلا انگلیسی توسط سازنده ارائه میشه. البته راهکارهایی برای حل این مشکل وجود داره که از حوصله این بحث خارجه!
۳. استفاده از نام کاربری admin برای مدیر و انتشار مطالب با این یوزر
هرگز برای قسمت مدیریت سایتتون از شناسه admin استفاده نکنین چون بدیهیترین چیزی که هکرها برای هک وبسایت شما در نظر میگیرن اینه که نام کاربری مدیر سایت رو admin قرار داده باشین!
راهکار:
از همون ابتدای نصب وردپرس، نام دیگری رو برای مدیریت انتخاب کنین اگر هم این کار رو نکردین ایرادی نداره در قسمت کاربران یک یوزر جدید با نقش کاربری مدیرکل بسازین و بعد یوزر قبلی که admin بود رو حذف کنین و محتوای منتشر شده توسط اون رو به یوزر جدید اختصاص بدین.
هنگام حذف یوزر از شما سوال میپرسه و میتونین انتخاب کنین که پس از حذف این کاربر محتوای اون به کدام کاربر منتقل بشه.
۴. جلوگیری از مشاهده اطلاعات کاربران توسط آی دی
در سیستم وردپرس هر کاربر یک آی دی (ID) مخصوص به خودش داره و توسط این آی دی قابل شناسایی هست. (در بسیاری از سیستمهای دیگر هم به همین صورت هست)
این مورد یک مشکل امنیتی محسوب نمیشه به هر حال اگر این آی دی رو تغییر بدین و از آی دی دیگری برای مدیر استفاده کنین یا اینکه با روشهایی اون رو مخفی کنین بهتر هست و کار برای هکرها کمی سختتر میشه.
یک بازدیدکننده به راحتی میتونه با این روش نام کاربری کاربران رو تشخیص بده، این روش username enumeration نام برده میشه.
یک هکر هم به همین شیوه به راحتی میتونه نام کاربری کاربران رو پیدا کنه و بعد از اون فقط نیاز داره که پسورد رو پیدا کنه تا به سیستم نفوذ کنه.
یعنی اگر آدرس سایت شما رو به این شکل بنویسه yoursite.com/?author=1 به صفحه اطلاعات و نوشتههای کاربری که دارای شناسه ۱ هست دسترسی پیدا میکنه که به طور پیشفرض اگر نام کاربری جدیدی برای مدیر ایجاد نکنین یا این آی دی رو تغییر ندین آی دی مدیر برابر با عدد ۱ هست.
این جزو اولین مواردی هست که یک هکر میتونه به راحتی اون رو تشخیص بده، البته بسیاری از روشهای دیگر هم برای پیدا کردن نام کاربری مدیر وجود داره همونطور که ابتدای این بند توضیح دادم آشکار بودن نام کاربری یک مشکل امنیتی نیست اما اگر مخفی باشه بهتره.
اگر یک هکر نام کاربری مدیر رو داشته باشه تنها چیزی که برای تشخیص باقی میمونه پسورد یا رمز عبور هست ولی اگر نام کاربری رو هم ندونه باید هر دو تا رو تشخیص بده.
برای باقی کاربران و نویسندگان این مورد زیاد مهم نیست اما برای یک مدیر کل یا مدیران اصلی سایت مهم هست و بهتره که هکر به راحتی نتونه نام کاربری اون رو از روی آی دی تشخیص بده و کمی کار براش مشکل تر باشه و وقتگیر تر باشه و اگر بتونین کاری کنین که به هیچ وجه نتونه نام کاربری و آی دی مدیر رو تشخیص بده که خیلی بهتره!
راهکار:
اگر از کنترل پنل دایرکت ادمین یا سی پنل برای سایت تون استفاده میکنین فایلی در پوشه روت هاست شما موجود هست با پسوند htaccess. این فایل هیچ نامی نداره و فقط پسوند داره!
به هر حال این فایل رو ویرایش کنین و کدهای زیر رو به آخر کدهای این فایل اضافه کنین.
RewriteCond %{QUERY_STRING} author=d RewriteRule ^ /? [L,R=301]
اگر این فایل در هاست شما موجود نیست میتونین خودتون اون رو ایجاد کنین و بعد کدها رو در اون قرار بدین.
لطفا توجه کنین که اگر هاست سایت شما دارای کنترل پنل cPanel هست حتما دقت کنین که گزینه show hidden files برای قسمت file manager فعال باشه تا بتونین این فایل رو مشاهده کنین در غیر این صورت ممکنه فایل از نو ساخته بشه و با فایل اصلی جایگزین بشه و بسیاری از تنظیمات سایت شما از دست بره پس حتما قبل از انجام هر تغییری بک آپ تهیه کنین. (حرفهایها به این نیاز ندارن که هر بار بک آپ تهیه کنن اما به آماتورها توصیه میشه)
بعد از قرار دادن این کد اگر آی دی هر کاربر رو به شیوهای که بالاتر توضیح داده شد تایپ کنن ریدایرکت میشن (انتقال پیدا میکنن) به صفحه اصلی سایت و نمیتونن مشاهده کنن که کدام آی دی برای کدام کاربر هست و این یعنی کمی امنیت بیشتر برای سایت.
۵. جلوگیری از ارسال دیدگاه HTML توسط کاربرن
وردپرس به طور پیشفرض به کاربران اجازه میده که در دیدگاههای خودشون از تگهای HTML استفاده کنن مانند <a> و <strong> و <div> و …
نیاز نیست به این صورت باشه و بهتره html در دیدگاهها غیرفعال بشه (از نظر امنیت) بسیاری از دیدگاههای اسپم یا ناخواسته که در سایتهای وردپرسی دریافت میشه شامل این تگها هستن و همچنین همین بخش نظرات یک راه هست برای نفوذ هکرها و تزریق کدهای مخرب!
اگر قابلیت ارسال دیدگاه با تگهای HTML غیرفعال باشه خیالتون از اسپمرها و هکرها راحت میشه و خیالتون از اون سئو کاران کلاه سیاه و اعصاب خرد کن هم راحت میشه که دیدگاههای اینطوری مینویسن ( سلام، عالی بود و بعد لینک سایت خودشون رو قرار میدن! 😎 )
اسپمرها نمیدونستن این ویژگی رو در قسمت دیدگاهها غیرفعال کردم و خیلی از این دیدگاهها میذاشتن اما بعدا که متوجه این موضوع شدن دست از ایجاد مزاحمت و ارسال اسپم برداشتن.
نکته جالبش اینجاست که یکسری از اسپمرها رو هر کاری هم بکنین باز یه راهی پیدا میکنن مثلا وقتی در قسمت اصلی دیدگاهها، HTML رو غیر فعال کردم یکسری اسپمرها یک راه دیگر رو امتحان کردن مثلا به جای نام، آدرس (URL) سایت خودشون رو مینوشتن!
ولی من هرگز نام اونها رو نمیدیدم به خاطر اینکه اچ تی ام ال رو غیرفعال کرده بودم و لینکها به صورت … در میومد و تگ های اچ تی ام ال هم به طور خودکار حذف میشدن!
بعدا در مبحث سئو درباره این روشهای کاملا غلط سئو توضیح میدم، این همه تلاش میکنن که یک لینک بی ارزش از قسمت کامنتهای یک سایت دریافت کنن! اگر شما هم برای دریافت بک لینک دست به چنین روشهای میزنین بدونین این بک لینکها تاثیر خاصی در سئو سایت شما ندارن و میتونن تاثیر منفی هم داشته باشن.
البته تمامی این دیدگاههای اسپم توسط افراد به صورت دستی ارسال نمیشه و یکسری رباتهای اسپمر وجود داره که کارشون همینه و میتونن در عرض چند دقیقه هزاران دیدگاه اسپم به سایتها بفرستن و حتی باعث Down شدن و از دسترس خارج شدن اون سایت هم بشن!
راهکار:
از بحث امنیت وارد بحث سئو و اسپم مارکتینگ هم شدیم! من فقط همون راهکار اول یعنی جلوگیری از ارسال دیدگاه HTML رو توضیح میدم چون دیدگاه اسپم فقط با غیرفعال کردن html حل نمیشه و دیدگاه اسپم میتونه غیر html هم باشه و بحثش جداست.
با قرار دادن کدهای زیر در فایل functions.php قالب سایتتون دیگه کسی نمیتونه از تگهای html در دیدگاههای خودش استفاده کنه و هر لینکی در دیدگاه ثبت کنه حذف میشه و به شکل متن ساده در میاد یا به شکل … در میاد.
لطفا قبل از ایجاد هر تغییری بک آپ تهیه کنین و در صورتی که به مشکلی بر خوردین بک آپ یا نسخه پشتیبان رو بازگردانی کنین.
این کدها رو بعد از php?> و قبل از ?> قرار بدین.
## Hazfe didgahe html - Start // This will occur when the comment is posted function plc_comment_post( $incoming_comment ) { // convert everything in a comment to display literally $incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']); // the one exception is single quotes, which cannot be #039; because WordPress marks it as spam $incoming_comment['comment_content'] = str_replace( "'", ''', $incoming_comment['comment_content'] ); return( $incoming_comment ); } // This will occur before a comment is displayed function plc_comment_display( $comment_to_display ) { // Put the single quotes back in $comment_to_display = str_replace( ''', "'", $comment_to_display ); return $comment_to_display; } add_filter( 'preprocess_comment', 'plc_comment_post', '', 1 ); add_filter( 'comment_text', 'plc_comment_display', '', 1 ); add_filter( 'comment_text_rss', 'plc_comment_display', '', 1 ); add_filter( 'comment_excerpt', 'plc_comment_display', '', 1 ); // This stops WordPress from trying to automatically make hyperlinks on text: remove_filter( 'comment_text', 'make_clickable', 9 ); ## Hazfe didgahe html - End
۶. بک آپ نگرفتن منظم از بانک اطلاعاتی یا دیتابیس (database)
بارها درباره اهمیت این موضوع توضیح دادم ولی با کمال تعجب باز هم به من گزارش میشه که برخی از مدیران سایتها به دلیل تهیه نکردن بک آپ، مشکلی که برای سایتشون پیش اومده بود رو نتونستن به خوبی رفع کنن و ضررهایی متحمل شدن.
معمولا شرکتهای هاستینگ به صورت روزانه از دیتابیس یا بانک اطلاعاتی سایت شما بک آپ تهیه میکنین (حتی شرکتهای ارائه هاستهای بسیار ارزان قیمت هم این کار رو انجام میدن) یکی از مهمترین بخشهای سایت شما بانک اطلاعاتی هست.
تمامی تنظیمات سایت شما، اطلاعات مشتریان، محتوای وبسایت در بانک اطلاعاتی نگهداری میشه و اگر به هر دلیلی این بانک اطلاعاتی آسیب ببینه ممکنه ضررهای جبران ناپذیری به سایت و کسب و کار اینترنتی شما وارد بکنه.
همیشه مربوط به هکرها نمیشه، خیلی اوقات مدیران سایتها ممکنه به اشتباه باعث خراب شدن و از کار انداختن سایت خودشون بشن. در اثر عجله کردن، خستگی، بی دقتی، خطاهای طبیعی انسانی و …
اگر یک وبمستر با سابقه باشین حتما چنین تجربیاتی دارین! این مورد ربطی به حرفهای بودن یا نبودن شما نداره و ربطی به این نداره که شما آدم بی دقتی هستین یا نه، بلکه دلایل اون رو بالاتر ذکر کردم یعنی عجله کردن، بی دقتی، خستگی و … و هر چقدر هم که شما دقیق و حساس باشین باز ممکنه مشکلاتی ایجاد کنین.
در تمامی مواقع اگر بک آپ داشته باشین جای هیچ نگرانی ای نیست و نهایتا سایت شما برای چند دقیقه از دسترس خارج میشه.
حتما نیاز نیست این کار رو به صورت دستی انجام بدین، پلاگینها و روشهای دیگری هم برای بک آپ گیری خودکار وجود داره که در قسمت بعدی یعنی ۷ توضیح میدم.
۷. تهیه نکردن نسخه پشتیبان از کل اطلاعات وب سایت
این مورد مشابه مورد قبلی هست و مکمل اونه. امروزه شرکتهای هاستینگ پیشرفت کردن و سیستمهای مدیریت محتوا بسیار پیشرفتهتر شدن، پنلهای سی پنل و دایرکت ادمین و … خیلی پیشرفتهتر شدن.
یادمه چند سال پیش یک سایت داشتم و هیچ بک آپی ازش تهیه نکرده بودم و از یک شرکت بسیار نامعتبر هاست تهیه کرده بودم چون اون موقعها تازه کارم رو شروع کرده بودم و نه تجربه کافی داشتم و نه پول کافی به هر حال یه مدت کار کردم و سایتم رو به درآمدی رسونده بودم اما اونقدر درگیر ارتباط با مشتریان و کارهای فنی سایت شده بودم که از تهیه بک آپ قافل شدم و یادم رفته که بک آپی از سایتم تهیه کنم (هیچ بک آپی) شرکت هاستینگ هم خیال من رو راحت کرده بود که به صورت هفتگی از کل سایت و به صورت روزانه از دیتابیس بک آپ تهیه میکنه!
اون موقع هنوز Google Drive و Dropbox و … نیومده بود و سیستمهای مدیریت محتوا هم خیلی ابتداییتر بودن و این همه افزونه بک آپ گیری خودکار و … براشون نیومده بود و سرعت اینترنت هم انقدر پایین بود که بک آپ گیری به صورت دستی رو برای من سخت کرده بود و هر روز این رو موکول میکردم به فردا به این خاطر که میگفتم شرکتی که ازش هاست تهیه کردم خودش بک آپ تهیه میکنه و نیازی به این کار نیست و اگر مشکلی پیش اومد، از اونها درخواست میکنم که بک آپ رو برگردونن.
یک اتفاق عجیبی افتاد و یهو همه سایتهایی که روی هاستهای اون شرکت بودن از دسترس خارج شدن و اون شرکت هم یهویی نابود شد! (این یک داستان تخیلی نیست بلکه کاملا واقعیه) راهی هم برای پیگیری وجود نداشت و من هیچ اطلاعات بدرد بخوری از اونها نداشتم و اگر داشتم هم توانایی پیگیری و اون همه رفت و آمد رو نداشتم و سایتم اونقدر هم موفق و بزرگ نشده بود که ارزش این همه پیگیری رو داشته باشه!
به همین راحتی با نابود شدن اون شرکت، کسب و کار اینترنتی من هم نابود شده بود! این تجربه خوبی برای من شد تا همیشه حواسم به بک آپ گیری باشه و فقط به گفتههای شرکت هاستینگ هرچند اگر معتبر و با بیش از ۱۰ سال سابقه باشه بسنده نکنم و خودم به عنوان یک مدیر و کسی که کسب و کارش براش اهمیت داره وظیفه خودم رو انجام بدم. اینجا دقیقا این مثال کاربر داره که ( مالت رو سفت بچسب همسایه رو دزد نکن 😎 )
به دلیل اهمیت موضوع، یکی از آپدیتهای محصول آموزش طراحی سایت بدون کد نویسی رو به طور کامل و جامع اختصاص دادم به همین مورد یعنی تهیه بک آپ.
همیشه نیاز به بک آپ گیری دستی نیست و میتونین از افزونهها و روشهای دیگر استفاده کنین که کمی پایینتر هم توضیح میدم.
علاوه بر بکآپ هایی که میزبان سایت شما تهیه میکنه خود شما هم باید از اون بک آپ بگیرین حالا چه به صورت دستی و چه به صورت خودکار.
راهکارها:
یکی از افزونههای رایگان و بسیار عالی سیستم وردپرس برای تهیه بک آپ کامل از سایت شما که شامل بانک اطلاعاتی، قالبها، افزونهها و تمامی فایلهای آپلود شده، تنظیمات سایت، نوشتهها و … میشه افزونه UpdraftPlus هست.
این پلاگین بر روی بیش از یک میلیون سایت وردپرسی نصب هست و از ویژگیهای بسیار جالبش اینه که میتونین بک آپ گیری رو زمانبندی کنین مثلا تعیین کنین که هر ۲۴ ساعت یک بار از سایت شما به طور کامل یا فقط از دیتابیس بک آپ تهیه کنه یا هفتهای یک بار و این بک آپ رو در جای دیگری ذخیره کنه مثلا در Dropbox, Amazon, Google Drive و …
این خیلی خوبه اگر بتونین بک آپ رو در نقطه دیگری از دنیا و در یک فضای دیگر نگه داری کنین چون اگر به هر دلیلی برای سرورهای سایت شما مشکلی به وجود بیاد بک آپ شما در سرورهای قدرتمند گوگل و دراپ باکس و … ذخیره شده و به راحتی در کوتاهترین زمان ممکن و با چند کلیک ساده میتونین اونها رو بازگردانی کنین.
اگر بک آپ سایت شما به طور خودکار مثلا در گوگل درایو یا دراپباکس ذخیره بشه دیگه نیاز نیست هر بار بک آپ رو دانلود کنین و چالش برانگیزترین قسمت کار هم آپلود بک آپ هست.
اگر بخواین یک بک آپ حجیم رو در سرور آپلود کنین شاید چندین روز از شما وقت بگیره! اما توسط این پلاگین شما فقط چند کلیک میکنین و درخواست رو ارسال میکنین و همه چیز در شبکه انجام میشه و سرعت اینترنت شما هیچ تاثیری در فرآیند این کار نداره چه در تهیه بک آپ و چه در بازگردانی اون.
در حال حاضر سرعت آپلود به صورت پایه در اینترنتهای ADSL کشور ایران یک هشتم سرعت دانلود هست یعنی اگر سرعت اینترنت شما ۱۶ مگابایت باشه و سرعت دانلود ۲ مگابایت بر ثانیه باشه، سرعت آپلود میشه حدود ۲۵۰ کیلوبایت بر ثانیه که اون رو هم معمولا شرکتها ارائه نمیکنن و بالاترین سرعت آپلودی که من تاکنون اطلاع دارم چیزی حدود ۱۵۰ کیلوبایت بر ثانیه هست که عملا با این سرعت بسیار پایین کار آپلود فایل حجیم بک آپ (البته اگر حجیم باشه) در هاست بسیار زمانبر هست و شاید هم غیرممکن!
البته اینترنت ایرانسل تا سرعت ۲ مگابایت بر ثانیه هم آپلود میکنه که واقعا فوق العادست، خودم اکثر آپلودهای حجیم رو با اینترنت 4G ایرانسل انجام میدم هر چند اصلا از این اپراتور به هزار دلیل راضی نیستم و فعلا مجبورم بین بَد و بَدتَر، بَد رو انتخاب کنم! 😉
از بحث اصلی دور نشیم، داشتم درباره پلاگین UpdraftPlus توضیح میدادم، علاوه بر بک آپ گیری خودکار خودتون هم میتونین به صورت دستی با این پلاگین بک آپ تهیه کنین و محل ذخیره سازی بک آپ رو تعیین کنین، میتونین انتخاب کنین خودتون اون رو دانلود کنین یا در یکی از فضاهای ابری ذخیره کنین.
پلاگینهای رایگان BackWPup و Duplicator برای سیستم وردپرس هم در زمینه تهیه بک آپ، پلاگینهای بسیار عالی ای هستن.
نکته ۱:
در حدود ۹۰٪ اوقات در هاستهای اشتراکی نمیتونین از این پلاگینهای تهیه بک آپ استفاده کنین چون این پلاگینها فشار زیادی به سرور وارد میکنن و از منابع سیستمی زیادی استفاده میکنن و باعث Down شدن سایت میشن (از دسترس خارج شدن سایت) و در این مواقع حتما باید به صورت دستی از سایتتون بک آپ یا نسخه پشتیبان تهیه کنین. (البته برای بک آپ کامل منظورم هست و برای بک آپ از دیتابیس فشار خاصی به سرور نمیاد)
نکته ۲:
هرچند اگر پلاگینها جواب خودشون رو پس داده باشن اما باز هم یکی از امنترین روشها برای تهیه بک آپ از سایت، تهیه بک آپ به صورت کاملا سنتی و دستی از طریق کنترل پنل هاست هست.
در این روش هیچ تفاوتی نداره که سایت شما با چه سیستمی و چطوری ساخته شده و آیا پلاگینی برای این کار وجود داره یا نه یا اینکه هاست شما اشتراکی هست یا اختصاصی و … به هر حال به راحتی میتونین از طریق این روش از سایتتون بک آپ تهیه کنین.
۸. سطح دسترسی ناصحیح پوشه ها و فایل ها
پرمیشن (Permission) به معنی سطح دسترسی هست، یعنی اجازه دسترسی دیگران به فایلها و پوشههای هاست سایت شما.
اگر وارد پوشه اصلی هاست سایتتون یعنی root یا public_html بشین میبینین که در ستون Permission عددهایی روبروی هر کدام از پوشهها و فایلهای سایت شما نوشته شده.
سه تا از رایجترین های اونها رو مثال میزنم تا به سادگی متوجه بشین.
در تصویر زیر سطح دسترسی فایلها نشون داده شده، دور اعداد رو حاشیه قرمز رنگ قرار دادم.
سطح دسترسی ۴۰۰
معمولا از این سطح دسترسی برای فایلهای بسیار مهم سایت استفاده میشه و اگر این سطح دسترسی رو تنظیم کنین فقط مدیر سایت و کسی که به هاست و کنترل پنل دسترسی داره میتونه اونها رو ببینه و ویرایش کنه و توسط کاربران و به صورت عمومی قابل مشاهده، دریافت و ویرایش نیست.
معمولا برای افزایش امنیت فایلهای مهم سایت از این سطح دسترسی استفاده میشه. به عنوان مثال فایلهایی که در اون اطلاعات مهمی وجود داره از قبیل اطلاعات ورود به بخش مدیریت سایت یا اطلاعات بانک اطلاعاتی و پیشوند جداول و …
در سیستم وردپرس این فایل wp-config.php نام داره، همین حالا وارد هاست بشین و سطح دسترسی این فایل رو بر روی ۴۰۰ تنظیم کنین!
با این کار هیچ مشکلی برای سایتتون پیش نمیاد و سایت شما کاملا صحیح کار خواهد کرد، حتی میتونین این فایل رو به یک پوشه بالاتر هم منتقل کنین یعنی خارج از public_html و وردپرس بدون هیچ مشکلی به کار خودش به شکل صحیح ادامه میده!
اگر با این کار احتمالا مشکلی برای سایت شما پیش اومد که پیش نمیاد! میتونین این فایل رو برگردونین به همون جایی که اول بود یعنی public_html ولی حتما سطح دسترسی این فایل رو ۴۰۰ تنظیم کنین.
سطح دسترسی ۶۴۴
تقریبا تمامی فایلهای اجرایی سایت شما باید این سطح دسترسی رو داشته باشن تا کاربران به راحتی بتونن از سایت شما بازدید کنن و تمامی صفحات و بخشهای اون رو بدون مشکل مشاهده کنن.
فقط فایلهای مهم سایت شما مانند فایلی که در بند قبلی توضیح دادم باید سطح دسترسی ۴۰۰ داشته باشن یا فایلهایی که شما نمیخواین کاربران و هکرها به اون دسترسی داشته باشن اما میخواین همچنان در هاست شما موجود باشن، باقی فایلها باید سطح دسترسی ۶۴۴ داشته باشن.
نیاز نیست سطح دسترسی تک تک فایلها رو ویرایش کنین و این سطح دسترسی به صورت پیشفرض برای فایلهای سایت شما تنظیم شده (البته نه در همه هاستها ولی در اکثر اونها!) بنابراین نیاز نیست کار خاصی انجام بدین و فقط اگر میخواین سطح دسترسی فایل خاصی رو تغییر بدین باید برین سراغ همون یک فایل و تغییرات رو بر روی اون اعمال کنین.
سطح دسترسی ۷۵۵
از این سطح دسترسی برای پوشههای سایت استفاده میشه تا فایلها و محتویات موجود در این پوشهها و مسیرهای سایت تون برای عموم قابل مشاهده باشه.
سطح دسترسی ۷۷۷
به هیچ وجه سطح دسترسی هیچکدام از پوشهها و فایلهای موجود در هاست سایت خودتون رو بر روی ۷۷۷ تنظیم نکنین چون این یک کار خیلی خطرناکه! اگر این سطح دسترسی رو تنظیم کنین یعنی همه افراد قادر به مشاهده، دریافت و اعمال تغییرات روی اون فایلها و فولدرها هستن!
۹. فعال بودن Directory Listing یا Directory Browsing در هاست
این مورد رو به دو بخش تقسیم میکنم و با دو تصویر به شما نشون میدم که به راحتی متوجه بشین که دایرکتوری لیستینگ یا دایرکتوری بروزینگ یعنی چی.
برای اینکه از هر دو حالت براتون عکس تهیه کنم یک پوشه در هاستم ایجاد کردم با نام DirectoryListing (میتونستم هر نام دیگری رو به جای این قرار بدم) بعد چند فایل با فرمتهای مختلف در این پوشه قرار دادم.
یک بار دایرکتوری لیستینگ رو غیرفعال کردم و یک بار فعال و آدرس اینترنتی اون پوشه از هاست رو در مرورگر وارد کردم، نتیجه کار رو در دو عکس زیر میتونین مشاهده کنین.
Directory Listing در حالت غیرفعال
همونطوری که در تصویر بالا مشاهده میکنین آدرس shamsi.co/DirectoryListing رو به عنوان یک کاربر در مرورگر وارد کردم یعنی همون پوشهای که ایجاد کرده بودم و چند فایل در اون قرار داده بودم، دایرکتوری لیستینگ یا دایرکتوری بروزینگ رو هم قبل از وارد کردن آدرس در مرورگر غیرفعال کرده بودم.
در تصویر مشاهده میکنین که پیام Forbidden یا ممنوع، به کاربر نمایش داده شده و در پایینش توضیح داده که شما اجازه دسترسی به پوشه DirectoryListing رو ندارین، یعنی کاربر نمیتونه از محتویات این پوشه با خبر بشه و نمیتونه بفهمه که در این پوشه چه فایلهایی موجود هست.
البته اگر نام فایلهای خودتون رو انقدر ساده یعنی ۱ و ۲ و … قرار بدین و سطح دسترسی پوشه که در بند قبلی توضح داده بودم رو هم بر روی بالای ۴۰۰ تنظیم کنین کاربر با نوشتن آدرس shamsi.co/DirectoryListing/1.zip میتونه اون فایل رو به راحتی دانلود کنه.
Directory Listing در حالت فعال
همونطوری که در تصویر بالا مشاهده میکنین وقتی که دایرکتوری لیستینگ رو فعال کردم، از دید کاربر با نوشتن آدرس shamsi.co/DirectoryListing به راحتی میشه تمامی فایلها و محتویات درون اون پوشه از هاست رو مشاهده کرد.
نکته: این مورد بستگی به نیاز شما داره، شاید نیاز باشه که دایرکتوری بروزینگ برای برخی از پوشههای هاست شما فعال باشه و برای بعضیها هم نباشه به هر حال اگر فایلهای مهمی در هاستتون دارین چه فایلها و صفحات اصلی سایت و چه فایلهای محصولات، باید دایرکتوری بروزینگ پوشههای مهم سایت رو غیرفعال کنین.
نحوه فعال کردن دایرکتوری بروزینگ:
برای فعال کردن دایرکتوری بروزینگ، کد زیر رو در فایل htaccess. در پوشه یا دایرکتوری مد نظر قرار بدین.
اگر این فایل در پوشه وجود نداره، یک فایل با این پسوند در اون پوشه ایجاد کنین (این فایل هیچ نامی نداره و فقط پسوند داره)
Options +Indexes
نحوه غیرفعال کردن دایرکتوری بروزینگ:
برای غیر فعال کردن دایرکتوری بروزینگ، کد زیر رو در فایل htaccess. در پوشه یا دایرکتوری مد نظر قرار بدین.
اگر این فایل در پوشه وجود نداره، یک فایل با این پسوند در اون پوشه ایجاد کنین (این فایل هیچ نامی نداره و فقط پسوند داره)
Options -Indexes
۱۰. استفاده از پیشوند ـwp برای نصب وردپرس
این موضوع خیلی ساده به نظر میرسه اما حتی بسیاری از افراد حرفهای هم به دلیل عادتهای قبلی که از سالها پیش براشون باقی مونده یعنی در اثر عادت، خستگی و بی توجهی و … پیشوند جداول یا Table Prefix بانک اطلاعاتی رو هنگام نصب وردپرس به صورت پیشفرض قرار میدن، یعنی _wp
این پیشوند برای باقی سیستمهای مدیریت محتوا هم وجود داره ولی متفاوت هست، مثلا در سیستم اپن کارت _oc هست یا در سیستم جوملا به صورت اتفاقی و رندم توسط سیستم انتخاب میشه و به صورت دستی هم میشه اون رو تعیین کرد.
حتما هنگام نصب وردپرس پیشوند جدول دیگری رو بنویسین مثلا _jH2dAn
اگر هنگام نصب، همون پیشفرض یعنی _wp رو قرار دادین و مدتهاست سایت رو راه اندازی کردین و مطالب زیادی در اون قرار دادین و پلاگینهایی نصب کردین اصلا نگران نباشین، به روشهای زیادی میتونین پیشوند جداول سایتتون رو به راحتی تغییر بدین.
راهکارها:
سیستم مدیریت محتوای وردپرس پلاگینهایی برای این کار داره همچنین میتونین از طریق اجرای یکسری دستورات در بخش SQL در قسمت phpMyAdmin هاست و بانک اطلاعاتی سایتتون این کار رو انجام بدین اما این روش به هیچ وجه به کاربران مبتدی پیشنهاد نمیشه!
توجه: قبل از انجام هرگونه تغییرات در ساختار دیتابیس سایتتون از اون بک آپ تهیه کنین.
۱۱. استفاده نکردن از میزبان امن
میزبانی وب یا خدمات هاستینگ برای اینکه سایت شما به صورت ۲۴ ساعته و در ۷ روز هفته در دسترس و قابل مشاهده و استفاده باشه.
به منظور تحقق این هدف سایت شما باید بر روی کامپیوترهای سرور قرار بگیره که این کامپیوترها همیشه روشن هستن و به اینترنت متصل هستن. این سرورها و خدمات همون میزبانی وب نام دارن و هاست هم بخشی از فضای هارد این کامپیوترهای سرور هست.
برخی از شرکتها، هاستهای امنتری ارائه میکنن و یکسری کانفیگهای امنیتی خاص رو بر روی سرورهاشون انجام دادن تا امنیت سایت شما بالاتر بره، برخی شرکتها، هاستهای DDoS Protection یا Anti-DDoS هم ارائه میکنن.
بسیاری از شرکتهای هاستینگ موجود در ایران (حدود ۹۰ درصد اونها) خودشون دیتاسنتر یا مرکز داده و کامپیوترهای سرور ندارن و فقط یک واسطه فروش هستن که پشتیبانی خوبی به شما ارائه میکنن و خیلیهاشون شرکت هم نیستن اما به شرکت معروف هستن و کار تهیه هاست از شرکتهای خارجی و داخلی رو برای شما بسیار آسان میکنن. (منظورم همین سایتهایی هست که هاست میفروشن یا اجاره میدن)
شرکت هتزنر (Hetzner) یکی از شرکتهای بسیار معتبر ارائه هاست در دنیا هست که در کشور آلمان قرار داره، خیلی از سایتهایی که فروش هاست خارجی در ایران انجام میدن چه معروف و چه غیر معروف و چه باسابقه و چه بیسابقه از این شرکت هاست تهیه میکنن و به مشتریهای خودشون در ایران تحویل میدن. هتزنر فقط یکی از شرکتهای معروف هست و این یک مثال بود، شرکتهای معروف دیگر هم در خارج از کشور وجود داره.
به هر حال این واسطهها افراد متخصصی رو به خدمت گرفتن که اطلاعات بسیار خوب و مهارت بسیار خوبی در کانفیگ سرور دارن و هاست رو از شرکتهای معتبر خارجی و داخلی برای شما تهیه میکنن و در دسترستون قرار میدن و به شما پشتیبانی ارائه میکنن.
اگر خود شما بخواین به صورت مستقیم از شرکتهای خارجی هاست تهیه کنین در نهایت خیلی گرانتر براتون تمام میشه مثلا یک هاست ۴۰ هزار تومان در سال رو باید با حداقل ۵ برابر قیمت تهیه کنین و ویزا و مستر کارت تهیه کنین و اگر نیاز باشه کانفیگ هم انجام بدین، کلی زمان هم باید صرف کنین و کمی هم نیازه که زبان انگلیسی شما خوب باشه، بنابراین خیلی عاقلانهتر و بهتره کار رو به کاردان بسپارین!
سایتهایی که هاست ایرانی هم ارائه میکنن تقریبا همین کار رو انجام میدن (۹۰٪) فقط واسطه فروش هستن و پشتیبانی ارائه میکنن، در ایران هم دیتا سنترهایی وجود داره و شرکتهایی وجود داره که کامپیوترهای سرور رو در اختیار دارن. واسطههای فروش از این شرکتها مقداری فضا تهیه میکنن و در اختیار شما قرار میدن.
در زیر تصویر یک دیتا سنتر رو برای شما قرار میدم تا به راحتی متوجه بشین که دارم درباره چی و کجا صحبت میکنم! واقعا خیلی زیبا، منظم و جذاب هستن.
برای مشاهده تصویر در اندازه اصلی و بزرگتر بر روی اون کلیک کنین.
این تصویر یک اتاق سرور هست که واقع شده در ساختمان دیتا سنتر یا مرکز داده.
به مجموع این کامپیوترهای سرور، ساختمانی که این کامپیوترها در اون وجود داره و … میگن دیتا سنتر. اطلاعات سایت شما درون این کامپیوترهای همیشه روشن و متصل به اینترنت نگه داری میشه.
هر کسی اجازه ورود به این مراکز رو نداره و به راحتی نمیشه به اونها وارد شد، کارمندان برخی از دیتا سنترها گاهی اوقات برای چندین ماه اونجا زندگی میکنن و حتی دنیای بیرون رو نمیبینین! این مراکز معمولا در وسط شهرها واقع نمیشه و در حاشیه شهرها یا جاهای دور افتاده وجود داره، جاهایی که اطرافش باتلاق و مار و تمساح زیاده! به شدت تدابیر امنیتی رعایت میشه و نیروهای نظامی مسلح یا نگهبانان مسلح در دور تا دور این مراکز مستقر هستن تا از اطلاعات وبسایت های شما نگه داری بشه، یاد یک شعری از سعدی افتادم!
ابر و باد و مه و خورشید و فلک در کارند تا تو نانی به کف آریّ و به غفلت نخوری
همه از بهر تو سرگشته و فرمان بردار شرط انصاف نباشد که تو فرمان نبری
شاید تا به امروز تصور میکردین که فقط کارمندان کشتیهای بزرگ، سکوهای نفتی و معادن هستن که برای مدت طولانی از خانواده و مردم به دور هستن اما حالا میدونین که کارمندان دیتا سنترها هم شرایط مشابهی «از این نظر» دارن، البته امکانات رفاهی زیادی هم برای اونها فراهم هست.
۱۲. استفاده کردن از افزونه های امنیتی به منظور افزایش امنیت وردپرس!
توضیحات این بخش سرشار از تناقض هست اما همه چیزهایی هم که گفته میشه درسته 😎
همونطوری که گفتم قراره این بخش کلی تناقض داشته باشه و همین جمله بالا هم خودش تناقض داره!
بعضیها برای افزایش امنیت وبسایت خودشون بیدرنگ میرن سراغ نصب افزونهها یا پلاگینهای امنیتی! (البته اگر سایتشون رو بوسیله سیستمهای مدیریت محتوا راه اندازی کرده باشن)
آیا تا به حال به لیست به روز رسانی های پلاگین های امنیتی توجهی کردین؟
منظورم پلاگین خاصی نیست و قصد نام بردن و معرفی پلاگین رو ندارم اما نکته جالب اینجاست که خیلی از نویسندگان این پلاگینها بعد از مدتی در خود اون پلاگین امنیتی هم راه نفوذ و مشکل امنیتی پیدا میکنن که البته در آپدیتهای جدید تر اون رو رفع میکنن!
اصلا دقت کردین که چی شد؟ شما برای افزایش امنیت سایت خودتون پلاگین امنیتی نصب میکنین اما همین پلاگین هم ممکنه حفره امنیتی داشته باشه!
البته انقدر هم کشکی نیست! چون برخی از پلاگینهای امنیتی اونقدر پرطرفدار و با سابقه هستن و اونقدر جواب خودشون رو پس دادن که کارشون درسته و بودنشون از نبودنشون خیلی بهتره! به هر حال خود این پلاگین امنیتی هم میتونه یک راه برای نفوذ به سیستم باشه!
روش بهتری وجود داره برای افزایش امنیت سایت و اون اینه که بدون استفاده از هیچ پلاگینی امنیت سایت رو بالا ببرین!
بعضی از روشها رو در همین مقاله توضیح دادم مثلا تغییر سطح دسترسی فایلهای مهم سایت، غیرفعال کردن دایرکتوری لیستینگ، استفاده نکرده از قالبها و پلاگینهای نال شده که دارای مشکل امنیتی هستن و …
برخی از اونها هم کمی تخصصیتر هستن و از طریق اضافه کردن چندین خط کد در فایل htaccess. که در پوشههای هاست شما باید ایجاد بشه و اگر موجود هست فقط کدها به اون اضافه بشه و همچنین برخی کدها باید در فایلهای سایت شما قرار داده بشه انجام میشه.
البته این روش حوصله زیادی میخواد و نیاز به آشنایی کامل با سیستم داره و کمی باید حرفهایتر باشین و زیاد نیاز نیست که کد نویسی بلد باشین و فقط باید کدهای آماده رو جاگذاری کنین.
تقریبا هیچوقت امنیت یک سایت و سیستم ۱۰۰ درصد نمیشه حتی اگر سایت شما به صورت اختصاصی طراحی شده باشه اما انجام برخی کارها میتونه امنیت سایت شما رو حتی بالای ۹۹ درصد تضمین کنه و این درصد، درصد قابل توجهی هست.
راهکار و جمع بندی:
اگر سردرگم شدین و نمیدونین که از کدام روش استفاده کنین من پیشنهاد میکنم از پلاگینهای امنیتی استفاده کنین، درسته که گفتم یک پلاگین امنیتی ممکنه خودش مشکل امنیتی پیدا کنه یا داشته باشه و البته به این سادگیها هم نه اما وقتی مثلا از صد راه نفوذ به سایت شما ۹۹ تا رو ببنده و خود پلاگین فقط یک راه برای نفوذ باقی بذاره، کاملا عاقلانه هست که از اون پلاگین معتبر استفاده کنین چون در نهایت باعث میشه بسیاری از حفرههای امنیتی سایت شما پوشانده بشه و امنیت سایت شما رو تا حد بسیار مطلوبی بالا ببره.
روش دوم هم روش حوصله سر بر و وقتگیری هست و نیاز به تخصص بالاتری داره که اگر مثل من علاقه به درگیر شدن با کدها و ویرایش فایلها داشته باشین از این روش استفاده کنین.
همونطوری که در ابتدای این پاراگراف گفته بودم این قسمت قرار بود سرشار از تناقض باشه و دقیقا هم همینطور شد! به هر حال رسالت خودم رو انجام دادم و اونچه لازم بود گفتم و شما هر روشی رو که دوست دارین انتخاب کنین. باز هم یاد سعدی افتادم!
من آنچه شرط بلاغست با تو میگویم تو خواه از سخنم پند گیر و خواه ملال!
~ سعدی
۱۳. استفاده کردن از افزونه ها و قالب های نال (Null) شده و نا امن
خیلی از فروشندههای عزیز قالبها و پلاگینها در ایران میگن که قالبها و پلاگینها رو با لایسنس قانونی ارائه میکنن، از تم فارست اجازه رسمی دارن، از طراح و فروشنده اصلی قالب یا پلاگین اجازه گرفتن و … خیلی از این گفتهها حقیقت نداره شاید حدود ۹۰ درصد اونها!
البته این فروشندههای گرامی از کارکرد صحیح قالبها و پلاگینهای خودشون مطمئن هستن و بعضیهاشون هم از لحاظ امنیتی بررسی میکنن تا مشکل امنیتی نداشته باشه و بعد اون رو عرضه میکنن و استفاده از کلماتی مانند لایسنس قانونی و … فقط برای اینه که خیال شما رو هم از این نظر راحت کنن!
میخوام سیستم وردپرس رو مثال بزنم. قالبهای رایگان وردپرس مشکلی ندارن، قالبهای رایگان همونهایی هستن که در مخزن اصلی وردپرس برای دانلود قرار داده میشن و مورد تایید سایت وردپرس هست و اگر مشکلی داشته باشن به توسعه دهنده اون گزارش میکنن و در صورت رفع نکردن مشکل از سمت سازنده، اون رو سریعا از مخزن وردپرس حذف میکنن.
اما به دلیل رشد بسیار زیاد سایتهایی که آموزش، افزونه و قالبهای وردپرس ارائه میکنن و همچنین تقریبا از کار افتادن و به روز نبودن سایت وردپرس پارسی، میشه گفت این مورد برای ما ایرانیها صدق نمیکنه!
مثلا اون قالبهایی که در مخزن وردپرس فارسی قرار داده شدن برای دوره پارینهسنگی هستن! دیگه کارآیی ندارن و ناگزیر وردپرس کارها مجبورن از قالبهای بهروزتر و جدیدتر استفاده کنن اما وردپرس انگلیسی و اصلی هنوز هم کلی قالبهای به روز، زیبا و رایگان داره.
حدود ۹۰ درصد افزونهها و قالبهای وردپرسی که در مارکتها و سایتهای وردپرسی ایرانی برای فروش قرار داده شده، افزونهها و قالبهای نال شده هستن و به صورت رایگان از اینترنت و سایتهای خارجی دانلود شدن و فقط توسط این عزیزان به فارسی ترجمه شدن و ممکنه درصدی هم باشن که لایسنس قالبها و پلاگینها رو خریداری کردن و اونها رو با لایسنس قانونی ارائه میکنن.
به هر حال باز هم کار عاقلانهای هست که از همین افزونهها و قالبهای ترجمه شده استفاده کنین، به دلیل اینکه آپدیتهای جدید توسط مترجمها به طور منظم ارائه میشه (البته نه همه اونها ولی فروشندههای معتبر همینطوره) و اینکه چون بسیاری از این عزیزان با کدهای قالبها و پلاگینها آشنایی خوبی دارن و اگر هم قالبها و پلاگینهای نال شده رو برای فروش قرار میدن قبلش کدهاش رو به طور کامل بررسی میکنن که مشکل امنیتی نداشته باشن، هر طور حساب کنین خرید قالب از مارکتهای ایرانی و خرید پلاگین از مارکتهای ایرانی در حال حاضر بهترین کاریه که میشه انجام داد مگر اینکه خودتون از سایت تمفارست قالب رو با لایسنس قانونی به دلار خریداری کنین و خودتون اون رو ترجمه کنین و استفاده کنین یا اینکه خودتون قالبهای نال شده به زبان اصلی رو دانلود کنین و اونها رو تبدیل به فارسی کنین و استفاده کنین، که باید در هر دو حالت آشنایی کامل با کدها داشته باشین و وقت زیادی قرار بدین تا خط به خط تمام کدهای قالب و پلاگین رو بررسی کنین و ببینین که مشکل امنیتی نداشته باشن.
درصدی از افزونهها و قالبهای موجود در مارکتهای ایرانی هم نال شده نیستن و نسخه اصلی هستن.
راهکار:
از فروشندههای ایرانی خرید کنین و خودتون رو راحت کنین!
۱۴. استفاده کردن از پلاگین های بیشتر به منظور افزایش امکانات وب سایت
هر پلاگین میتونه خودش مشکل امنیتی داشته باشه و نمیشه که هیچ پلاگینی هیچ راه نفوذی نداشته باشه و اگر بحث مشکل امنیتی هم مطرح نباشه به دلیل متن باز بودن سیستم تمامی کدها برای همه قابل مشاهده هست (چه شما و چه هکرها)
به هر حال گاهی اوقات برای افزایش امکانات وبسایت اگر کدنویسی بلد نباشین مجبور به استفاده از پلاگینها میشین اما خوبه که یه نگاهی به لیست پلاگینهایی که نصب کردین بندازین و ببینین آیا واقعا همه این پلاگینهایی که نصب کردین مورد استفاده شما هستن؟
واقعیت اینه که اگر یه نگاه دقیقی به لیست پلاگینهایی که نصب کردین بندازین میبینین که احتمالا بعضی از پلاگینهایی که نصب کردین کار خاصی دارن برای سایت شما انجام نمیدن و با حذف اونها هم چیز زیادی از دست نمیدین! یا اینکه میتونین به جای استفاده از این پلاگین از روش دیگری استفاده کنین.
در هر صورت نصب بسیاری از پلاگینها هم اجتناب ناپذیر هست و مورد نیازه اما خیلی از کارهایی که پلاگینها برای ما انجام میدن رو میشه به صورت دستی هم انجام داد مثلا پلاگینهای کَش وردپرس یکسری دستورات رو در htaccess. ایجاد میکنن و میشه بدون استفاده از هیچ پلاگینی هم از طریق یکسری دستورات قابلیت کش وردپرس و وبسایت رو فعال کرد.
این روش به این آسانی هم نیست و هم نیاز به وقت و انرژی بیشتری داره و هم نیاز به کمی تخصص! البته نیاز به کدنویسی نیست و کدهای آماده خیلی زیادی برای این کار وجود دارن.
همچنین میتونین به جای استفاده از برخی پلاگینها که نیاز به استفاده از همه ویژگیهای اون پلاگین هم ندارین، خودتون پلاگین بنویسین یا بدین دیگران برای شما بنویسن اما این هم نیاز به زمان، هزینه، انرژی و تخصص داره.
راهکار:
تنها کاری که لازمه انجام بدین اینه که تا حد امکان از پلاگینهای کمتری استفاده کنین، همین.
استفاده از پلاگینهای کمتر علاوه بر ارتقا امنیت سایت شما باعث میشه که سایت سریعتر هم کار کنه.
حتما پلاگینهای غیرفعال که از اونها استفاده نمیکنین رو هم حذف کنین.
۱۵. استفاده از کپچا یا کد امنیتی به منظور افزایش امنیت وردپرس و سایت
یکی از روشهای جلوگیری از دریافت دیدگاههای اسپم، ایمیلهای اسپم از فرم تماس و جلوگیری از کارکرد نرم افارهای کِرَکر توسط هکرها برای نفوذ به وبسایت و … قرار دادن کپچا یا کد امنیتی برای فرمهای مهم سایت شما مانند فرمهای ثبت نام، تماس، ورود، بخش نظرات و … هست.
کپچا یا ری کپچا یک سامانه امنیتی هست که میتونه تشخیص بده که کاربر حاضر در سایت شما یک انسان واقعی هست یا یک کامپیوتر یا ربات و معمولا شامل اعداد و حروف کج و ناواضح هست که عمداً به این شکل نوشته شده تا توسط رباتها قابل تشخیص نباشه و فقط توسط انسان قابل خوانایی و تایید باشه و باید اون رو در کادری که همونجا فراهم شده بنویسین، البته ری کپچا نسخه ۲ گوگل متفاوت هست و دیگه نوشتنی نیست و فقط با کلیک موس یا لَمس و تاچ قابل تایید هست که تصاویرش رو در زیر برای شما قرار دادم.
شرکت گوگل این اختراع رو به نام خودش ثبت کرده و از سال ۲۰۰۷ اون رو رونمایی کرد اما به احتمال خیلی زیاد این اختراع مربوط به شرکت گوگل نیست و از سالها قبل بر روی اون تحقیق شده بود و اختراع شده بود.
مثلا شما یک فرم به جهت ثبت نام در سایت قرار دادین و ری کپچا رو برای اون فرم قرار میدین که مطمئن بشین یک انسان اون فرم رو پر میکنه یا نه و کاری رو از کاربر میخواد مثلا وارد کردن حروف، اعداد یا ترکیبی از هر دو یا روشهای جدیدتر مانند ری کپچا گوگل که بعضی اوقات از کاربر میخواد چند تا از تصاویر رو که به اون نمایش داده شده انتخاب کنه.
در این قسمت بیشتر صفحه ورود به سایت مطرح هست و مثلا اگر نام کاربری یا آی دی ادمین در اختیار دیگران باشه، نتونن به راحتی بوسیله کِرَکِرها پسورد مدیر رو بشکونن.
راهکار:
هم میتونین بوسیله کدها این کار رو انجام بدین هم بوسیله استفاده از افزونه یا پلاگینها که برای این قسمت روش دوم رو به شما پیشنهاد میکنم چون روش اول برای این کار کمی پیچیدهتر هست و تخصص بیشتری نیاز داره.
یکسری افراد متخصص در دنیا هستن که زحمت کشیدن و میکشن و محبت میکنن! این افزونهها رو مینویسن و به صورت رایگان در اختیار مردم قرار دادن و میتونین به راحتی ازشون استفاده کنین و اصلا نیاز نیست که خودتون پلاگین نویسی یاد بگیرین!
پلاگین رایگان و بسیار عالی Google Captcha (reCAPTCHA) by BestWebSoft یکی از بهترین پلاگینها برای این کار هست که بیش از ۸۰ هزار بار از مخزن وردپرس دریافت شده و بر روی وبسایت ها فعال هست.
این پلاگین ری کپچای گوگل رو به قسمتهای فرم ورود به سایت، فرم ثبت نام، فرم فراموشی رمز عبور و فرم دیدگاهها اضافه میکنه همچنین دو پوسته روشن و تاریک داره و از ری کپچای گوگل نسخه ۱ و ۲ پشتیبانی میکنه.
از ویژگیهای بسیار جالب این افزونه اینه که میتونین تعیین کنین برای ثبت نظر کاربران و مشتریانی که قبلا وارد حساب کاربری خودشون در سایت شما شدن دیگه ازشون کد امنیتی درخواست نکنه و ری کپچا دوباره به اونها نمایش داده نشه چون اونها قبلا یک بار هنگام ورود به حساب کاربری خودشون تایید کرده بودن که انسان هستن و ربات نیستن بنابراین دیگه معنایی نداره که دوباره بخوان هنگام ثبت نظر این مورد رو تایید کنن.
این پلاگین نسخه پولی هم داره و نسخه پولی امکانات بسیار بیشتری داره، مثلا چتد تا از ویژگیهایی که در نسخه پولی افزونه هست سازگاری کامل با پلاگینهای ووکامرس، فرم تماس ۷ و بادی پرس هست و در نسخه پولی میتونین به صورت دستی زبان فرم ری کپچا رو تعیین کنین ولی در نسخه رایگان این امکان وجود نداره که زبان فارسی رو انتخاب کنین و باید از قسمت ویرایش کدها این کار رو انجام بدین.
نکته: افزونههای خوب بسیار زیاد دیگری هم وجود داره که برخی از اونها در نسخه رایگانشون امکانات نسخه پولی این افزونه که بالاتر معرفی کردم رو دارن و میتونین با جستجو در مخزن وردپرس اونها رو پیدا کنین.
سخن آخر
موضوع امنیت موضوعی هست که جای نوشتن بسیار داره و اگر صد تا مقاله و کتاب هم براش نوشته بشه و صد تا محصول آموزشی هم براش تولید بشه باز کمه!
امیدوارم این مقاله که تاکنون طولانی ترین مقاله این وب سایت شده مورد قبول شما عزیزان واقع شده باشه.
نوشتن این مقاله حدود ۲ هفته زمان برد و تعداد واژه های اون ۷۵۰۰ تا هست!
لطفا نظرات خودتون رو در قسمت دیدگاههای همین مطلب ثبت کنین و اگر سوالی دارین بپرسین تا از همین طریق در اسرع وقت پاسخ بدم.
تمامی مواردی که در این مقاله گفته شد به ترتیب اهمیت نوشته نشده، مثلا اینطور نیست که شماره ۱ مهمتر از شماره ۱۵ باشه، همه این موارد مهم هستن.
نویسنده: احمد شمسی
منبع: شمسی دات کو
سلام
خسته نباشی
سلام خوبی برادر حرفهایتان بر روی من اثر کرد میخوام یه کار شروع کنم خدا را شکر موقعیت ش را دارم فقط من از هیچ چیز اینترنت سر در نمیارم فقط میتونم سرچ کنم ممنون میشم برام یه وب سایت بازار یابی درست کنید و دست ما را بند کنید …
سلام آقا موسی عزیز، خوشحالم که محتوای سایت مورد قبول شما قرار گرفت.
صادقانه بگم که با شرایط فعلی شما، من اگر وبسایتی هم تحویل شما بدم، تقریبا فایده ای براتون نداره.
پیشنهاد میکنم ابتدا از مقالات و فایلهای رایگان موجود در همین سایت استفاده کنی و پس از اون از محصولات، بهتره خودت یاد بگیری که برای خودت کسب و کار اینترنتی راه اندازی کنی و با جزئیات کار آشنایی داشته باشی. در این مسیر اگر سوالی هم داشتی میتونی بپرسی، من در اسرع وقت پاسخ میدم.
دمت گرم
عالی بود. ریزه کاریهای خوبی توضیح داده بودید. مرسی
الان چرا خودتون از کدهای کپچا استفاده نکردید که از اسپم ها جلوگیری کنه؟
باسلام خدمت خانم شیما گرامی. به جاش برای جلوگیری از دریافت اسپم، از افزونه ضد هرزنامه Akismet استفاده شده. البته برای بخش نظرات. سایر قسمت ها فعلا نیاز نشده. موفق و سلامت باشی.
سلام و عرض تشکر از مقاله خوبتون.
ای کاش شما هم این مقاله رو بروز رسانی کنید.
سلام. متشکرم. فکر میکنید کدام قسمت نیاز به بروزرسانی داشته باشه؟ لطفا بگید. چشم بررسی میکنم در صورت نیاز انجام میشه.
سلام و عرض ادب
ممنون از مقاله بسیار عالی شما.
من کد مربوط به 🙁 جلوگیری از مشاهده اطلاعات کاربران توسط آی دی)
را وارد کردم ولی دوباره نام کاربر ادمین رو نمایش میده.
چطور میتونم این مشکل رو برطرف کنم؟
ممنونم
سلام و تشکر. درسته، احتمالا این کد با نسخههای جدید وردپرس همخوانی نداره. در صورت امکان بهزودی مقاله بروزرسانی میشه و کدهای سازگار با نسخههای جدید وردپرس جایگزین میشه.
فعلا میتونین از یک راهکار دیگه استفاده کنین. این راهکار ریدایرکت هست. کافیه توسط یک افزونه ریدایرکت، آدرس صفحه نویسنده رو به یک صفحهی دیگه ریدارکت کنین.