(Click on the images to view clearly)
Source code of the implemented program can be downloaded from here.
A
login page, index.html has been implemented to enroll users.
Once
the user entered the credentials, the form data will be submitted to
login_handler.php using POST method.
If
the username and password are correct, the user session is started and the
username will be assigned to the session variable 'uname'. By default,
the session identifier is saved as a cookie in the browser when session_start()
is activated.
Then the 32-byte length random binary is created and it is converted to a hex
value. The random value (CSRF token) is assigned to the variable ‘token’.
Further, the token is set as a cookie in the browser by passing the parameter
like, token name, token value, and life span (1 day). Then the user will be
redirected to home.html. The failed logins are redirected to index.php.
In home.html, using getCookie
function, particular CSRF token value will be extracted from the cookie and the
derived value is assigned to the DOM element which has id as dom_csrf.
When
the user submits the home.html form, the form data will be sent to
form_submit.php.
The form_submit.php checks whether the token
value in cookies is available or not. At the same time, token value in the form
DOM element is compared with token value in the cookie. If both the values are
same, the program displays a success message. If not CSRF token not matched
message will be shown when the token is mismatched or the token not
exist.
Comments
Post a Comment