در مقاله های قبل در مورد افزایش امنیت وردپرس صحبت کردیم . در این قسمت قصد ایجاد محدودیت ip برای صفحه لاگین وردپرس (wordpress) را داریم . این آموزش را می توانید برای هر سیستم مدیریت محتوا و شخصی استفاده کنید تا افراد دیگری نتوانند حتی با لو رفتن پسورد شما به صفحه ادمین وارد شوند و یا اینکه بر روی آن حملات brute force انجام بدند .
روش کار برای ایجاد محدودیت ip برای صفحه لاگین بسیار ساده است . پس با ما همراه باشد .
اجازه ورود به صفحه ادمین فقط با ip های خاص
در این مثال به شما نشان می دهیم به چه صورت اجازه ورود به صفحه wp-admin را فقط به یک یا چند ip خاص بدید . این برای مواردی که در یک اداره یا شبکه به صورت تیمی کار می کنید ، بسیار مفید است .
1 2 3 |
order deny,allow allow from 172.94.37.33 deny from all |
برای این کار فولدر مورد نظر (در اینجا برای وردپرس wp-admin است ) یک فایل .htaccess بسازید و کد های زیر را در آن قرار بدید . در کد بالا ip خود را جایگزین کنید . برای بدست آوردن آدرس ip خود ، به این لینک مراجعه کنید. http://whatismyipaddress.com
اگر قصد افزودن ip های بیشتری داشتید می توانید بر هر کدام یک خط جدید تعریف کنید.
1 2 3 |
allow from 172.94.37.33 allow from 192.210.161.111 allow from 198.46.154.184 |
جلوگیری از دسترسی به صفحه ورود (بلاک کردن IP ها)
اگر قصد محدود کردن صفحه ادمین به یک یا چند IP را ندارید ، می توانید ip های بخصوصی را با استفاده از فایل .htaccess بلاک کنید .
بنابراین یک فایل .htaccess بسازید و آن را داخل دایرکتری ادمین (در اینجا برای وردپرس wp-admin) است آپلود کنید و کد های زیر را داخل آن قرار بدید .
1 2 3 |
order allow,deny deny from 198.46.154.184 allow from all |
ایجاد محدودیت ip برای صفحه لاگین وردپرس (wp-login.php)
برای ایجاد محدودیت دسترسی به فایل wp-login.php ، باید از FILES به اینصورت در فایل .htaccess بالای همه کد ها استفاده کنید.
1 2 3 4 5 6 7 8 9 10 |
<Files wp-login.php> order deny,allow Deny from all # allow access from my IP address allow from 172.94.37.33 # allow access from my IP address allow from 192.210.161.111 </Files> |
نکته : فراموش نکنید در کد بالا IP خود را جایگزین کنید
موفق و پیروز باشید
سلام و وقت بخیر
من میخوام دسترسی کاربر وقتی مستقیم یا با ورود از جاهای مختلف به یک سایت دوم رو مسدود کنم و پیامی بیاد که بگه شما غیرمجاز وارد شدید برای ورود صحیح به سایت اول مراجعه کنید و با کلیک روی گزینه سایت دوم به این بخش دسترسی خواهید داشت.
یعنی تنها کاربر با ورود به سایت اول و کلیک روی لینک به سایت دوم دسترسی داشته باشه و در غیر این صورت خطا بده و پیامی ظاهر بشه.
میشه چنین کدی نوشت تو php ؟
ممنون میشم اگه راهنماییم کنید.
سلام ممنون.
بله کافیه مقدار $_SERVER[‘HTTP_REFERER’] رو در همان صفحه ای که میخواید دسترسی کاربری مسدود بشه، چک کنید تا ببینید که کاربر از چه لینکی وارد صفحه شما شده
سلام میشه یه نمونه کد بزارید لطفا ؟
ممنونم
با سلام
مطلب بسیار مفیدی بود ، ولی ممکن است که خودمان ای پی مان عوض شود ، برای همین لطفا در مورد محدودیت هم مطلبی قرار دهید.
مثلا اگر کاربر پنج بار رمزعبورش اشتباه زد به مدت یک ساعت محدودیت ورود و تست رمز را داشته باشد.
با تشکر از سایت خوبتان.
سلام . خواهش می کنم . بله حتما مطلبی در مورد این محدودیت دفعات لاگین ناموفق منتشر می کتم .
قبلا مقاله ای مشابه برای دفعات لاگین ناموفق با کپچا را منتشر کردیم ، که میتونید از اون هم استفاده کنید
موفق باشید.