امنیت در وردپرس – ورپرستان را ضد گلوگه کنید بخش اول

56

امنیت در وردپرس - ورپرستان را ضد گلوگه کنید بخش اول

در دنیای اینترنت امنیت از اهمیت بسیاری زیادی برخوردار است. گرچه متاسفانه اینطور به نظر میرسد که این روزها ما به “امنیت” فقط و فقط به طور شفاهی اهمیت میدهیم و پای عمل که میرسد از کنار خیلی مسائل به سادگی میگذریم. افراد زیادی را میبینم که از پایین بودن امنیت وردپرس حرف میزنند و چون این وسط سایت هایشان یکی دو باری هم هک شده است از این شکایت میکنند که وردپرس ضعف های امنیتی زیادی دارد و برای همین آن را سیستم مدیریت محتوای مناسبی نمیدانند. البته میپذیریم که هر اسکریپیتی باگ های خاص خودش را دارد اما اینکه ما بخش مدیریت اسکریپتمان را برای همه باز بگذاریم و رمزمان از ۱۲۳۴۵ آن طرف تر نرود و تازه یوزرمان هم همان admin آشنای همیشگی باشد و عملا سایتمان را به امان خدا رها کرده باشیم و بعد که هک شدیم بیاییم و تقصیر را گردن اسکریپت بیاندازیم واقعا بی انصافی است. به نظر شخصی من و البته به نظر میلیون ها نفر دیگر در سراسر جهان، وردپرس واقعا قدرتمند است، خوب پس بیایید این بار با هم ضد گلوله کردن وردپرسمان را یاد بگیریم. اینکه در این مقاله امنیت وردپرس را هدف میگیرم دلیلش نا امنی وردپرس نیست، بلکه دلیلش این است که این اسکریپت طرفداران بسیار زیادی دارد و راحت میتوان گفت از هر ۱۰ نفری که میخواهند یک سایت راه بیاندازند دست کم 6 نفرشان مطمئنند که باید وردپرس را انتخاب کنند.

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

در هنگام نصب:

اگر قرار به رعایت امنیت است، باید اولین آجر را نیز که همان نصب وردپرس است درست بگذاریم. حتما همه شنیده اید که شاعر میگوید : “خشت اول چون نهد معمار کج، تا سریا میرود دیوار کج” سریا هم میدانم با ث است.
می خواستم ببینم حواستان هست یا نه!!! خوب حالا ببینیم در زمان نصب چه نکاتی را باید رعایت کنیم:

1 – یوزر Admin نسازید!

در کدام قانونی نوشته شده که اسم مدیر باید حتما Admin باشد؟ کمی خلاق باشید و در زمان نصب وردپرس برای مدیر یک نام کاربری عجیب و غریب در نظر بگیرید که در هیچ کجای دنیا شناخته شده نباشد. مثلا جای ادمین، نام G67BnMol0oOl1i را انتخاب کنید. استفاده از نامی غیر از نام Admin برای مدیر، باعث میشود هکر ها مجبور شوند علاوه بر پسورد شما، نام کاربریتان را هم حدس بزنند. (البته ۱۰۰ درصد نه با مغزشان، بلکه با نرم افزار) و اگر شما رئیس سازمان CIA نباشید، احتمالا شکستن چنین ترکیبی با یک کامپیوتر خانگی، اگر پسوردتان را هم در نظر بگیریم خیلی خیلی وقت میخواهد! خیلی خیلی.…

اگر کار از کار گذشته و قبلا این یوزر را ساخته اید…

اشکالی ندارد، بگذارید با هم نامش را عوض کنیم. به روش پیچیده اش کاری ندارم ولی ساده ترین روش این است:
– یک مدیر جدید در وردپرستان ایجاد کنید.
– با مدیر جدید لاگین کرده و مدیر قبلی را پاک کنید
– حواستان باشد که نوشته های مدیر قبلی را پاک نکنید و در هنگام پاک کردن مدیر قبلی، نوشته هایش را به نام کاربری جدیدتان نسبت دهید.

2 – پیشوند جداول دیتابیس

در زمان نصب وقتی وردپرس از شما می پرسد که مایلید پیشوند جداول دیتابیستان به چه صورت باشد. اگر شما در این بخش تغییری ایجاد نکنید به طور پیشفرض، پیشوند جداول شما معادل wp_ خواهد بود. خوب اگر به دنبال امنیت هستید در زمان نصب حتما پیشوند جداول را به پیشوند پیچیده تری تغییر دهید چون وگرنه برای همه کاملا واضح است که پیشوند جداول یک سایت وردپرسی باید wp_ باشد. مثلا بیایید و عبارت W9b0Om_ را به عنوان پیشوند جداول انتخاب کنید.
حالا اگر نصب تمام شده و کار از کار گذشته شما دو راه پیش رو دارید. اول اینکه از طریق phpMyAdmin پیشوند ها را تغییر دهید که من این روش را توصیه نمیکنم و دوم اینکه منتظر قسمت دوم همین مقاله بمانید تا آنجا بهترین روش را به شما اموزش دهم.

3 – نمایش عمومی نامتان را در وردپرس تغییر دهید.

وردپرس به صورت پیشفرض نام کاربری شما ( که مدیر هستید) را در نوشته هایتان به نمایش میگذارد. این اصلا خوب نیست. یعنی حتی اگر شما یوزری به نام ادمین هم نداشته باشید، یک نفر به سادگی میتواند به نگاه به نویسنده ی پست هایتان بفهمد که نام کاربری شما چیست. راه حل این مشکل بسیار ساده است. کافی است در وردپرس به شناسنامه تان مراجعه کنید و با وارد کردن نام و نام خانوادگیتان در این بخش، نمایش عمومی نامتان را از نام کاربریتان به نام / نام خانوادگی یا لقبتان تغییر دهید.

نمایش عمومی نامتان را در وردپرس تغییر دهید

راهنما : با ایستادن روی نامتان در نوار بالایی مدیریت وردپرس، میتوانید به شناسنامه تان دسترسی داشته باشید.

4 – نگذراید وردپرس لینکی به یوزر نیم شما در نوشته ها و به طور کلی طرف کاربران به نمایش بگذارد.

اگر فکر میکنید با انجام مرحله ی شماره 3 کارتان به اتمام رسیده در اشتباهید. وردپرس عزیز لطف میکند و نام نویسنده را به یوزرش لینک میکند. البته این مسئله ممکن است در قالب های مختلف متفاوت باشد اما شما در این زمینه دو انتخاب دارید. اول اینکه با دست کاری قالبتان به طور کامل لینک نویسنده را حذف کنید. در وبلاگهایی که دارای یک نویسنده هستند این مسئله چندان هم مهم نیست اما اگر بیش از یک نویسنده داشته باشید، این مسئله کارایی بلاگتان را از بین خواهد برد. بنابراین برای حل این مشکل به شیوه ی زیر عمل کنید:

– افزونه ی Edit Author Slug را روی وردپرستان نصب کنید.
– به شناسنامه تان در وردپرس مراجعه کنید و در بخش edit author slug لینک جدیدی به یوزرتان اختصاص دهید.
به این شکل دیگر نام کاربری واقعی شما در لینک نویسنده به نمایش در نخواهد آمد و کسی به این سادگی ها قادر نخواهد بود نام کاربری واقعی شما را پیدا کند.

5 – روی فولدر ادمین پسورد بگذارید.

دو لایه ی امنیتی همیشه بهتر از یک لایه ی امنیتی است. من که اصلا دوست ندارم اگر کسی آدرس ورود به مدیریت را در ادامه ی آدرس بلاگم تایپ کند به سادگی به صفحه ی ورود به مدیریت هدایت شود. بنابراین یکی از ساده ترین کارهایی که هرگز نباید فراموش کنید این است که روی فولدر ادمینتان پسورد بگذارید. برای گذاشتن پسورد روی فولدر ادمین به شکل زیر عمل کنید:

– یک نام کاربری و یک کلمه ی عبور مناسب که علاوه بر دارا بودن امنیت مناسب، فقط و فقط از حروف و اعداد (بزرگ و کوچک مهم نیست) تشکیل شده باشد برای خود انتخاب کنید.
– روی اینجا کلیک کنید و در صفحه ای که برایتان باز میشود، در قسمت یوزر نیم، نام کاربری ای که انتخاب کرده اید و در قسمت پسورد، کلمه ی رمزی که انتخاب کرده اید را وارد کرده و سپس روی دکمه submit کلیک کنید. به سایر تنظیمات کاری نداشته باشید چون ما قصد نداریم از همه ی کد هایی که این سایت به ما میدهد استفاده کنیم و فقط و فقط به یوزر نیم و پسوردی که هش میکند احتیاج داریم.
– محتوایی که این سایت در بخش .htpasswd به شما تحویل میدهد را در ذخیره کنید.
– در هاست خود به یک فولدر قبل ازpublic_html بروید. (در cpanel همان Home و در دایرکت ادمین یک فولدر پس از فولدر نام دامنه) در این جا یک فولدر با یک نام عجیب و غریب بسازید. منظورم از عجیب و غریب چیزی است هر کسی نتواند حدس بزند ولی لازم نیست از علامات و … استفاده کنید.
– در این فولدر یک فایل بسازید با نام .htpasswd و آنچه در ابتدای مراحل از سایت ذکر شده دریافت کرده بودید را در این فایل قرار دهید. (نقطه ی ابتدای نام فایل را فراموش نکنید)
– حالا به فولدر ادمین وردپرس بروید (wp-admin). در این فولدر یک فایل با نام .htaccess ایجاد کنید و کد زیر را البته با تغیرات لازم در آن قرار دهید :

در کدی که در بالا برایتان نوشتم لازم است به جای user نام کاربری خودتان در هاستی که دارید را قرار دهید و بجای samplefolder نام فولدری که ساختید و فایل .htpasswd را در آن قرار دادید. (البته توجه کنید شاید مسیر شما بجای home از مسیر دیگری آغاز شود، مثلا home3، home2 و ….) قسمت آخر را هم به هیچ عنوان فراموش نکنید چون اگر دسترسی به فایل admin-ajax.php را مجاز نکنید بعدا در پنل مدیریت چیزی جز آشفتگی نسیبتان نخواهد شد.
– خوب حالا اگر این مراحل را درست طی کرده باشید در زمان ورود به مدیریت باید با یک پیام روبرو شوید که از شما تقاضای نام کاربری و پسورد میکند. اینجا کافی است نام کاربری و پسوردی که به تازگی برای خود انتخاب کرده اید را وارد کنید تا بتوانید به صفحه ی ورود به بخش مدیریت بروید. مثل شکل زیر:

گذاشتن پسورد روی فولدر ادمین وردپرس

6 – wp-config.php جایش اینجا نیست!

خواهشا کمی بیشتر به فکر فایل کانفیگتان باشید. اگر تا امروز آن را امن نکرده اید بهتر است هر چه سریع تر به سراغش بروید و آن را به یک فولدر بالا تر از public_html سایتتان انتقال دهید. حتی الامکان دسترسی اش را هم روی ۴۴۴ بگذارید که خیالتان حسابی راحت باشد. خوشبختانه اینجا کارمان پیچیدگی زمانی که میخواهیم جای فایل کانفیگ را در جوملا عوض کنیم را ندارد. کافی است فایل کانفیگ به یک فولدر بالاتر از public_html سایتتان انتقال پیدا کند و پس از آن بقیه ی کارها بر عهده ی خود وردپرس است که جای این فایل را پیدا کند.

چرا سطح دسترسی فایل .htaccess را عوض نمیکنیم؟

اگر به دنبال ضد گلوله به معنای واقعی میگردید که خوب باید دسترسی این فایل را هم روی ۴۴۴ بگذارید که نوشتن روی آن به این سادگی ها امکان پذیر نباشد اما در نظر بگیرید که این کار ممکن است در کارکرد بعضی پلاگین های امنیتی و یا پلاگین سئو که در وردپرستان نصب کرده اید تداخل ایجاد کند. تصمیم با خودتان است!

7 – به روز باشید

هسته وردپرس و کلیه ی افزونه ها و قالب های آن را همیشه به روز نگه دارید. قبول دارم که گاهی به روز کردن افزونه های وردپرس کمی تا قسمتی پشیمانی به بار می آورد اما به طور کلی باید همیشه افزونه ها و پوسته هایتان را آپدیت کنید. چرایش هم کاملا واضح است. افزونه ها و پوسته های قدیمی (و همینطور نسخه های قدیمی وردپرس) ممکن است پر از باگ های امنیتی باشند و سایت شما را در برابر هکر ها آسیب پذیر کنند. اگر هم نگران هستید که به روز رسانی برخی از افزونه ها ممکن است سایت شما را به هم بریزد و یا یک افزونه ممکن است با ورژن وردپرس شما سازگاری نداشته باشد کافی است برای جلوگیری از هرگونه دردسر های بعدی، همیشه یک نصب وردپرس کاملا یکسان با سایتتان به صورت لوکال داشته باشید که همه ی افزونه ها را ابتدا به صورت لوکال روی آن تست کنید و بعد در صورتی که تغییرات مورد نظر در سایتتان ایرادی ایجاد نکرد، آنها را در محیط اینترنت اجرایی کنید.

8 – حواستان به پوسته های خبیث باشد!

واقعیت این است که در ۹۹ درصد موارد وقتی افراد یک سایت وردپرسی را استارت میزنند، برای شروع کار خود از پوسته های رایگان استفاده میکنند و از آنجایی که گربه هم محض رضای خدا موش نمیگیرد، به سادگی میتوان گفت که اگر در گوگل به دنبال پوسته های رایگان بگردید شاید از هر ۱۰ پوسته ۷ تای آنها یک جای کارشان میلنگد و اکثرشان پر از کد های base64 هستند. کد های base64 همیشه مخرب نیستند ولی از طرفی هم اگر چیزی برای مخفی کردن نداریم پس چه لزومی دارد که آن را کد کنیم؟ وقتی کدش میکنیم یعنی یک جای کار میلنگد. برای این که پوسته ی خود را محک بزنید و از سلامت آن اطمینان حاصل کنید کافی است افزونه ی Theme Authenticity Checker را روی وردپرستان نصب کنید. این افزونه به شما اجازه میدهد تک تک پوسته هایی که روی سایتتان نصب کرده اید را به دنبال کد های مخرب شناخته شده جستجو کنید و حتی در مواردی در پوسته ها بهبود ایجاد کنید.

استثنا : البته همه ی مواردی که این افزونه پیدا میکند مخرب نیستند. به عنوان مثال اگر درست به خاطر داشته باشم ایمیج ریسایزر TimThumb در جایی که کسی یکی از تصاویر شما را در سایتش به کار برده باشد، برای جلوگیری از hotlinking و هدر رفتن پهنای باند شما یک خروجی تصویری به شخص خاطی نشان میدهد که در این خروجی نوشته شده این شخص اجازه ندارد به صورت مستقیم تصاویر شما را در سایتش استفاده کند. این خروجی خودش یک تصویر است که از یک کد base64 حاصل میشود. خوب طبعا اگر قرار است پهنای باند شما هدر نرود بهترین چاره همین base64 خواهد بود. حالا اگر پوسته ای که اید کد درونش استفاده شده را به دست افزونه ی TAC بسپارید به شما هشدار خواهد داد که پوسته ی شما دارای کد base64 است. این هم از استثنا.

9 – به وردپرستان نمک بزنید…

باور کنید شوخی نمیکنم. وردپرس بدون نمک مثل سالاد بدون سس است! تعریف salt در کانفیگ وردپرستان به شما کمک میکند که سایت خود را در برابر حملات هکر ها چندین برابر امن تر کنید. salt ای که شما تعریف میکنید در رمز گذاری کلیه ی ارتباطات، ذخیره ی فایل ها و کوکی های ذخیره شده روی سیستم های کاربران به کار خواهد رفت و همه چیز را امن تر خواهد نمود. در عین حال گاهی هم وردپرس salt ای که شما تعریف کرده اید را با یک استرینگ طولانی دیگر در هم می آمیزد و با ترکیب این دو، به بهترین شکل اطلاعات محرمانه ی شما را رمزگذاری میکند تا دسترسی به آنها به این سادگی ها ممکن نشود. حالا این salt را کجا تعریف کنیم؟
– به فایل کانفیگ وردپرستان مراجعه کنید (wp-config.php)
– در این فایل به دنبال کد های زیر بگردید :

– روی این لینک کلیک کنید و محتوای ایجاد شده را کپی نمایید.
– کدی که کپی کرده اید را در فایل کانفیگ وردپرس جایگزین کد های قبلی کنید و تنظیمات را ذخیره نمایید.

10 – پلاگین های اجرای PHP

به خودتان لطف کنید و اگر این پلاگین ها را واقعا نیاز ندارید آنها را هرگز نصب نکنید. خوب حتما میپرسید چرا. دست کم به دو دلیل. اول اینکه ذخیره ی کد پی اچ پی در پایگاه داده اصلا جالب نیست. وقتی شما کد پی اچ پی را در یک پلاگین مخصوص اجرای PHP در وردپرس ذخیره میکنید، وقتی که قرار است این کد اجرا شود، ابتدا باید یک بار از دیتابیس خوانده شود و بعد به عنوان داده های زبان PHP تفسیر شود. این یک دلیل. و دلیل دیگر اینکه اجازه بدهید بنده پسورد وبسایت شما را پیدا کنم تا با همین پلاگین دوست داشتنی، وبسایت دوست داشتنی تر شما را تبدیل به یک بد افزار کنم. بعد هم از بلاک شدن سایتتان توسط گوگل و … لذت ببرید. پس در این زمینه دقت به خرج دهید.

11 – HTML را در نظرات غیر فعال کنید.

یکی از هکر های عزیز همین چند وقت پیش دوره افتاده بود و با همین HTML های مثلا دوست داشتنی و از طریق ارسال نظر در وردپرس دیگران را هک میکرد و دیگران مات و مبهوت میمانند که چه شد که اینطوری شد! بله اینطوریا بود که اونطوریا شد! اصلا و اصلا به صلاح نیست که شما به کاربرانتان اجازه ارسال HTML در نظرات بدهید. به طور پیشفرض اگر یک کاربر از تگ های HTML در نظرش استفاده کند، قالب شما آن بخش از نظر را که دارای کد HTML هست با همین زبان تفسیر کرده و نتیجه ی آن را به نمایش میگذارید اما اگر شما از قبل استفاده از HTML را در نظرات ممنوع کرده باشید، هر گار کاربر یکی از تگ های این زبان را در نظرش به کار ببرد، نتیجه به جای اینکه تفسیر شود، به عنوان تکست ساده به نمایش در خواهد آمد. خوب پس همین حالا دست به کار شوید به شیوه ی زیر استفاده از HTML را در نظرات وبسایتتان ممنوع کنید:

– در بخش مدیریت وردپرس از منوی “نمایش” زیر منوی “ویرایشگر” را انتخاب کنید تا به محل ویرایش فایل های قالبتان هدایت شوید.
– فایل functions.php را برای ویرایش انتخاب نمایید و کد زیر را به آن اضافه کنید :

– تغییرات را در فایل مورد نظر ذخیره کنید.
خوب حالا هر کسی که در نظرات شما HTML ارسال کند، نتیجه اش نمایش کد های درهم و برهم HTML خواهد بود و نه اجرا و تفسیر این کد ها.

این مقاله هنوز هم ادامه دارد و تا به اینجای کار هنوز هم سایت وردپرسی شما دارای حداکثر امنیت نیست. در واقع بخش مهمی از این مقاله را نگه داشته ام تا در قسمت دوم راجع به آن با شما صحبت کنم. دلیلش هم این است که در قسمت آینده ابزاری مناسب برای اعمال سایر تنظیمات امنیتی به شما معرفی خواهم کرد که میتواند در هر مرحله با چند کلیک ساده کار شما را راه بیاندازد. بنابراین این قسمت از آموزش را به خوبی روی سایتتان اجرا کنید و منتظر قسمت دوم باشید تا در قسمت آینده با کمک هم به هدف خود که امن کردن سایت وردپرسیمان است برسیم.

برای مطالعه بخش دوم مقاله روی اینجا کلیک کنید

دسترسی آسان به این مطلب لینک کوتاه :
شاید از اینها هم خوشتان بیاید!
56 دیدگاه
  1. siavash می گوید

    عالی بود مرسی

    1. MrCode می گوید

      خواهش میکنم. خوشحالم که براتون مفید بود. 🙂

  2. ali می گوید

    سلام من همه کارا رو طوری که گفته بودین انجام دادم و بالا اومد ولی ی مشکلی هس
    مشکل اینه که وقتی صفحه ی ورود به مدیریت رو میزنم طبق اموزش پیام بالا میاد ولی اگه همون موقع دکمه استپ رو توی مرورگر بزنم این یهو خودش میره و صفحه ی ورود اصلی میاد
    چیکار کنم که نیاد؟

    1. MrCode می گوید

      سلام
      از دو حالت خارج نیست. یا همه چیز رو کاملا صحیح انجام دادید و صفحه ورودی که میبینید بخاطر این هست که قبلا در مرورگرتون کش شده و یا حالت دوم این هست که چیزی رو از قلم انداختید.
      اما من احتمال میدم که همون مبحث کش هست. چون وقتی مرورگر از شما درخواست رمز عبور فولدر ادمین رو میکنه، در اون حالت صفحه اصلا در حالت بارگذاری نیست که شما بخواید استاپ کنید و محتوایی براتون لود بشه. در صورت استاپ صرفا باید پیام درخواست رمز از بین بره و با صفحه ی خالی مواجه باشید. اگر هم پیام درخواست رمز رو کنسل کنید باید با پیام خطای Authorization Required مواجه بشید. بنابراین بحث کش محتمل به نظر میرسه.
      در صورت امکان توی یک مرورگر دیگه تست کنید ببینید مشکلتون برطرف میشه یا خیر.

  3. ali می گوید

    سلام من هرچی گفتی رو انجام دادم ولی باز هم همونطوریه میشه بیای و درستش کنی

  4. جوادی محب می گوید

    با سلام
    بسیار کاربردی و عالی بود ممنونم از شما
    ببخشید یه سوال ، کد باکسی که برای نمایش کد ها استفاده کردید افزونه خاصی هست خیلی دنبالشم ! اگه میشه بطور کامل راهنمایی کنید

    ممنونم

    1. MrCode می گوید

      سلام. شما لطف دارید.
      برای باکس کد ها بنده از افزونه ی Crayon Syntax Highlighter استفاده میکنم. میتونید از لینک زیر دانلود کنید، هیچ کانفیگ خاصی هم نمیخواد :
      https://wordpress.org/plugins/crayon-syntax-highlighter
      بعد از نصب دکمه مربوط به این افزونه به بالای ویرایشگر نوشته ها اضافه میشه که میتونید ازش استفاده کنید.

  5. ali می گوید

    مرسی از مطلبت!
    من میخام که در بخش نطرات مخاطبان در سایت:ساعت،تاریخ ونام نظردهندگان مخفی شود ! راهنمایی میخام با تشکر

  6. علیرضا می گوید

    سلام.اول ممنون از آموزش
    بعدش یه سوال در قسمت روی فولدر ادمین پسورد بگذارید
    وقتی گذاشتم باکس رمز ورود برای بازدید کننده های سایت هم میاد چی کار کنم که این طور نشه؟

    1. MrCode می گوید

      سلام. ممنون از شما.
      اگر مراحل رو صحیح انجام بدید این اتفاق نمی افته. یکی از بخش ها رو اشتباه انجام دادید و احتمالا محل قرارگیری دستورات htaccess تون ایراد داره.

  7. ali می گوید

    سلام خسته نباشید

    من داخل فایل functions.php کد های قرار داده شده را گذاشتم ولی یه سری کد بالای صفحه مدیریت و همچنین بالای صفحه سایت میاد…
    علت چیست؟؟؟
    کد ها را در کدام قسمت functions.php قرار بدم؟؟؟

    1. MrCode می گوید

      سلام
      اگر کار رو صحیح انجام بدید چیزی نباید بالای سایت بیاد!
      در ضمن توجه کنید که کدهای موجود در این آموزش هر کدام برای قرار گیری در فایل خاصی هستند. بنابراین توجه کنید که گفته شده در کجا قرارشون بدید. (بعضی ها مال فایل wp-config.php هستن و بعضی مربوط به functions.php و بعضی هم htaccess)

  8. ali.sh می گوید

    سلام آموزش بسیار علی بود بهره مند شدیم
    اینجا تنها مشکلی که هست متاسفانه پسورد گذاری روی فولدر های ساب دامین تاثیر به درستی اجرا نمیشه به طور مثال اگه روی پوشه test موجود در forum.site.ir/test پسورد بزاریم وقتی وارد forum.site.ir شویم ازمون پسورد میخواد یعنی تاثیر میزاره روی کل ساب دامین نه پوشه test …
    +
    دوستان عزیز توجه کنند برای امنیت فایل config و خود htaccess این کد هارو حتما در بزارند:

    <files ".htaccess">
    order allow,deny
    deny from all
    </files>

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

    متشکرم از سایت سطح عالیتون

    1. MrCode می گوید

      سلام

      ببینید شما روی هر فولدری که میخواید پسورد بزارید باید توی htaccess همون فولدر دستورات مرتبط با پسورد رو وارد کنید. همچنین باید توجه کنید که آدرس هایی که در htaccess وارد میکنید صحیح باشند. در این حالت رمز دقیقا روی فولدری که میخواید اعمال خواهد شد. این مسئله هیچ مشکلی هم با سابدامین ها، زیر پوشه ها و … نداره.

      در مورد فایل کانفیگ هم اصلا به موردی که گفتید نیازی نیست. فایل کانفیگ باید بره یک فولدر بالاتر در home قرار بگیره. home کاربر هم که دسترسی پابلیک نداره. فقط زمانی اون کد به کار میاد که وردپرس در روت سایت نصب نباشه و در واقع یک فولدر بالاتر از محل نصب، home نباشه.

  9. امیر می گوید

    سلام…ممنون از مطالب جالبتون

    در داشبورد این برنامه برای من پیغام خطای زیر رو داده:
    wp-content/plugins = 755 0755 WARNING

    باید چی کار کنم که حل بشه؟

    1. MrCode می گوید

      سلام
      کدوم برنامه!؟

      1. امیر می گوید

        عذر میخوام نگفتم

        iThemes Security

      2. MrCode می گوید

        این باگ مربوط به نسخه 4.5.8 هست.
        برای حلش از این لینک استفاده کنید :
        https://wordpress.org/support/topic/problem-with-plugins-7

        یا افزونه رو به آخرین نسخه اپدیت کنید. الان من روی نسخه 4.6.10 مشکلی مشاهده نمیکنم.

  10. امیر می گوید

    آقا ممنون از راهنماییت حل شد

    1. MrCode می گوید

      خواهش میکنم. موفق باشید

  11. Sanaz می گوید

    سلام
    ممنو از مطلب خوبتون
    من یه مشکل برام پیش اومده
    از وقتی مورد 9 رو انجام دادم دیگه نمیتونم وارد پنل ورد پرس بشم
    وقتی دوباره نمکارو ورداشتم درست شد
    به نظرتو علتش چیه؟

    1. MrCode می گوید

      سلام
      به این نکته توجه داشته باشید که در نسخه های جدید وردپرس، salt به صورت دیفالت در فایل کانفیگ موجوده. پس این احتمال وجود داره که در فایل شما هم موجود باشه و اینکه دوباره دارید تکرارش میکنید براتون مشکل ساز بشه.
      اگر از عدم اتفاق افتادن مورد بالا مطمئن هستید، یک جایی دارید اشتباه میکنید که این اتفاق میفته. مثلا ممکنه جایی که کد رو قرار میدید اشتباه باشه یا یک بخش از کد رو از قلم انداخته باشید و موارد از این دست. ولی مورد اول محتمل تر هست …

  12. mehdi می گوید

    با سلام
    من روی آدرس مدیریت وردپرس رمز گذاشتم و الان دوستی که به عنوان نویسنده در سایت من فعالیت میکنه وقتی میخواهد وارد سایت شود از اون هم پسوردی که وارد کرده ام را میخواهد
    آیا راهی داره که فقط این پسورد برای نام کاربری مدیریت وردپرس عمل کنه و برای نویسنده ها بدون پسورد باشه
    ممنون میشوم پاسخ دهید

    1. MrCode می گوید

      سلام
      تا جایی که من اطلاع دارم خیر.

  13. رامین می گوید

    با سلام.
    آقا صفحه لاگین و عضویت من یه یوزر و پسورد اضافه میخاد. این باعث شده کاربرا اصلا از خیر عضویت بگزرن. اینو چجوری بردارم. به صفحه عضویت من مراجعه کنید متوجه منظورم میشید. هاستمم رایگانه بهم جواب نمیدن. هرچی هست از هاسته. آدرس :
    http://zigma.cf/wp-login.php?action=register

    1. MrCode می گوید

      سلام
      یا توی .htaccess به صورت مستقیم این حالت رو اضافه کردید یا افزونه ای برای این کار تنظیم کردید. در هر دو حالت تغییرتون رو به حالت قبل برگردونید که نیازی به رمز فولدر نباشه.
      البته شیوه ی رمز گزاریتون فقط واسه روبات ها جواب میده و اگر یک شخص واقعی پشت سیستم باشه، پیامی که بهش نمایش داده شده خیلی واضح میگه که یوزر نیم و پسورد چیه!

  14. tablokar می گوید

    عالی بود – دستتون درد نکنه – عالی بود

  15. imaniy می گوید

    من تو فانکشن قالب هر کردی میزارم ارور میده برای مثال به اولش و یا به اخرش یه عکس میزاری ببینم باید کجا بزارم؟

  16. فرهاد می گوید

    عالی بود ممنون …

  17. hh می گوید

    با سلام
    داخل اینترنت برای مطالعه امنیت وردپرس خیلی سایت ها را بازدید کردم باید بگم مقاله های شما خیلی بهتر بود دلیلش هم توضیحات بیشتر و حالت مفهومی داشتن ، به طور مثال برای تغییر کلید های امنیتی فایل کانفیگ خیلی سایت ها به این مورد اشاره کرده اند و شما کار خاصی نکرده اید ولی وقتی توضیح می دهید این کلید ها در کجا به کار می روند کیفیت اموزش بالا می رود البته تا کیفیت خیلی خوب فاصله زیادی دارید و باید بیشتر تلاش کنید>
    با تشکر

  18. علیرضا می گوید

    سلام …خیلی خیلی ممنون ، چند روز بود دنبال این افزونه Edit Author Slug میگشتم … و هیچ سایتی هیچ وقت به این چیز اشاره نکرده بود

    1. MrCode می گوید

      از اینکه این آموزش تونسته به شما کمک کنه خوشحالم.

  19. یاسر می گوید

    سلام
    سوال من مربوط به بخش 5 هست
    توی سی پانل یک فولدر در شاخه home ساختم ولی توی اون نمی تونم یک فایل بسازم که اولش نقطه باشه مثلا .htpass ساخته نمیشه . خوب اگه نقطه اولش رو بردارم ساخته می شه.

    1. MrCode می گوید

      سلام
      من فکر میکنم شما نمایش فایل های مخفی رو در فایل منیجرتون فعال نکردید. برای همین وقتی فایلی که نقطه داره رو میسازید دیگه نمیبینیدش. نمایش فایل های hidden یا اصطلاحا dot file ها رو میتونید توی تنظیمات فایل منیجرتون فعال کنید تا مشکلتون حل بشه.

  20. محمد رضا می گوید

    با این که مطلب رو چند سال پیش نوشتید اما کامل مفید و بدور از تکلف و سختی بود.
    یه سوال : مورد 5 برای ورود اشخاص دیگه به wp-admin از طریق آدرس سایت هستش
    برای ورود از مسیر wp-login.php اگه بخوام کسی وارد نشه و نتونه این صفحه رو ببینه چی ؟

    1. MrCode می گوید

      ممنون شما.
      در مورد سوالتون، شما علاوه بر انجام مورد 5، بخش "ادمین را از دید دشمن دور کنید" در قسمت دوم مقاله رو هم دنبال کنید تا دیگه دسترسی به آدرس مورد نظرتون میسر نباشه :
      https://mrcode.ir/?p=753

  21. رضا می گوید

    سلام خسته نباشید
    چطور باید جای فایل wp-config.php رو عوض کنیم؟

    1. MrCode می گوید

      سلام
      توی بخش ششم آموزش توضیح دادیم.

  22. رضا می گوید

    سلام ممنون از مطالب خوبتون .برای تغییر سطح دسترسی باید از افزونه استفاده کنیم؟

  23. سامیار می گوید

    سلام و تشکر از مقاله مفیدتون.
    بخش افزودن رمز دو مرحله ای کاملا و مو به مو با اموزش شما رفته جلو و انجام شده است.
    در بخش مدیریت کار میده ولی متاسفانه با توجه به ووکامرس نصب شده روی سایت هنگامی که کاربر به صفحه پرداخت وارد میشه یا همان صفحه checkout مجددا باکس باز میشه و یوزر پسورد میخواد.
    ممنون میشم راهنمایی فرمایید.

    1. MrCode می گوید

      سلام
      باید ببینید در صفحه مورد نظر چه ریسورسی از ناحیه مدیریت داره فراخوانی میشه. (میتونید سورس صفحه رو نگاه کنید) و بعد دسترسی به اون ریسورس رو بدون رمز مجاز کنید. به عنوان مثال اگر دقت کنید در کدی که برای گذاشتن رمز روی ناحیه مدیریت در اختیارتون قرار دادیم در خط 9 تا 13، دسترسی به فایل admin-ajax.php رو بدون رمز مجاز کردیم. همین کار رو باید برای فایل دیگه ای که در صفحه مورد نظرتون داره از ناحیه مدیریت فراخوانی میشه انجام بدید تا مشکلتون حل بشه.

  24. ilia می گوید

    سلام خدا قوت
    1-ممکنه مقاله ای هم درباره امنیت فروشگاه هایی که در وردپرس ساخته می شنوند بذارید
    2-همه ی قالب های رایگان خبیث هستند ؟ من از قالب های سایت شما استفاده می کنم.قالب فوق العاده کاربری ای هست
    3-چطور می تونم سایز تایتل اصلی سایت رو تغییر بدم ؟ مثلا در پوسته ی بازار شاپ عنوان "بازار شاپ "خیلی بزرگه و باعث به هم ریختگی هدر می شود

    1. MrCode می گوید

      سلام و ممنون از شما

      1 – آموزشی که در مورد امنیت قرار دادیم رو روی فروشگاه های وردپرسی هم میتونید استفاده کنید.
      2 – نه اینطور نیست. مثلا تو خود سایت wordpress.org شما میتونید قالب های رایگان خیلی خوبی پیدا کنید. یا بعضی از سایت هایی که قالب تجاری میسازن، کارشون اینه که یه نسخه رایگان با امکانات کمتر از قالب اصلیشون هم ارائه بدن که کاربر رو به سمت خودشون جذب کنن. بنابراین اینطور نیست که همیشه قالب های رایگان غیر قابل اعتماد باشن. ولی داریم سایت خارجی که نمیخوام اشاره هم بهش بکنم که کارش اینه که آخرین نسخه های قالب های پولی رو برای دانلود قرار میده و تک تک قالب ها و افزونه هاش رو از قصد خودش آلوده میکنه … حالا اینکه دقیقا هدفش چیه خدا میدونه ولی به هر حال باید خیلی مراقب بود.
      3 – البته این سوالتون جاش یه جای دیگست ولی خوب. اگر بازارشاپ رو از سایت ما دانلود کردید، اندازه عنوان اصلی سایت توی فایل rtl.css خط 184 قابل تغییره. کافیه font-size رو به اندازه دلخواه تغییر بدید.

  25. عسگری می گوید

    سلام و ممنون از مطلب عالی شما

  26. شاهین می گوید

    هنگام ورود به بخش ادمین سایتم هیچ سوالی پرسیده نمیشه و فقط قسمت آدرس سایت میزنه :
    www.domain.com/not found
    به نظرتون مشکل از کجاست؟

    1. MrCode می گوید

      اگر آدرس ورود به ناحیه مدیریت رو با افزونه ithemes security عوض کرده باشید و سعی کنید با آدرس قدیمی وارد بخش مدیریت بشید با not found مواجه میشید.

      1. شاهین می گوید

        من از کجا باید متوجه بشم که افزونه ای که گفتین چطور تغییر داده؟

      2. شاهین می گوید

        موفق شدم پلاگین رو دور بزنم… اما آدرسی که داخل پلاگین زدم گویا کار نمیکنه
        آخه هر چی اون آدرس رو میزنم نمیاد بالا برای پسورد

      3. MrCode می گوید

        جسارتا متوجه نمیشم چطور "پلاگین رو دور زدید"
        اگر افزونه فعال هست و آدرس ورود به مدیریت رو با استفاده از اون تغییر دادید، پس این آدرس باید در دسترس باشه و امکان وارد کردن اطلاعات ورود رو داشته باشه.
        اگر هم به نحوی افزونه رو غیر فعال کردید یا آدرس رو به حالت قبلی خودش برگردوندید، پس باید با آدرس پیشفرض ورود به مدیریت، به ادمین وردپرس دسترسی پیدا کنید.

      4. شاهین می گوید

        با تغییر نام فولدر پلاگین اون رو از کار انداختم.. و بعد وارد محیط مدیریت وردپرس شدم..
        بعد دوباره پلاگین رو فعال کردم و نام فولدر رو به حالت قبل برگردوندم.. اما آدرسی که داخل پلاگین زدم به هیچ وجه بالا نمیاد..
        آیا نامی که برای آدرس ورود به مدیریت وردپرس میزنیم باید سبک خاصی داشته باشه؟ مثلا مثل خود wp-admin ادمین آخرش باشه یا login داخلش به کار برده شده باشه؟

      5. MrCode می گوید

        با توجه به اینکه فرمودید : "نام فولدر رو به حالت قبل برگردوندم"
        در این حالت باید با آدرس عادی و همیشگی وردپرس لاگین کنید.
        همچنین در صورت تغییر آدرس، خود افزونه بهتون اعلام میکنه که مثلا از این به بعد آدرس ورودتون به فرم x در میاد.

  27. mahsa می گوید

    سلام آموزشتون عالی هست
    فقط یک سوال اون قسمت 5 – روی فولدر ادمین پسورد بگذارید. اصلا نگفتید با اون کد هش شده که بهمون داده چیکار کنیم و اصلا جایی تو این قسمت از اون یوزر و پسورد استفاده نکریدم پس چجوری ازمون رمز و یوزر میخواد و از کجا میاد؟
    بنظرم یه قسمتی که اون یوزر و پسورد هش شده رو باید کپی کنیم و بذاریم رو جا انداختید لطفا راهنمایی کنید
    مرسی

    1. MrCode می گوید

      سلام
      ممنون
      محتوایی که از اون سایت میگیرید رو باید بزارید توی فایل htpasswd که میسازید.

  28. امین می گوید

    سلام
    در موارد 4 و 5 گفتید به یک فایل بالاتر از public_html بروید متاسفانه در خود دایرکتوری اطلاعات وردپرسی ریخته شده.
    تنها راهش اینه که همه را پاک کنم؟
    راه دیگری نیست؟

  29. حامد می گوید

    با سلام و ممنون از آموزش خوبتون
    روی فولدر ادمین پسورد گذاشتم اما چون سایت فروشگاهی داریم هنگام ثبت سفارش (برای نمایش فرم ثبت نام و آدرس و …) مجدد پاپ آپ لاگین گذاشته شده میاد برای مشتری ها
    چکار باید بکنیم که این فقط برای لاگین شدن خود ادمین ورد پرس نمایش داده بشه؟

  30. علیرضا می گوید

    سلام خسته نباشید
    در بخش 6
    "یک فولدر بالا تر از public_html سایتتان انتقال دهید"
    منظور از یک فولدر بالاتر چیه؟ یعنی در مسیر home(خارج از public html؟)
    باتشکر

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.