-
Урок 1.
00:01:42
Introduction
-
Урок 2.
00:02:01
Install a PHP web server and a database server on your computer
-
Урок 3.
00:01:46
Install the PHP MVC framework
-
Урок 4.
00:01:35
Configure the web server to use the framework
-
Урок 5.
00:02:39
Create a new database and configure the framework to use it
-
Урок 6.
00:02:35
Uniquely identify users: username or email address?
-
Урок 7.
00:04:11
Store passwords as securely as possible in the database
-
Урок 8.
00:03:42
Generate secure salted password hashes
-
Урок 9.
00:02:47
Create a database table to store user accounts
-
Урок 10.
00:02:20
Create and display the signup page
-
Урок 11.
00:03:49
Add the form to the signup page
-
Урок 12.
00:01:37
Create the signup action in the controller
-
Урок 13.
00:04:09
Understand the danger from SQL injection attacks
-
Урок 14.
00:04:02
Avoid SQL injection attacks using PDO
-
Урок 15.
00:04:36
Add a user model with a save method
-
Урок 16.
00:03:57
Validate the data before saving the new user record
-
Урок 17.
00:02:12
Validate the email address is unique in the user table
-
Урок 18.
00:03:31
Display validation error messages in the signup form
-
Урок 19.
00:02:06
Prevent duplicate form submissions using the Post / Redirect / Get pattern
-
Урок 20.
00:05:16
Redirecting to another page using PHP: how, why and best practices
-
Урок 21.
00:01:13
Redirect to the success page after a successful signup
-
Урок 22.
00:02:46
Why you should validate data on the server as well as the client
-
Урок 23.
00:03:01
Validate the signup page in the browser using HTML5 validation
-
Урок 24.
00:03:35
Add a JavaScript validation library
-
Урок 25.
00:03:12
Validate the signup page in the browser using JavaScript
-
Урок 26.
00:02:21
Validate the format of the password with a custom validation method
-
Урок 27.
00:05:05
Validate the email address is unique using an Ajax request
-
Урок 28.
00:01:47
The password confirmation field: why it's a problem and how to fix it
-
Урок 29.
00:02:42
Remove the password confirmation field and add a show password button
-
Урок 30.
00:03:15
Create and display the login page
-
Урок 31.
00:02:02
Create the login action in the controller
-
Урок 32.
00:05:02
Find the user object using the email address
-
Урок 33.
00:03:11
Authenticate the user by verifying their password is correct
-
Урок 34.
00:01:31
Redisplay the email address in the login form when authentication fails
-
Урок 35.
00:01:46
Add a redirect method to the core controller
-
Урок 36.
00:05:18
Sessions in PHP: make the web browser remember you
-
Урок 37.
00:04:11
Use the session to remember the login and view the logged-in status
-
Урок 38.
00:03:06
Sessions in PHP: completely destroy a session, even without closing the browser
-
Урок 39.
00:02:33
Destroy the session to log the user out
-
Урок 40.
00:04:23
Sessions in PHP: prevent session fixation attacks
-
Урок 41.
00:03:56
Add a class to organise the authentication code in one place
-
Урок 42.
00:03:03
Restrict a page to logged-in users only
-
Урок 43.
00:03:04
Redirect back to the originally requested page after login
-
Урок 44.
00:02:02
Add a method to the core controller for requiring login
-
Урок 45.
00:02:00
Require login for all action methods in a controller
-
Урок 46.
00:03:05
Add a base controller that requires login for all action methods
-
Урок 47.
00:03:28
Get the current authenticated user in controllers and views
-
Урок 48.
00:02:34
Simplify the code: remove the isLoggedIn method
-
Урок 49.
00:02:48
Flash notification messages: display status messages to users
-
Урок 50.
00:02:08
Add a flash message when requiring login
-
Урок 51.
00:03:05
Display the flash messages to the user
-
Урок 52.
00:01:50
Add flash messages when logging in
-
Урок 53.
00:01:57
Add a flash message when logging out
-
Урок 54.
00:01:50
Add a CSS style sheet and style the flash messages
-
Урок 55.
00:04:37
Add flash message types and give them different styles
-
Урок 56.
00:04:26
How to remember the login after closing the browser
-
Урок 57.
00:03:39
Generate unique, random tokens and secure hashes
-
Урок 58.
00:03:53
Add a class to generate and create hashes of random tokens
-
Урок 59.
00:02:15
Create a database table to store remembered logins
-
Урок 60.
00:03:33
Add a remember me checkbox to the login form
-
Урок 61.
00:03:41
Remember the login in the database
-
Урок 62.
00:05:06
Cookies in PHP: the basics
-
Урок 63.
00:02:12
Remember the login in a cookie
-
Урок 64.
00:04:10
Log in automatically using the token in the cookie
-
Урок 65.
00:02:43
Prevent automatic login if the remember token has expired in the database
-
Урок 66.
00:03:51
Forget the remembered login when logging out
-
Урок 67.
00:02:42
Allow users to securely reset their passwords when they forget them
-
Урок 68.
00:03:14
Get access to an email service
-
Урок 69.
00:03:08
Add a class to send emails
-
Урок 70.
00:01:28
Create and display the forgotten password page
-
Урок 71.
00:02:14
Process the forgotten password form in the controller
-
Урок 72.
00:01:31
Add password reset fields to the user table in the database
-
Урок 73.
00:02:05
Save a new password reset token and expiry with the user record
-
Урок 74.
00:02:52
Send the password reset email to the user
-
Урок 75.
00:03:25
Get the email content from a view template
-
Урок 76.
00:02:11
Add an action to process the link and get the token from the URL
-
Урок 77.
00:03:56
Get the user based on the token and check the expiry
-
Урок 78.
00:02:36
Create and display the password reset form
-
Урок 79.
00:01:52
Extract repeated JavaScript code out into a separate file
-
Урок 80.
00:02:38
Process the password reset form in the controller
-
Урок 81.
00:03:08
Remove duplicated code and add an expired token view
-
Урок 82.
00:05:40
Validate the password reset form on the server
-
Урок 83.
00:03:53
Reset the user's password and clear the token and expiry
-
Урок 84.
00:02:41
Account activation: confirm the user's email address
-
Урок 85.
00:01:27
Add account activation fields to the user table in the database
-
Урок 86.
00:01:57
Generate a unique activation token upon signup
-
Урок 87.
00:03:23
Send the account activation email to the user
-
Урок 88.
00:02:06
Restrict login if account not activated
-
Урок 89.
00:05:10
Process the account activation link and activate the account
-
Урок 90.
00:02:56
User profile: let the user update their own details
-
Урок 91.
00:02:18
Get the current logged-in user and display their profile data
-
Урок 92.
00:03:05
Create and display the edit profile form
-
Урок 93.
00:04:04
Validate the email address is unique, allowing for the existing user record
-
Урок 94.
00:03:05
Make changing the password optional, but still validate it if supplied
-
Урок 95.
00:05:10
Validate and save the profile data on the server
-
Урок 96.
00:04:32
Clean up duplicated code in the profile controller
-
Урок 97.
00:02:34
Add site navigation with a link to the profile page
-
Урок 98.
00:01:55
Use a CSS UI framework to add styling and layout
-
Урок 99.
00:01:45
Include the Bootstrap framework
-
Урок 100.
00:01:29
Add a container element and style the general layout
-
Урок 101.
00:03:04
Add styles to forms and input controls
-
Урок 102.
00:01:41
Add styles to buttons
-
Урок 103.
00:01:40
Turn the navigation links into a navbar component
-
Урок 104.
00:01:03
Replace the flash message styles
-
Урок 105.
00:00:49
Add styles when showing the user's profile data
-
Урок 106.
00:01:23
Conclusion