ایجاد محدودیت دسترسی به WP Admin بر اساس نقش های کاربری وردپرس

ایجاد محدودیت دسترسی به WP Admin بر اساس نقش های کاربری وردپرس

برای افزایش امنیت سایت وردپرسی خود می توانید آدرس ورود به مدیریت وردپرس را تغییر دهید. با این کار کمتر کسی می تواند به این راحتی ها آدرس ورود به سایت شما را پیدا کند. اما اگر شما سایتی دارید که بجز خودتان افراد دیگری مثل نویسنده, کاربر و … نیز باید در سایت عضو شوند عملا دیگر نمی توانید از دسترسی آنها به صفحه ورود جلوگیری کنید زیرا دیگر کاربران نیز برای ورود به حساب کاربری خود نیاز به داشتن آدرس صفحه ورود به وردپرس را خواهند داشت. اما می توانید می توانید مطمئن شوید که تنها کاربرانی با دسترسی های ویژه ای که شما تعریف می کنید را دارند, به پنل مدیریت وردپرس دسترسی داشته باشند.

برای این کار ما از بین افزونه های مختلفی مثل Remove Dashboard Access ,WP Hide Dashboard و … افزونه Hidden WP Admin را انتخاب کرده ایم. استفاده از این افزونه خیلی راحت می باشد. با استفاده از این افزونه می توانید آدرس صفحه ورود به وردپرس را تغییر دهید و اجازه ورود به بخش مدیریت وردپرس (داشبورد) را تنها به کاربرانی با سطح دسترسی مشخصی بدهید.

ایجاد محدودیت دسترسی به WP Admin بر اساس نقش های کاربری وردپرس

ابتدا افزونه Hidden WP Admin را از طریق داشبورد وردپرس نصب و فعال کنید. پس از فعال سازی افزونه به مسیر تنظیمات » Hidden WP Admin بروید. در این صفحه با زدن تیک گزینه اول یعنی Enabled افزونه را فعال کنید. حال مطابق زیر فیلد های مربوطه را پر کنید.

ایجاد محدودیت دسترسی به WP Admin بر اساس نقش های کاربری وردپرس

Capability : این عبارت به معنی قابلیت هایی می باشد که به هر کاربر داده می شود. در این فیلد به صورت پیشفرض قابلیت activate_plugins قرار گرفته است. یعنی هر نقش کاربری ای که قابلیت activate_plugins را داشته باشد می تواند به پنل مدیریت سایت شما دسترسی داشته باشد. در حالت پیشفرض فقط نقش های کاربری Super Admin و Administrator دارای قابلیت activate_plugins می باشند. برای مشاهده نقش های کاربری ای که دارای قابلیت activate_plugins می باشند می توانید به مستندات وردپرس مراجعه کنید.

قش های کاربری ای که دارای قابلیت activate_plugins می باشند

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

ایجاد محدودیت دسترسی به WP Admin بر اساس نقش های کاربری وردپرس

Redirect URL : با وارد کردن یک آدرس در این فیلد می توانید کاربرانی که Capability لازم را برای دسترسی به صفحه مدیریت وردپرس ندارند را به صفحه دلخواه خود منتقل کنید. در حالت پیشفرض کاربران به صفحه اصلی سایت شما منتقل می شوند.

ایجاد محدودیت دسترسی به WP Admin بر اساس نقش های کاربری وردپرس

Redirect Login Page : با زدن تیک این گزینه می توانید کاربرانی که به آدرس name.com/wp-login.php وارد می شوند را بلافاصله به آدرس دیگری منتقل کنید.

ایجاد محدودیت دسترسی به WP Admin بر اساس نقش های کاربری وردپرس

Login Page URL : اگر تیک گزینه Redirect Login Page را زده باشید در این فیلد می توانید یک آدرس را وارد کنید تا کاربرانی که تلاش می کنند تا به صفحه ورود به وردپرس دسترسی داشته باشند را به یک صفحه دلخواه تغییر مسیر دهید. مثلا شما می توانید یک برگه ایجاد کنید و فرم ورود به وردپرس را درون آن برگه قرار دهید و سپس آدرس آن برگه را در این فیلد وارد کنید.

خوب پس از پر کردن فیلد های لازم روی دکمه save کلیک کنید تا تنظیمات این افزونه ذخیره و فعال شود. از این پس تنها کاربرانی که دارای نقش (Capability) مورد نظر شما هستند می توانند به پنل مدیریت سایت شما دسترسی داشته باشند و بقیه کاربران به صفحه ای که شما تعیین کرده اید هدایت خواهند شد.

دیدگاه کاربران

  1. سالار

    سلام اقای شعبانی

    ببخشید یک سوال داشتم درسته مربوط بهاین مطلب نمشه ولی خواهش میکنم جواب بدید
    ما وقتی یه قالب طراحی میکنیم و بعد بهش تو css مدیا میدیم که تو وضوح های مختلف واکنش بده …
    ولی مثلا تو گوشی سامسونگ اس ۴ که وضوحش ۱۰۸۰ در ۱۹۲۰ قالب کامل میاد و واکنش نمیده و وقتی هم که بخوایم این سایز رو تععین کنیم … تو دسکتاپ های با این وضوح به مشکل بر میخوریم …

    چطوری میتونم این مشکل رو حل کنم

    باتشکر

    • سعید شعبانی

      برای هر دستگاهی شما می تونید یک مدیا کوئری مجزا بنویسید. مثلا برای s4 می تونید از دستور زیر استفاده کنید. پیشنهاد می کنم به سایت cssmediaqueries.com سر بزنید تا بیشتر با مدیا کوئری ها آشنا بشید.

      @media screen and (device-width: 320px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 3)
      
  2. امین

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

    • سعید شعبانی

      خوب اول اینکه شما باید کدهای مربوط به جعبه ارسال مطلب را از داخل فایل های قالب (به احتمال زیاد داخل فایل index.php) پیدا کنید کنید بعد اون ها را داخل فایل archive.php هم قرار بدید. برای ارسال مطلب در همون دسته هم باید کمی تغییرات در کدهای جعبه ارسال مطب ایجاد کنید.

  3. امین

    ممنون از جوابتون، من یه فایل به اسم category-3.php ایجاد کردم و فایل های index.php رو تو ریختم. حالا جعبه ارسال مطلب رو بالای ملالب دسته نشون میده ولی باز مطلب رو تو “دسته بندی نشده” ارسال میکنه. چکار کنم که مطلب رو تو همون دسته ۳ ارسال کنه. همین کار رو برای دسته ۴ هم میخوام بکنم.

  4. […] ایجاد محدودیت دسترسی به WP Admin بر اساس نقش های کاربری ورد… برای اولین بار در روکش منتشر […]

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

    • سعید شعبانی

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

  6. آقای شعبانی سایتتون عالی و پرباره همینطور ادامه بدید خواهشا مرسی

  7. تركي

    من خودم از طرفدارای ورد پرس هستم
    از این مطلبتون خیلی استفاده کردم

  8. مرتضی سمیعی

    سلام
    من یه سوال دارم اما مطلبی مربوط ندیدم زیر اولین مطلب شما میپرسم
    امیدوارم راهنمایی بفرمایید
    مدت زیادیه دنبالش هستم – امروز اتفاقی برای اولین بار در یک سایت فارسی دیدم که سایت شما بود
    در هنگام ورود به سایت پیشنهاد ثبت نام در خبرنامه را میدید و در صفحه ثبت نام لینک مشخصات ایمیل یا همونaddress book در اوت لوک اضافه میکنه
    میخواستم بدونم اموزشی که نحوه ساختن این فایلها را داشته باشه دارید
    من مدتی زیادیه دنبال ساختن چنین فایلی برای خودم هستم اما پیدا نکردم
    لطف میکنید راهنمایی کنید
    با تشکر ازشما

  9. خیلی خوبه چون کاربرای که ثبت نام میکنن دلیلی نداره همشون پیشخوان رو ببینن ممنون.

  10. برای اینها کد وجود نداره که از افزونه استفاده نکنیم

  11. جواد

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

  12. سلام من ۲هفته پیش همین کارایی که گفته بودین و انجام دادم اما الان یه دفعه ای برگشت به همون لینک قبل جیکارکنم؟؟؟؟؟؟؟؟

  13. مجید

    سلام مهندس جان
    آقا اولا ممنونم بابت این افزونه اما جسارت نباشه، دوتا فیلد آدرسو جابجا توضیح دادین!!!
    یعنی فیلد اول مربوط به آدرسیه که کاربران بدون صلاحیت (چه وارد شده و نه چه وارد نشده) با تایپ نمودن http://www.example.com/wp-admin به اونجا منتقل میشن
    فیلد دوم آدرس هم مربوط به بعد از لاگین کردن افراد میشه که همه (چه مدیر و چه غیر مدیر) بعد از لاگین وارد اون صفحه میشن. خب در اینجا مدیر نیاز داره بعد از لاگینش مجددا آدرس http://www.example.com/wp-admin رو تایپ کنه تا وارد پنل بشه و سایر افراد بدون صلاحیت بعد از لاگین و تایپ آدرس مذکور باز هم به آدرس فیلد اول منتقل میشن.
    در نتیجه به قول شما باید یه فرم لاگین توی یه صفحه ساخت (مثلا تو سایدبار صفحه) تا افراد بتونن وارد بشن.
    البته اینو هم بگم که روی درست کارکردن فیلد دوم زیاد نمیشه حساب کرد… (این مشکلو من با نویسندشم در میون گذاشتم)
    بازم ممنون مهندس و سرت سلامت.

    • سعید شعبانی

      آقا مجید ممنون که دقت کردید ولی دو تا فیلدی که گفتید را درست توضیح دادیم.
      فیلد اول همونطور که در مطلب هم ذکر شده برای این هست که کاربرانی که Capability لازم را ندارند بعد از وارد کردن اطلاعات کاربری خود در فرم ورود (یعنی name.com/wp-login.php) به این لینک منتقل شوند. و در حالتی که کاربر وارد سایت شده باشد و بخواهد وارد پنل مدیریتی وردپرس بشود اگر Capability لازم را نداشت باز به همین آدرس منتقل بشه.
      فیلد دوم Login Page URL همونطور که در مطلب هم گفته شده برای این هست تا همه کاربرانی که آدرس ورود به وردپرس یا ادمین وردپرس را وارد می کنند بدون در نظر گرفتن Capability به اون آدرس منتقل کند. این مورد برای قبل از لاگین کردن کاربران هست. مثلا میشه یک فرم ورود و عضویت در قالب خود سایت ایجاد کرد و لینکش را در این فیلد قرار داد.
      بله من هم یک سری مشکلات در این افزونه مثل فعال بودن قابلیت ریدایرکت بعد از غیرفعال سازی افزونه دیدم که امیدوارم به زودی درست بشه.

  14. واقعا ممنون
    ای ول
    دنبال این افزونه بودم
    سپاس فراوان

  15. ممنون -البته اگه بشه این کا رو بدون افزونه انجام داد واقعا عالی میشه

  16. pooria10

    سلام جناب شعبانی من تازه عضو سایت شدم و مطالب فوق العاده مفید دارید خیلی ممنون بابت سایت به این پر محتوایی
    من یه مشکل دارم در wp-login.php که ارور میده که خط ۶۷ یه مشکلی دارد اینم متن پیغام
    Parse error: syntax error, unexpected ‘>’ in /home/username man/public_html/wordpress/wp-login.php on line 67
    وقتی wp-login را باز میکنم خط ۶۷ این کد هست و زیاد سردر نیاوردم اگه امکانش هست راهنمایی کنید
    <meta http-equiv="Content-Type" content="; charset=user_login;
    $user_email = $user_data->user_email;

کاربر گرامی برای ارسال دیدگاه اگر عضو روکش هستید باید سایت شوید در غیر اینصورت باید عضو شوید.