آموزش با استفاده از PHP MVC یک سیستم ثبت نام و ورود کامل بسازید

Build a Complete Registration and Login System using PHP MVC

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: افزودن ثبت نام، ورود به سیستم، من را به خاطر بسپار، فعال سازی حساب، بازنشانی رمز عبور از طریق ایمیل و موارد دیگر با استفاده از چارچوب PHP MVC به کاربران جدید اجازه ثبت نام برای یک حساب جدید اعتبارسنجی داده های ثبت نام کاربران، هم در سرور و هم در مرورگر، ذخیره رمزهای عبور ایمن در پایگاه داده به کاربران اجازه می دهد با استفاده از ایمیل و رمز عبور خود وارد شوند محدود کردن محتوا فقط به کاربرانی که وارد سیستم شده اند استفاده از جلسات برای مدیریت ورود به سیستم استفاده از کوکی ها برای به خاطر سپردن اختیاری ورود کاربر به کاربران امکان بازنشانی ایمن پسوردهای خود در صورت فراموش کردن آنها به کاربران اجازه به روز رسانی رمز عبور خود جزئیات پروفایل استفاده از چارچوب CSS UI برای افزودن آسان استایل به پروژه پیش نیازها: شما باید دوره آموزشی "Write PHP Like a Pro: Build a PHP MVC Framework from Scratch" را گذرانده باشید. HTML، CSS و جاوا اسکریپت شما باید راحت نرم افزار را روی کامپیوتر خود نصب کنید، باید با الگوی مدل - view - controller (MVC) آشنا باشید.

مفاهیم، ​​ابزارها و عملکردهای اساسی را که برای احراز هویت کاربر با استفاده از چارچوب PHP MVC نیاز دارید، بیاموزید.

ثبت نام و ورود به سیستم را به چارچوب PHP MVC که در دوره آموزشی "ساخت چارچوب PHP MVC از ابتدا" ساخته ایم اضافه کنید.

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


ساخت ثبت نام و ورود به سیستم با استفاده از مدل‌ها، نماها و کنترل‌کننده‌ها

بیشتر وب سایت ها و برنامه های کاربردی وب نیاز به احراز هویت کاربر دارند. هنگامی که کاربران در سایت شما ثبت نام کردند، می توانید محتوا را به طور خاص برای آنها تنظیم کنید و محتوا را فقط به کاربران وارد شده محدود کنید.

با توسعه احراز هویت کاربر با استفاده از چارچوب MVC، نوشتن و نگهداری کد شما آسان‌تر می‌شود.

تمام مفاهیمی که باید بدانید تا بفهمید چرا سیستم به این شکل توسعه یافته است، با جزئیات توضیح داده شده است.

محتوا و نمای کلی

من این دوره را برای ادامه دوره آموزشی Write PHP Like a Pro: Build a PHP MVC Framework From Scratch طراحی کردم. در پایان آن دوره، چارچوب PHP MVC خود را ساخته بودید. اگر می‌خواهید ثبت نام کاربر و ورود به آن را به آن چارچوب اضافه کنید، این دوره همه چیزهایی را که باید بدانید را پوشش می‌دهد، از جایی که دوره پایان یافت.

با مفاهیم اولیه احراز هویت شروع می‌شود، این دوره شما را تمام مراحل مورد نیاز برای ساختن یک سیستم ثبت نام و ورود به سیستم کامل را طی می‌کند.

با شروع با چارچوب PHP MVC از دوره قبلی، هر سخنرانی توضیح می‌دهد که قرار است چه چیزی را به کد اضافه کنید و چرا، پروژه را مرحله به مرحله ایجاد کنید. در پایان این دوره، یک سیستم ثبت نام و ورود کامل با استفاده از چارچوب PHP MVC ساخته اید که آماده استفاده در پروژه های خود است.

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


سرفصل ها و درس ها

معرفی و راه اندازی پروژه Introduction and project setup

  • معرفی Introduction

  • یک وب سرور PHP و یک سرور پایگاه داده روی رایانه خود نصب کنید Install a PHP web server and a database server on your computer

  • فریم ورک PHP MVC را نصب کنید Install the PHP MVC framework

  • وب سرور را برای استفاده از چارچوب پیکربندی کنید Configure the web server to use the framework

  • یک پایگاه داده جدید ایجاد کنید و چارچوب را برای استفاده از آن پیکربندی کنید Create a new database and configure the framework to use it

ثبت نام کاربر جدید: فرم ثبت نام را ایجاد کنید و داده ها را در پایگاه داده ذخیره کنید New user signup: create the registration form and save the data in the database

  • شناسایی منحصر به فرد کاربران: نام کاربری یا آدرس ایمیل؟ Uniquely identify users: username or email address?

  • رمزهای عبور را تا حد امکان به صورت ایمن در پایگاه داده ذخیره کنید Store passwords as securely as possible in the database

  • هش رمز عبور نمکی ایمن ایجاد کنید Generate secure salted password hashes

  • یک جدول پایگاه داده برای ذخیره حساب های کاربری ایجاد کنید Create a database table to store user accounts

  • صفحه ثبت نام را ایجاد و نمایش دهید Create and display the signup page

  • فرم را به صفحه ثبت نام اضافه کنید Add the form to the signup page

  • اکشن ثبت نام را در کنترلر ایجاد کنید Create the signup action in the controller

  • خطر حملات تزریق SQL را درک کنید Understand the danger from SQL injection attacks

  • از حملات تزریق SQL با استفاده از PDO اجتناب کنید Avoid SQL injection attacks using PDO

  • یک مدل کاربر با روش ذخیره اضافه کنید Add a user model with a save method

  • ثبت نام کاربر جدید New user signup

داده های ثبت نام در سرور را تأیید کنید Validate the signup data on the server

  • قبل از ذخیره رکورد جدید کاربر، داده ها را اعتبارسنجی کنید Validate the data before saving the new user record

  • اعتبارسنجی آدرس ایمیل در جدول کاربر منحصر به فرد است Validate the email address is unique in the user table

  • نمایش پیام های خطای اعتبارسنجی در فرم ثبت نام Display validation error messages in the signup form

  • با استفاده از الگوی ارسال/تغییر مسیر/دریافت از ارسال فرم های تکراری جلوگیری کنید Prevent duplicate form submissions using the Post / Redirect / Get pattern

  • هدایت به صفحه دیگری با استفاده از PHP: چگونه، چرا و بهترین شیوه ها Redirecting to another page using PHP: how, why and best practices

  • پس از ثبت نام موفقیت آمیز به صفحه موفقیت هدایت شوید Redirect to the success page after a successful signup

  • داده های ثبت نام در سرور را تأیید کنید Validate the signup data on the server

داده های ثبت نام را در مرورگر تأیید کنید Validate the signup data in the browser

  • چرا باید داده ها را روی سرور و همچنین مشتری تأیید کنید Why you should validate data on the server as well as the client

  • با استفاده از اعتبارسنجی HTML5، صفحه ثبت نام را در مرورگر تأیید کنید Validate the signup page in the browser using HTML5 validation

  • یک کتابخانه اعتبار سنجی جاوا اسکریپت اضافه کنید Add a JavaScript validation library

  • با استفاده از جاوا اسکریپت، صفحه ثبت نام را در مرورگر تأیید کنید Validate the signup page in the browser using JavaScript

  • فرمت رمز عبور را با روش اعتبارسنجی سفارشی تأیید کنید Validate the format of the password with a custom validation method

  • اعتبارسنجی آدرس ایمیل با استفاده از درخواست Ajax منحصر به فرد است Validate the email address is unique using an Ajax request

  • فیلد تأیید رمز عبور: چرا مشکل است و چگونه آن را برطرف کنیم The password confirmation field: why it's a problem and how to fix it

  • قسمت تایید رمز عبور را بردارید و یک دکمه نمایش رمز عبور اضافه کنید Remove the password confirmation field and add a show password button

  • داده های ثبت نام را در مرورگر تأیید کنید Validate the signup data in the browser

ورود: احراز هویت کاربر با استفاده از آدرس ایمیل و رمز عبور Login: authenticate the user using their email address and password

  • صفحه ورود را ایجاد و نمایش دهید Create and display the login page

  • عمل ورود به سیستم را در کنترلر ایجاد کنید Create the login action in the controller

  • شی کاربر را با استفاده از آدرس ایمیل پیدا کنید Find the user object using the email address

  • با تأیید صحت رمز عبور کاربر، احراز هویت Authenticate the user by verifying their password is correct

  • هنگامی که احراز هویت ناموفق بود، آدرس ایمیل را در فرم ورود به سیستم نشان دهید Redisplay the email address in the login form when authentication fails

  • یک روش تغییر مسیر را به کنترل کننده اصلی اضافه کنید Add a redirect method to the core controller

  • جلسات در PHP: مرورگر وب شما را به خاطر بسپارد Sessions in PHP: make the web browser remember you

  • از جلسه برای به خاطر سپردن ورود و مشاهده وضعیت ورود استفاده کنید Use the session to remember the login and view the logged-in status

  • Sessions در PHP: حتی بدون بستن مرورگر یک جلسه را کاملاً از بین می برد Sessions in PHP: completely destroy a session, even without closing the browser

  • برای خروج کاربر، جلسه را نابود کنید Destroy the session to log the user out

  • جلسات در PHP: جلوگیری از حملات ثابت کردن جلسه Sessions in PHP: prevent session fixation attacks

  • وارد شدن Login

دسترسی را فقط به کاربران تایید شده محدود کنید Restrict access to authenticated users only

  • یک کلاس برای سازماندهی کد احراز هویت در یک مکان اضافه کنید Add a class to organise the authentication code in one place

  • یک صفحه را فقط به کاربرانی که وارد سیستم شده اند محدود کنید Restrict a page to logged-in users only

  • پس از ورود به صفحه اصلی درخواست شده هدایت شوید Redirect back to the originally requested page after login

  • روشی را برای نیاز به ورود به کنترلر اصلی اضافه کنید Add a method to the core controller for requiring login

  • برای همه روش‌های عمل در یک کنترلر، نیاز به ورود به سیستم است Require login for all action methods in a controller

  • یک کنترل کننده پایه اضافه کنید که برای همه روش های عمل نیاز به ورود به سیستم دارد Add a base controller that requires login for all action methods

  • کاربر تأیید شده فعلی را در کنترلرها و نماها دریافت کنید Get the current authenticated user in controllers and views

  • کد را ساده کنید: روش isLoggedIn را حذف کنید Simplify the code: remove the isLoggedIn method

پیام های فلش: نمایش پیام های وضعیت به کاربران Flash messages: display status messages to users

  • پیام های اعلان فلش: نمایش پیام های وضعیت به کاربران Flash notification messages: display status messages to users

  • در صورت نیاز به ورود، یک پیام فلش اضافه کنید Add a flash message when requiring login

  • پیام های فلش را به کاربر نمایش دهید Display the flash messages to the user

  • هنگام ورود به سیستم پیام های فلش اضافه کنید Add flash messages when logging in

  • هنگام خروج از سیستم یک پیام فلش اضافه کنید Add a flash message when logging out

  • یک شیوه نامه CSS اضافه کنید و به پیام های فلش استایل دهید Add a CSS style sheet and style the flash messages

  • انواع پیام های فلش را اضافه کنید و به آنها سبک های مختلف بدهید Add flash message types and give them different styles

مرا به خاطر بسپار: به کاربران این امکان را بدهید که ورود به سیستم را به خاطر بسپارند Remember me: give users the option of remembering the login

  • نحوه به خاطر سپردن لاگین پس از بستن مرورگر How to remember the login after closing the browser

  • توکن های تصادفی و منحصر به فرد و هش های امن ایجاد کنید Generate unique, random tokens and secure hashes

  • یک کلاس برای تولید و ایجاد هش توکن های تصادفی اضافه کنید Add a class to generate and create hashes of random tokens

  • یک جدول پایگاه داده برای ذخیره لاگین های به خاطر سپرده شده ایجاد کنید Create a database table to store remembered logins

  • یک چک باکس مرا به خاطر بسپار به فرم ورود اضافه کنید Add a remember me checkbox to the login form

  • ورود به پایگاه داده را به خاطر بسپارید Remember the login in the database

  • کوکی ها در PHP: اصول اولیه Cookies in PHP: the basics

  • ورود در یک کوکی را به خاطر بسپارید Remember the login in a cookie

  • با استفاده از رمز موجود در کوکی به صورت خودکار وارد شوید Log in automatically using the token in the cookie

  • در صورت منقضی شدن رمز یادآوری در پایگاه داده، از ورود خودکار جلوگیری کنید Prevent automatic login if the remember token has expired in the database

  • هنگام خروج از سیستم، ورود به سیستم را فراموش کنید Forget the remembered login when logging out

  • مرا به خاطر بسپار Remember me

بازنشانی رمز عبور قسمت 1: به طور ایمن درخواست بازنشانی رمز عبور فراموش شده را بدهید Password reset part 1: securely request reset of a forgotten password

  • به کاربران اجازه دهید در صورت فراموشی رمزهای عبور خود، به طور ایمن آن را بازنشانی کنند Allow users to securely reset their passwords when they forget them

  • به یک سرویس ایمیل دسترسی پیدا کنید Get access to an email service

  • یک کلاس برای ارسال ایمیل اضافه کنید Add a class to send emails

  • صفحه رمز فراموش شده را ایجاد و نمایش دهید Create and display the forgotten password page

  • فرم رمز فراموش شده را در کنترلر پردازش کنید Process the forgotten password form in the controller

  • فیلدهای بازنشانی رمز عبور را به جدول کاربر در پایگاه داده اضافه کنید Add password reset fields to the user table in the database

  • رمز تنظیم مجدد رمز عبور جدید را ذخیره کنید و با سابقه کاربر منقضی شود Save a new password reset token and expiry with the user record

  • ایمیل بازنشانی رمز عبور را برای کاربر ارسال کنید Send the password reset email to the user

  • محتوای ایمیل را از یک قالب مشاهده دریافت کنید Get the email content from a view template

بازنشانی رمز عبور قسمت 2: بازنشانی ایمن رمز عبور فراموش شده Password reset part 2: securely reset a forgotten password

  • یک اقدام برای پردازش پیوند و دریافت نشانه از URL اضافه کنید Add an action to process the link and get the token from the URL

  • کاربر را بر اساس توکن دریافت کنید و انقضا را بررسی کنید Get the user based on the token and check the expiry

  • فرم بازنشانی رمز عبور را ایجاد و نمایش دهید Create and display the password reset form

  • کدهای مکرر جاوا اسکریپت را در یک فایل جداگانه استخراج کنید Extract repeated JavaScript code out into a separate file

  • فرم بازنشانی رمز عبور را در کنترلر پردازش کنید Process the password reset form in the controller

  • کد تکراری را حذف کنید و یک نمای توکن منقضی شده اضافه کنید Remove duplicated code and add an expired token view

  • فرم بازنشانی رمز عبور را در سرور اعتبار سنجی کنید Validate the password reset form on the server

  • رمز عبور کاربر را بازنشانی کنید و رمز و انقضا را پاک کنید Reset the user's password and clear the token and expiry

  • تنظیم مجدد رمز عبور Password reset

فعال سازی حساب: قبل از اجازه ورود، آدرس ایمیل کاربر را تایید کنید Account activation: confirm the user's email address before allowing login

  • فعال سازی حساب: آدرس ایمیل کاربر را تایید کنید Account activation: confirm the user's email address

  • فیلدهای فعالسازی حساب را به جدول کاربر در پایگاه داده اضافه کنید Add account activation fields to the user table in the database

  • پس از ثبت نام، یک رمز فعال سازی منحصر به فرد ایجاد کنید Generate a unique activation token upon signup

  • ایمیل فعال سازی حساب را برای کاربر ارسال کنید Send the account activation email to the user

  • در صورت فعال نشدن حساب کاربری، ورود را محدود کنید Restrict login if account not activated

  • پیوند فعالسازی حساب را پردازش کرده و حساب را فعال کنید Process the account activation link and activate the account

نمایه کاربر: به کاربران اجازه دهید داده های نمایه خود را به روز کنند User profile: let users update their own profile data

  • مشخصات کاربر: به کاربر اجازه دهید جزئیات خود را به روز کند User profile: let the user update their own details

  • کاربر فعلی وارد شده را دریافت کنید و داده های نمایه او را نمایش دهید Get the current logged-in user and display their profile data

  • فرم ویرایش پروفایل را ایجاد و نمایش دهید Create and display the edit profile form

  • اعتبارسنجی آدرس ایمیل منحصربه‌فرد است، که امکان ثبت کاربر موجود را فراهم می‌کند Validate the email address is unique, allowing for the existing user record

  • تغییر رمز عبور را اختیاری کنید، اما همچنان در صورت ارائه آن را تأیید کنید Make changing the password optional, but still validate it if supplied

  • اعتبارسنجی و ذخیره داده های پروفایل در سرور Validate and save the profile data on the server

  • کدهای تکراری را در کنترلر پروفایل پاک کنید Clean up duplicated code in the profile controller

  • ناوبری سایت را با پیوند به صفحه نمایه اضافه کنید Add site navigation with a link to the profile page

اضافه کردن یک ظاهر طراحی: از یک چارچوب CSS UI استفاده کنید Add styling: use a CSS UI framework

  • از یک چارچوب CSS UI برای افزودن استایل و چیدمان استفاده کنید Use a CSS UI framework to add styling and layout

  • چارچوب بوت استرپ را درج کنید Include the Bootstrap framework

  • یک عنصر ظرف اضافه کنید و به طرح بندی کلی استایل دهید Add a container element and style the general layout

  • استایل ها را به فرم ها و کنترل های ورودی اضافه کنید Add styles to forms and input controls

  • اضافه کردن سبک به دکمه ها Add styles to buttons

  • پیوندهای ناوبری را به یک مؤلفه نوار ناوبری تبدیل کنید Turn the navigation links into a navbar component

  • سبک های پیام فلش را جایگزین کنید Replace the flash message styles

  • هنگام نمایش داده های نمایه کاربر، سبک ها را اضافه کنید Add styles when showing the user's profile data

نتیجه Conclusion

  • نتیجه Conclusion

نمایش نظرات

آموزش با استفاده از PHP MVC یک سیستم ثبت نام و ورود کامل بسازید
جزییات دوره
5 hours
106
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
3,818
4.9 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Dave Hollingworth Dave Hollingworth

مربی فناوری اطلاعات