نحوه ارائه دسترسی محدود به پیشخوان وردپرس، یکی از پرتکرارترین خواستههای اخیر همراهان ما، از تیم تحریریه آقای وب بلاگ بوده است. فرقی نمیکند که یک توسعهدهندهی بسیار حرفهای هستید، یا تنها یک مدیر سایت که کوچکترین اطلاعاتی از توسعهی سیستم مدیریت محتوای وردپرس ندارد؛ در هر حالتی یک دست صدا ندارد!
آقای استیو جابز (Steve Jobs)، یکی از بنیانگذاران اپل در رابطه با این موضوع میگوید:
اتفاقات بزرگ در تجارت هرگز توسط یک نفر اتفاق نمیافتد، بلکه این گروهی از افراد هستند که یک اتفاق بزرگ را رقم میزنند.
Steve Jobs
زمانی که شما تصمیم به راهاندازی یک سایت میگیرید، باید بدانید که نهایتا از پس همهی کارها بهتنهایی برنخواهید آمد. زمانی که سایت شما کمی توسعه مییابد و بازدیدکنندگان رفتهرفته بیشتر میشوند، در اولین مرحله متوجه برخی از نقاط ضعف سایت خود خواهید شد که باید برای حل آنها اقدام کنید. توسعهی قابلیتهای سایت و افزودن امکانات جدید و… را هم به این مسیر اضافه کنید. آیا همچنان فکر میکنید که یک نفر برای انجام همهی این کارها کافیست؟!
زمانی که نوبت به اضافه کردن یک عضو جدید به تیم توسعه میرسد، یک نگرانی همیشگی وجود دارد و آن سطح دسترسی کاربر جدید است. همانطور که بارها و بارها در مقالات مختلف اشاره کردهایم، سطح دسترسی کاربران را بر پایهی اعتماد، دوستی و آشنایی که با آنان دارید در نظر نگیرید. قطعا همهی ما به دوستان و همکاران خود اعتماد داریم اما مشکل دسترسیهای اضافی، به شکل دیگری خود را بروز میدهند.
مدیریت دسترسیهای سایت، همچون مدیریت کلیدهای یک خانه است. شما دوست ندارید که افرادی غیر از اعضای خانواده کلید درب ورودی منزل شما را داشته باشند، مگر اینکه لازم باشد.
مثلا تصمیم به یک مسافرت طولانی مدت به خارج از کشور دارید و کلید درب منزل خود را بهمنظور آبیاری گیاهان داخل ساختمان به دوست خود میدهید. این کار قاعدتا مشکلی ندارد، چراکه هم به دوست خود اعتماد دارید و هم اینکه این کار برای آبیاری گیاهان «ضروری» است؛ اما آیا کلید گاوصندوق داخل ساختمان را هم به دوست خود میدهید؟ نکتهی نهفته در این مثال دقیقا همین موضوع است. شما کلید گاوصندوق را به دوست خود نمیدهید، چراکه «ضرورتی» ندارد.
دسترسیهای سایت هم به همین شکل هستند. بسیاری از دسترسیها برای برخی از کاربران ضروری نیستند و ضرر این موضوع زمانی روشن میشود که یک فرد سودجو (هکر و…) بتواند از طریق یکی از این حسابهای کاربری به پشتپردهی سایت شما نفوذ کند. مسلما عواقب این اتفاق، بسیار ناخوشایند خواهند بود و هرچه که سایت بزرگتری داشته باشید، این عواقب ناخوشایند، بیشتر خواهند شد.
همانطور که همراهان همیشگی ما میدانند، حجم عظیمی از مقالات منتشر شده در آقای وب بلاگ، بر اساس تقاضای همراهان آقای وب نوشته شدهاند، از همین رو در این مقاله بنابر درخواستهای شما به بررسی این موضوع پرداختهایم که چگونه دسترسی کاربران را به پیشخوان وردپرس، دیتابیس سایت و اکانتهای FTP محدود کنیم. تا انتهای این نوشته با ما همراه باشید.
آنچه در این مقاله میخوانید:
ارائه دسترسی محدود به پیشخوان وردپرس
مسلما اولین فضایی که یک توسعهدهندهی وردپرس به آن نیاز دارد، پیشخوان وردپرس است. فرقی نمیکند یک نویسندهی جدید به تیم اضافه شده است، یک سئوکار یا حتی یک برنامهنویس فول استک، در تمامی این موارد افزونه “User Role Editor” به شما این امکان را میدهد تا بتوانید به بهترین شکل، دسترسیهای او را مدیریت کنید.
نصب این افزونه هم همچون سایر افزونهها بوده و شامل هیچ مرحله اضافی نمیشود. چنانچه با روش نصب افزونهها در وردپرس آشنایی ندارید، میتوانید از مقاله «آموزش نصب افزونهها در وردپرس با 3 روش مختلف» کمک بگیرید.
پس از نصب افزونه، تنها کاری که لازم است انجام دهید، این است که از عضو جدید تیم بخواهید که یک حساب کاربری در سایت ایجاد کند، یا اینکه خودتان از طریق بخش “کاربران > افزودن کاربر” اقدام به ایجاد یک حساب کاربری برای او نمایید.
اکنون نوبت به ارائه دسترسیهای لازم به عضو جدید تیم میرسد. برای این کار باید از طریق نوار ابزار پیشخوان وردپرس، گزینهی کاربران را پیدا کرده و از زیرمنوی آن، بر روی عبارت «همه کاربران» کلیک نمایید. با این کار لیست کاملی از تمامی اعضای سایت خود را میتوانید مشاهده کنید.
اکنون باید حساب کاربری عضو جدید تیم را پیدا کنید. برای این کار، میتوانید از قسمت سرچ موجود در بالای این صفحه کمک بگیرید. پس از اینکه عضو جدید تیم خود را پیدا کردید، در صورت نصب صحیح افزونه User Role Editor، میتوانید عبارت “Capabalities” را در فضای زیر نام کاربری او (مطابق با تصویر) مشاهده کنید. اکنون تنها کافیست که بر روی این عبارت کلیک کنید.
اکنون پنجره تنظیمات افزونه User Role Editor برای شما باز شده است و تقریبا میتوانید تمامی دسترسیهای این کاربر جدید را مدیریت کرده و دسترسیهای او را محدود کنید.
اولین گزینهای که باید بر آن نظارت داشته باشید، ستون “Primary Role” است. در اینجا میتوانید نقش اصلی کاربر را تعریف نمایید. وردپرس بهصورت پیشفرض دارای 5 نقش کاربری متفاوت است که با نصب افزونههای مختلف، این نقشها نیز افزایش پیدا میکند. 5 نقش اصلی بهترتیب از بیشترین دسترسی به کمترین دسترسی به شرح زیر هستند.
- مدیر کل (Adminstrator)
- ویرایشگر (Editor)
- نویسنده (Author)
- مشارکت کننده (Contributor)
- مشترک (Subscriber)
اینکه هر کدام از این نقشها چه دسترسیهایی دارند و قادر به انجام چه کارهایی هستند، تقریبا از عنوانشان مشخص است؛ اما اگر میخواهید ریزترین جزئیات را در رابطه با هر نقش کاربری بدانید، در ادامه همراه ما باشید.
بهصورت پیشفرض، هر کاربری که در سایت شما ثبت نام میکند، نقش «مشترک» میگیرد. این نقش کاربری سادهترین سطح دسترسی را دارد و عملا بهجز مشاهدهی سایت، گذاشتن کامنت و برخی اعمال دیگر، قادر به اجرای فعالیت دیگر نیست. عضو جدید تیم شما هم پس از ثبت نام در سایت، دارای همین نقش کاربری خواهد بود، بنابراین وظیفهی شماست که تعیین کنید، نقش کاربری (Primary Role) او چیست.
توجه داشته باشید که با انتخاب هرچه بهتر نقش کاربری، راحتتر میتوانید دسترسیهای عضو جدید تیم را کنترل کنید. شما میتوانید از طریق افزونه User Role Editor به یک کاربر با سطح دسترسی «مشارکت کننده» بهقدری دسترسیهای اضافی بدهید، که تفاوتی با یک مدیر کل نداشته باشد، اما قطعا این کار منطقی نیست و تنها مدیریت دسترسیها را سختتر میکند!
بنابراین در ابتدا از خود بپرسید که عضو جدید تیم، چه وظایفی دارد و برای انجام این وظایف باید چه سطح دسترسی داشته باشد؟ پاسخ این سوال مشخص میکند که Primary Role این کاربر باید کدام مورد باشد. در ادامه با ذکر یک مثال به توضیح بیشتر این موضوع میپردازیم.
فرض کنید که شما مالک یک وبلاگ بسیار بزرگ هستید که از یک تیم نویسندگی گسترده برای نگارش مقالات خود استفاده میکند. این مسئله موجب شده که به یک ویراستار (همان ویرایشگر یا Editor) نیاز داشته باشید تا بتوانید کیفیت مقالات را ارزیابی کرده و ایرادات را برطرف کنید. همانطور که حدس میزنید، این عضو جدید باید نقش کاربری «ویرایشگر» داشته باشد.
برای اعطای این مقام به کاربر مدنظر خود، لازم است که از طریق منوی آبشاری موجود در زیر ستون Primary Role، نقش ویرایشگر را انتخاب کرده و مطابق با تصویر بالا، بر روی کلید “Update” در سمت چپ صفحه کلیک کنید. با این کار نقش کاربری انتخاب شده به کاربر مدنظرتان اعطا خواهد شد.
توجه داشته باشید که پیش از کلیک بر روی گزینه “Update”، نام کاربریِ شخص مدنظر و نقشی که تصمیم به اعطای آن دارید را بررسی کنید. اعطای یک نقش با دسترسی سطح بالا به یک کاربر که دانش سواستفاده از اطلاعات پیشخوان وردپرس شما را دارد، میتواند باعث بروز مشکلاتی برای سایت شما شود که با یکبار بررسی بیشتر میتوانستید از بروز آنها جلوگیری کنید.
لازم است اشاره کنیم که اعمال تغییرات در افزونه User Role Editor بهصورت Ajax صورت میگیرد و برای مشاهده تغییرات لازم است که یک بار صفحه را Refresh کنید. همانطور که میدانید با استفاده از کلیدهای ترکیبی “Ctrl+R” میتوانید این کار را با سرعت بسیار بیشتری انجام دهید.
پس از اعطای نقش مدنظرتان به عضو جدید تیم و Refresh کردن صفحه، میتوانید ببینید که این کاربر جدید چه دسترسیهایی دارد و چه دسترسیهایی میتواند داشته باشد. دسترسیهای کاربر در افزونه User Role Editor، به 11 بخش مختلف تقسیم میشوند که هرکدام به شرح زیر هستند.
- دسترسیهای اصلی (Core)
- دسترسیهای کلی (General)
- دسترسیهای مربوط به پوسته سایت (Themes)
- دسترسیهای مربوط به نوشتهها (Posts)
- دسترسیهای مربوط به برگهها (Pages)
- دسترسیهای مربوط به افزونهها (Plugins)
- دسترسیهای مرتبط با مدیریت کاربران (Users)
- دسترسیهای منسوخشده (Deprecated)
- دسترسیهای مربوط به Post Typeهای سفارشی (Custom Post Types)
- دسترسیهای سفارشی اضافه شده توسط افزونه یوزر رول ادیتور (Custom Capabilities)
- دسترسیهای مربوط به کنترل افزونهی یوزر رول ادیتور (User Role Editor)
اینکه هر کدام از گروهها شامل چه دسترسیهایی هستند و با اعطای هر کدام از آنها به یک کاربر، چه دسترسیهایی را به او میدهیم، سوالاتی هستند که مسلما در این لحظه در ذهن دارید.
همانطور که تاکنون متوجه شدهاید، افزونه User Role Editor، افزونهای بسیار قدرتمند است که توضیح تمامی جزئیات آن، خارج از حوصلهی این مقاله است. از همین رو مقالهای بسیار جامع و کامل در رابطه با تمامی امکانات، تعاریف دسترسیها و سایر موارد قابل بررسی از طریق افزونه User Role Editor برای شما آماده کردهایم، که میتوانید از طریق لینک زیر، نسبت به مطالعه آن اقدام نمایید.
راهنمای مدیریت دسترسیهای پیشخوان وردپرس از طریق افزونه User Role Editor
به کمک موارد گفتهشده تا اینجای مقاله و مطالعهی راهنمای جامع کار با افزونه User Role Editor، میتوانید مدیریت صفر تا صد پیشخوان وردپرس خود را تنظیم نموده و کلیه دسترسیهای یک کاربر یا گروه کاربری مدنظرتان را مدیریت نمایید.
اکنون که خیالمان از بابت پیشخوان وردپرس راحت شده است، به سراغ مدیریت دسترسیهای زیربنای هر سایت، یعنی دستابیس وبسایت میرویم.
ارائه دسترسی محدود به دیتابیس سایت در پنل دایرکت ادمین
پیش از شروع این بخش و ارائه جزئیات مربوطه، لازم است اشاره کنیم که آموزشات ارائه شده در این بخش، مختص به پنلهای دایرکت ادمین بوده و کلیه تصاویر ارائه شده در این مبحث نیز، از پنل اختصاصی دایرکت ادمین آقای وب ارائه شده است.
همانطور که مطلع هستید، دیتابیس یک سایت را میتوان مهمترین بخش آن دانست. تمامی اتفاقات، رویدادها، تراکنشات و… همگی به کمک دیتابیس سایت ممکن میشوند و همین مسئله موجب شده که دیتابیس سایت، نقشی بنیادی در عملکرد وبسایت داشته باشد. زمانی که تصمیم میگیرید بنابر هر دلیلی دسترسی دیتابیس خود را به یک شخص دیگر یا عضوی از تیم توسعهی خود بدهید، باید بدانید که کاربر جدید، با دسترسیهایی که دارد، قادر به انجام چه کارهایی است.
در موارد متعددی شاهد بودهایم که مدیر یک سایت در پاسخ درخواست یک توسعه دهنده، دسترسی اصلی دیتابیس را به او داده است و همین مسئله موجب شده که بخشی از دیتای سایت، بهدلیل اعمال مستقیم تغییرات از بین برود. همانطور که بارها و بارها در بلاگ آقای وب اشاره کردهایم، تغییرات دیتابیس باید حتما در یک محیط خارجی بر روی دیتابیس بکاپ اعمال شود و پس از صحت عملکرد کامل، این تغییرات به دیتابیس اصلی سایت انتقال یابد. ذکر این نکته نیز لازم است که قبل از اعمال هر تغییری، یک نسخه پشتیبان از دیتابیس سایت خود ایجاد نمایید.
بهتر است در این مقاله که مربوط به ارائه دسترسی محدود به کاربران سایت است به یک نکتهی بسیار مهم اشاره کنیم.
در هیچ شرایط و موقعیتی، یک دسترسی را در اختیار دو کاربر قرار ندهید. هر کاربر باید از حساب مختص به خودش استفاده نماید و هر کاربر باید اطلاعات حساب کاربری خودش را محرمانه نگاه دارد.
این یک اصل بسیار مهم در دنیای توسعه دهندگان است و پیشنهاد میکنیم که بههیچ وجه این اصل را زیر پا نگذارید.
در کنترل پنل دایرکت ادمین تمهیداتی فراهم شده که به شما کمک میکند بتوانید دسترسیهای متعددی با قوانین مختلف را برای کاربران مدنظرتان تعریف کنید. این کار موجب میشود که مدیریت دسترسیها بسیار سادهتر باشد و هرگونه تغییری در سطح دیتابیس قابل بررسی و ردیابی باشد.
برای افزودن یک حساب کاربری جدید به دیتابیس با دسترسیهای محدود، لازم است که پس از ورود به پنل دایرکت ادمین سایت خود، بر روی گزینه «مدیریت MySQL» از بخش مدیریت اکانت کلیک کنید.
با این کار صفحه جدیدی برای شما باز خواهد شد که در آن میتوانید لیستِ کامل دیتابیسهای خود را به همراه تعداد کاربرانی که به آن دیتابیس دسترسی دارند مشاهده کنید.
مطابق با تصویر، بر روی نام دیتابیس مدنظر خود کلیک کنید. با این کار صفحه جدیدی برای شما باز میشود که در آن میتوانید لیست کاربرانی که به دیتابیس سایت دسترسی دارند را مشاهده کنید.
از نوار ابزار موجود در سمت چپ صفحه، بر روی گزینه «ایجاد یک کاربر MySql جدید برای دیتابیس» کلیک کنید. با این کار صفحه جدیدی برای شما باز خواهد شد که باید در آن اطلاعات دسترسی جدید دیتابیس را وارد نمایید.
نام کاربری دلخواه خود را وارد کنید. فیلد بعدی را بدون تغییر رها کرده و فیلدهای رمزعبور و تایید رمزعبور را تکمیل نمایید. فراموش نکنید که رمزعبور انتخابی شما باید حداقل بین 12 تا 16 کاراکتر طول داشته باشد و شامل حروف بزرگ و کوچک انگلیسی، اعداد و سیمبلها باشد. برای تعیین یک رمزعبور قوی میتوانید از کلید «تصادفی» در کنار فیلد رمزعبور استفاده کنید. با این کار پنل دایرکت ادمین آقای وب بهصورت خودکار یک رمزعبور قوی برای شما در نظر میگیرد و فیلدهای رمزعبور و تایید رمزعبور بهصورت خودکار پر میشوند.
ممکن است با خود بگویید که پسورد ایجادشده چیست؟ لازم است اشاره کنیم که پس از کلیک بر روی کلید «ایجاد» خلاصهای از حساب جدید دیتابیس خود را مشاهده خواهید کرد که در آن به رمزعبور ایجادشده اشاره شده است و میتوانید آن را کپی و در محل موردنظر خود Paste کنید.
پس از اینکه دسترسی جدید دیتابیس را ایجاد کردید، وقت آن رسیده که مجددا به صفحهی کاربران دارای دسترسی به دیتابیس بازگردید. اکنون در این صفحه میتوانید حساب کاربری که ایجاد کردهاید را مشاهده کنید. در مقابل حساب کاربری مدنظرتان که تصمیم به مدیریت دسترسیهای آن دارید، بر روی گزینه «تغییر امتیازات» کلیک کنید.
اکنون صفحه جدیدی در مقابل شما قرار گرفته که لیست کاملی از کلیه دسترسیهای کاربر جدید را به شما نشان میدهد. با ایجاد یک حساب کاربری جدید در پنل دایرکت ادمین، بهصورت پیشفرض کلیه این دسترسیها در اختیار کاربر جدید قرار میگیرند که این موضوع در برخی موارد مطابق با خواسته ما نیست. شما باید مطابق با نیاز عضو جدید تیم خود، این دسترسیها را فعال یا غیرفعال کنید.
بررسی دسترسیهای کاربر به دیتابیس MySQL
از آنجایی که بسیاری از افراد، اطلاعات کافی در رابطه با جزئیات هر یک از این دسترسیها ندارند، در ادامه به معرفی هر یک از موارد موجود در این لیست خواهیم پرداخت. با خواندن جزئیات مربوط به هر دسترسی، میتوانید مطابق با نیاز عضو جدید تیم خود و همچنین سیاستهای خودتان، نسبت به تنظیم دسترسیها اقدام نمایید.
لازم است اشاره کنیم که عملیات دیتابیس در سطح پایگاه دادهی MySQL، بر روی دو بخش Tableها (جداول) و Rowها (ردیفها) اعمال میشود. بنابراین با اعمال تغییرات در دسترسیهای زیر، امکان انجام آن عملیات بر روی ردیفها و جدولها توسط کاربر غیرفعال خواهد شد.
Select: این دسترسی امکان انتخاب کردن لیستی از ردیفها (Rows) و جدولهای داده (Tables) را تعیین میکند.
Insert: این دسترسی امکان افزودن ردیفها و جدولهای داده به دیتابیس را تعیین میکند.
Update: این دسترسی امکان بروزرسانی و تغییر اطلاعات موجود در ردیفها و جدولهای داده را تعیین میکند.
Delete: این دسترسی امکان حذف ردیفها و جدولهای داده را تعیین میکند.
Create: این دسترسی امکان ایجاد و ساخت ردیفها و جدولهای دادهی جدید را تعیین میکند.
Drop: این دسترسی امکان حذف ردیفها و جدولهای داده را تعیین میکند.
احتمالا اکنون با خود میگویید که چه تفاوتی میان دسترسی “Drop” و “Delete” وجود دارد؟
دستور Delete امکان حذف رکوردهای دیتابیس، ردیف ها و جدولهای داده را بر اساس قوانین شرطی فراهم میکند، در صورتی که دستور Drop تمامی رکوردهای یک ردیف یا تمامی ردیفهای یک Table را پاک میکند.
از طرفی دستور Delete تنها دادهها را پاک میکند (تغییری در ساختار جدول ایجاد نمیکند)، در حالی که دستور Drop در کنار دادههای جدول، ساختار Table یا Database را نیز بهکلی حذف میکند.
Alter: این دسترسی امکان افزودن، حذف کردن یا تغییر دادههای یک ستون در Table را تعیین میکند. کاربران با این دسترسی میتوانند تنها با استفاده از یک خط کد، تمامی محتوای یک ستون از یک جدول را تغییر دهند یا حذف نمایند.
Index: کاربرانی که قادر به استفاده از دستور Index هستند، میتوانند بهسرعت در محتوای ردیفها جستجو کنند و به دادههای مدنظر خود دسترسی داشته باشند. هرچه یک Table بزرگتر باشد، ارزش در اختیار داشتن دستور Index بیشتر میشود.
Grant: کاربرانی که قادر به استفاده از دستور Grant هستند، میتوانند امتیازات و دسترسیهایی را در اختیار اشیا (رکورد، ردیف، جدول) موجود در دیتابیس قرار دهند. توضیح این دستور بنابرقواعد شیگرایی کمی دشوار است، اما اگر بخواهیم به سادهترین شکل ممکن توضیح دهیم، کاربران برخوردار از دستور Grant، میتوانند دادههای موجود در یک دیتابیس را بهیکدیگر ربط دهند و بین آنها پیوند ایجاد کنند. همچنین کاربر ایجاد کنندهی دیتابیس، میتواند با استفاده از این دستور به دیگر کاربران امتیازاتی را اعطا کند.
Reference: کاربران بهرهمند از این دسترسی، میتوانند مانع از هرگونه اقدامی شوند که پیوند میان جداول مختلف را میشکند. برای کسب اطلاعات بیشتر در رابطه با این دسترسی، میتوانید از «این لینک» استفاده کنید.
Create tmp tables: همانطور که از نام این دسترسی هم مشخص است، کاربر بهرهمند از این دسترسی، امکان ایجاد جداول موقتی (Temporary Tables) دارد. جداول موقتی امکان ثبت رکوردهای موقتی را برای برنامه نویسان و فرآیندهای سطح سرور فراهم میکنند و پس از انجام وظایف خود، بهصورت اتوماتیک Drop میشوند.
Lock Tables: کاربری که از دسترسی Lock Tables بهره میبرد، میتواند جدول یا جداول مختلفی را قفل نماید. با این کار، تمامی رکوردهای آن جداول غیرقابل دسترسی خواهند بود و همچنین امکان تغییر رکوردهای این جداول وجود نخواهد داشت.
Show View: کاربران برخوردار از این دسترسی، میتوانند دادههای خود را در یک جدول مجازی بهنمایش درآورند. در حقیقت این دستور به شما کمک میکند تا بتوانید دادههای مدنظرتان را در قالب یک جدول ارائه دهید. مثلا میتوانید عبارات و توابع SQL را به یک View اضافه کنید و دادهها را طوری ارائه دهید که گویی دادهها از یک جدول منفرد میآیند.
Create Routine: همانطور که در زمان برنامه نوسی میتوانیم از کلاسها و توابع برای ذخیرهسازی یک دستور پرتکرار استفاده کنیم، در پایگاه داده هم میتوانیم یک روتین (Routine) ایجاد کنیم. کاربران بهرهمند از این دسترسی میتوانند تکه کدهای SQL رو به صورت یک دستور روتین ایجاد نمایند، بنابراین یک کد SQL میتواند در قالب یک روتین بارها و بارها مورد استفاده مجدد قرار بگیرد.
توجه داشته باشید که یک کاربر برای فراخوانی و اجرای یک روتین، نیاز به دسترسی “Execute” دارد. در ادامهی این بخش به بررسی این امتیاز هم پرداختهایم.
Alter Routine: این دسترسی دقیقا عملکردی شبیه به دسترسی Alter دارد با این تفاوتکه این دستور، امکان مدیریت روتینها را به کاربر میدهد. این امتیاز در صورت لزوم بهطور خودکار به سازنده یک روتین اعطا میشود و با حذف روتین، از دسترسیهای سازندهی روتین حذف میشود.
Execute: دسترسی Execute یکی از مهمترین دسترسیهایی است که یک کاربر میتواند در سطح پایگاه داده از آن برخوردار باشد. به کمک این سطح دسترسی، کاربر میتواند روتینها یا دستورات مدنظر خود را اجرا نماید. اجرای تمامی کوئریهای (Queries) مدنظر کاربر، نمونهای از امکاناتی است که این سطح دسترسی در اختیار فرد قرار میدهد.
Create View: این دسترسی امکان ایجاد یک ساختار View جدید را به کاربران میدهد. دستور Create View یک نمای جدید ایجاد می کند. همچنین در صورت استفاده از دستور “CREATE OR REPLACE VIEW” میتوان یک ساختار View را با ساختار جدیدی جایگزین کرد.
اگر ساختاری وجود نداشته باشد، دستور CREATE OR REPLACE VIEW همان عملکرد CREATE VIEW را خواهد داشت.
Event: دسترسی Event، امکان ایجاد، تغییر و حذف رویدادها (Event) را به کاربر اعطا میکند. رویدادها در سطح پایگاه داده، عملکردی شبیه به Cron Jobها در سطح سرور و سیستم توزیع محتوای وردپرس دارند. در حقیقت یک ایونت، مجموعهای از دستورات است که در یک زمان خاص اجرا میشود.
Trigger: یک Trigger، یک شی پایگاه دادهی نامگذاری شده است که با یک جدول مرتبط است و زمانی که یک رویداد خاص (نظیر Event) برای جدول رخ میدهد فعال میشود. یکی از کاربردهای تریگرها برای بررسی مقادیر درج شده در جدول یا انجام محاسبات روی مقادیر درگیر در یک بهروزرسانی رکورد است.
اکنون که با تمامی دسترسیهای (Privileges) قابل اعطا به یک کاربر در سطح پایگاه داده آشنا شدهاید، میتوانید بنابر نیاز عضو جدید تیم و همچنین سیاستهای خودتان، میزان دسترسیهای او را تنظیم نمایید.
بد نیست اگر اشاره کنیم که از طریق صفحهی کاربران دارای دسترسی به پایگاه داده، میتوانید بهطور کلی یک کاربر را حذف نمایید.
برای این کار تنها کافیست که پس از ورود به صفحه مدیریت دیتابیس در پنل دایرکت ادمین سایت خود، کاربر مدنظر را انتخاب کرده و بر روی کلید حذف انتخاب شدهها کلیک نمایید.
بههمین سادگی میتوانید تنها از طریق کنترل پنل دایرکت ادمین، دسترسیهای جدیدی برای دیتابیس خود ایجاد نمایید، آنها را مدیریت کنید و در صورت نیاز، یک دسترسی را بهطور کلی حذف نمایید.
ارائه دسترسی محدود به اتصال FTP
پس از ارائه دسترسی محدود پیشخوان وردپرس و دیتابیس، امکان اتصال FTP آخرین نیاز اصلی عضو جدید تیم شما خواهد بود. ارائه دسترسی محدود FTP موجب میشود که کاربرِ شما نیازی به دسترسی به کنترل پنل سرویس میزبانی یا افزونهی اضافی برای مدیریت فایلهای مدنظر خود نداشته باشد.
برای ایجاد یک حساب FTP جدید با دسترسی محدود در سرویس میزبانی خود و ارائهی آن به عضو جدید تیم، باید مراحل زیر را پشت سر بگذارید.
در اولین قدم باید پس از ورود به پنل دایرکت ادمین سایت خود، در میان گزینههای موجود، بر روی عبارت «مدیریت FTP» از بخش مدیریت دامین کلیک نمایید.
با این کار صفحه جدیدی برای شما بازخواهد شد که در آن میتوانید کلیه حسابهای فعلی FTP سایت خود را مشاهده کنید. همواره بهصورت پیشفرض یک حساب FTP اصلی در این لیست وجود دارد که امکان پاک کردن آن را ندارید و مستقیما به روت (Root) سرویس میزبانی شما دسترسی دارد.
برای اضافه کردن یک حساب FTP جدید، باید از منوی سمت چپ، بر روی عبارت «ایجاد حساب FTP» کلیک نمایید. با این کار یک منوی Drop Down از سمت راست صفحه برای شما باز خواهد شد که چندین مشخصهی اصلی دارد.
برای ایجاد یک حساب FTP جدید، باید تمامی فیلدهای این بخش را مطابق با نیاز خود تکمیل نمایید.
اولین فیلد نام کاربریِ حساب FTP جدید شماست. مسلما میتوانید از هر نام دلخواهی در این بخش استفاده نمایید. فراموش نکنید که نام کاربری شما ترکیبی از عبارت دلخواه وارد شده در این فیلد، بههمراه عبارت کناری آن خواهد بود. در حقیقت نام کاربری حساب FTP شما ظاهری شبیه به یک «ایمیل رسمی دامنه» خواهد داشت.
پس از آن نوبت به رمزعبور حساب FTP شما میرسد. لازم است مجددا اشاره کنیم که هیچگاه امنیت حسابهای کاربری خود را با رمزعبورهای ساده بهخطر نیندازید. از همین رو میتوانید از سیستم ایجاد رمزعبور تعبیهشده در همین فیلد استفاده نمایید.
با کلیک بر روی کلید «تصادفی»، پنل دایرکت ادمین آقای وب بهصورت خودکار یک رمزعبور قدرتمند برای شما ایجاد خواهد کرد که میتوانید از آن استفاده نمایید. همانطور که در تصویر بالا هم مشخص است، رمزعبور ایجادشده را حتما از فیلد مشخصشده کپی نموده و در یک جای مطمئن ذخیره نمایید. نام کاربری مشخصشده در این صفحه و رمزعبور ایجادشده توسط شما، تنها مواردی هستند که باید به عضو جدید تیم ارائه شوند تا بتواند به حساب FTP خود دسترسی داشته باشد.
نهایتا به مهمترین بخش ایجاد یک حساب FTP جدید با دسترسی محدود میرسیم. تا پیش از این مرحله ما تنها یک حساب FTP معمولی ایجاد کردهایم. تنها کافیست که تا پایان مرحله قبلی پیش بروید و نهایتا بر روی کلید «ایجاد» در پایین کادر کلیک نمایید. با این کار یک حساب FTP جدید خواهید داشت که دقیقا سطحی دسترسی مشابه با حساب FTP اصلی سرویس میزبانی شما دارد. در حقیقت این حساب کاربری به کلیهی محتوای سایت دسترسی خواهد داشت.
اما چطور میتوانیم در یک حساب FTP، محدودیت دسترسی اعمال کنیم؟
در زمان ایجاد حساب FTP جدید، بخشی بهنام مسیر دسترسی وجود دارد که تعیین میکند این حساب FTP جدید، به چه دایرکتوری (میتوانید بخوانید پوشه یا Folder) دسترسی خواهد داشت. برای تعیین سطح دسترسی حساب FTP، چهار گزینه پیش روی شما وجود خواهد داشت که میتوانید با انتخاب هر کدام، سطح دسترسی را تعیین نمایید. در ادامه به بررسی هرکدام از این 4 گزینه خواهیم پرداخت.
شاخه دامین: این مسیر دسترسی در حقیقت همان دسترسی کامل روت سرویس میزبانی سایت است. کاربری با داشتن چنین سطح دسترسی در اکانت FTP خود میتواند تمامی فایلهای سایت را مدیریت کند و عملا به تمامی فایلها دسترسی دارد.
شاخه public_ftp: این سطح دسترسی موجب میشود که کاربر تنها بتواند به دایرکتوری public_ftp دسترسی داشته باشد. هرچند که این دایرکتوری در اکثر موارد فاقد هرگونه فایلی است، اما یک کاربر حرفهای با داشتن این سطح دسترسی میتواند اتفاقات مثبت و منفی بسیاری را رقم بزند. تقریبا بهجز توسعه دهندگان سرور و متخصصان شبکه، سایر کاربران همچون برنامه نویسان و… نیازی به این دایرکتوری نخواهند داشت.
زیر شاخه public_html: این مسیر دسترسی در حقیقت مربوط به یکی از سابدایرکتوریهای ایجاد شده در دایرکتوری public_html است. ممکن است این گزینه در پنل دایرکت ادمین شما قابل مشاهده نباشد، با این حال چنانچه یک دایرکتوری توسط مدیر سرویس میزبانی در دایرکتوری public_html ایجاد شود، آن دایرکتوری در این صفحه قابل مشاهده و انتخاب خواهد بود. یکی از بیشترین کاربردهای این مسیرِ دسترسی برای افرادی است که از طریق ساب فولدر (Subfolder) برای سایت خود یک وبلاگ یا فروشگاه ایجاد نمودهاند و میخواهند مدیریت آن را به شخص دیگری بسپارند.
مسیر دلخواه: بهترین روش ارائه دسترسی محدود اتصال FTP به عضو جدید تیم، استفاده از گزینهی مسیر دلخواه است. با استفاده از این گزینه میتوانید دسترسی کاربر را حتی محدود به یک دایرکتوری کنید.
توجه داشته باشید که با ارائه دسترسی یک دایرکتوری به عضو جدید تیم، این سطح دسترسی شامل آن دایرکتوری و تمامی فایلها و ساب دایرکتوریهای آن میشود. برا مثال، چنانچه دسترسی دایرکتوری “wp-content” را در سیستم مدیریت محتوای وردپرس به یک فرد بدهید، این دسترسی شامل تمامی ساب دایرکتوریهای این مسیر، یعنی دایرکتوریهای افزونهها (Plugins) و پوستههای سایت (Themes) میشود.
توجه به این نکته در زمان ارائه دسترسی FTP یه یک کاربر جدید بسیار حائز اهمیت است.
بگذارید این مورد را با ذکر یک مثال بررسی کنیم. فرض کنید که ما یک سایت کاملا اختصاصی را بر روی بستر وردپرس پیادهسازی کردهایم که در ساخت آن از افزونههای اختصاصی استفاده شده و نمیخواهیم که سایر برنامه نویسان به فایلهای این افزونهها دسترسی داشته باشند.
اکنون نیاز به یک قابلیت جدید در سایت خود داریم که نیاز به توسعه یک پلاگین جدید دارد و سفارش آن را به برنامه نویس دیگری دادهایم. برنامه نویسِ جدید از ما درخواست یک اکانت FTP کرده تا بتواند آن را به IDE خود متصل کند و تغییرات را بهصورت لحظهای اعمال نماید. در این شرایط باید چطور دسترسی محدود مدنظر عضو جدید تیم را ایجاد کنیم؟
جواب، استفاده از مسیر دلخواه است. در اولین قدم، در دایرکتوری “plugins” یک دایرکتوری جدید با نام دلخواه خودمان (یا نام خواسته شده توسط توسعه دهنده) ایجاد میکنیم.
اگر از همراهان آقای وب هستید و از سرویسهای میزبانی ما استفاده میکنید، ماژول مدیریت فایل AXFile Pro بهصورت خودکار بر روی هاست شما نصب شده است.
برای دسترسی به صفحه اصلی این ماژول، تنها کافیست که پس از ورود به پنل دایرکت ادمین خود، بر روی یکی از گزینههای موجود در تصویر بالا کلیک نمایید. پس از این کار به مسیر “public_html/wp-content/plugins” رفته و با کلیک راست کردن در فضای خالی و انتخاب گزینه “New Directory”، دایرکتوری مدنظرمان را ایجاد میکنیم.
اکنون تنها کافیست که وارد دایرکتوری جدیدی که ایجاد کردهایم، بشویم. در این دایرکتوری مطابق با تصویر بر روی آیکن مداد موجود در بالای صفحه کلیک میکنیم. با این کار آدرس دایرکتوری که ایجاد کردهایم برای ما مشخص میشود و میتوانیم آن را با استفاده از کلیدهای ترکیبی “Ctrl+C” یا کلیک راست کردن بر روی آدرس دایرکتوری، کپی کنیم.
پس از این کار، مجددا به صفحه مدیریت FTP در پنل دایرکت ادمین خود بازمیگردیم. اکنون تنها کافیست که آدرس دایرکتوری ایجادشده برای توسعهی پلاگین جدید را در کادر مربوطه و در ادامهی آدرس پیشفرض کپی کنیم.
آدرس اولیه، یعنی “home2/netafra4/” که بهصورت پیشفرض در کادر مسیر دلخواه وجود دارد، مربوط به مسیردهیهای سیستمی سرور شماست و نباید آن را تغییر دهید. این مقدار ممکن است برای شما متفاوت باشد، چراکه آقای وب سرورهای بسیار زیادی دارد و این مقدار اولیه، بستگی به تنظیمات سروری دارد که هاست شما بر روی آن ایجاد شده است. تنها کاری که لازم است شما انجام دهید،کپی آدرس مربوطه در ادامهی این آدرس است.
اکنون که فیلدهای مربوطه را تکمیل کردهاید و آدرس مدنظرتان را هم در جهت ارائه دسترسی محدود به عضو جدید تیم، انتخاب نمودهاید، تنها کافیست بر روی کلید “ایجاد” در پایین صفحه کلیک کنید. با این کار حساب FTP جدیدی در سرویس میزبانی شما ایجاد خواهد شد که با ارائه نام کاربری و رمزعبور مربوطه به عضو جدید تیم خود، میتوانید امکان اتصال FTP را در اختیار او قرار دهید.
سخن پایانی
در این مقاله از آقای وب بلاگ، به بررسی نحوه ارائه دسترسیهای محدود پیشخوان وردپرس، پایگاه دادهی سایت و همچنین اتصال FTP پرداختیم. آگاهی از این موضوعات به مدیران کسبوکارها کمک میکند تا بتوانند بهشکلی بهتر و ایمنتر، مراحل توسعهی سایت خود را طی کنند و دیگر نگرانی از بابت دسترسیهای بیش از حد و بلااستفاده نداشته باشند.
بر اساس تجربه فکر نمیکنیم که نیاز به اعمال محدودیتهای بیشتری باشد، چراکه موارد بررسی شده در این نوشته، اصلیترین مواردی هستند که یک عضو جدید تیمِ توسعه ممکن است به آنها نیاز داشته باشد؛ با این وجود، چنانچه فکر میکنید که این نوشته میتواند با اضافه کردن مطالب دیگری بهبود یابد، میتوانید پیشنهادات خود را از طریق بخش نظرات به ما اعلام کنید.
نهایتا امیدواریم که از این نوشته بهره کافی را برده باشید. هدف ما در تیم آقای وب، پاسخگویی به سوالات و برطرف کردن مشکلات اولیه شماست. پس چنانچه سوالی در رابطه با این نوشته دارید، از طریق بخش ارسال نظرات در پایین این برگه با ما در ارتباط باشید.
موفقیت همراه راهتان باد.
5
5
رای ها
امتیازدهی به مقاله
URL Copied