{"id":7269,"date":"2022-09-07T20:46:06","date_gmt":"2022-09-07T15:16:06","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/"},"modified":"2022-09-07T20:46:06","modified_gmt":"2022-09-07T15:16:06","slug":"solved-password-protection-while-keeping-track-of-who-is-who-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/","title":{"rendered":"[Solved] Password protection, while keeping track of who is who [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-9240508\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"9240508\" data-parentid=\"9240423\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Follow these scripts that you find online.<\/p>\n<p>All it boils down to is:<\/p>\n<ul>\n<li>Signup page to gather user details, upon save check each field is valid (ie. use regular expressions to check email address is valid), also check all required fields are completed<\/li>\n<li>If the above all checks out, then save to database AFTER you have sanitized the data (we don&#8217;t want any SQL injections now!)<\/li>\n<li>I&#8217;d recommend at least saving the password as a hash, so use something like <code>md5()<\/code> and i&#8217;d use a salt key too (so something like MD5($password.$salt)) &#8211; the SALT can be a timestamp of when the user signed up, a random string of letters\/numbers (which I&#8217;d recommend) &#8211; and save this as well in the database.<\/li>\n<li>When the user signs in, sanitize the data, check username exists and grab the salt key of that matching entry, then MD5 the incoming password with the SALT key and see if the strings match<\/li>\n<li>Save some kind of flag to $_SESSION, eg. <code>$_SESSION['loggedin'] = true;<\/code> then at the top of each protected page you can do some like in the example below<\/li>\n<li>You could also then save a timestamp (<code>time()<\/code>) or  datetime (<code>date(\"Y-m-d H:i:s\")<\/code>) to the database under a column labelled last_logged_in<\/li>\n<\/ul>\n<p>I know this isn&#8217;t a load of code but it forms a basic guide to get you started<\/p>\n<p><strong>Example For Above<\/strong><\/p>\n<pre><code>if($_SESSION['loggedin'] !== true){\n    header(\"Location: login.php\");\n    exit;\n} else {\n    \/\/ rest of protected page\n}\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">2<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Password protection, while keeping track of who is who [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Follow these scripts that you find online. All it boils down to is: Signup page to gather user details, upon save check each field is valid (ie. use regular expressions to check email address is valid), also check all required fields are completed If the above all checks out, then save to database AFTER &#8230; <a title=\"[Solved] Password protection, while keeping track of who is who [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/\" aria-label=\"More on [Solved] Password protection, while keeping track of who is who [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[339,342],"class_list":["post-7269","post","type-post","status-publish","format-standard","hentry","category-solved","tag-php","tag-security"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Password protection, while keeping track of who is who [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Password protection, while keeping track of who is who [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Follow these scripts that you find online. All it boils down to is: Signup page to gather user details, upon save check each field is valid (ie. use regular expressions to check email address is valid), also check all required fields are completed If the above all checks out, then save to database AFTER ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-07T15:16:06+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Password protection, while keeping track of who is who [closed]\",\"datePublished\":\"2022-09-07T15:16:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/\"},\"wordCount\":253,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"php\",\"security\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/\",\"name\":\"[Solved] Password protection, while keeping track of who is who [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-07T15:16:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Password protection, while keeping track of who is who [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Password protection, while keeping track of who is who [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Password protection, while keeping track of who is who [closed] - JassWeb","og_description":"[ad_1] Follow these scripts that you find online. All it boils down to is: Signup page to gather user details, upon save check each field is valid (ie. use regular expressions to check email address is valid), also check all required fields are completed If the above all checks out, then save to database AFTER ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/","og_site_name":"JassWeb","article_published_time":"2022-09-07T15:16:06+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Password protection, while keeping track of who is who [closed]","datePublished":"2022-09-07T15:16:06+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/"},"wordCount":253,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["php","security"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/","name":"[Solved] Password protection, while keeping track of who is who [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-07T15:16:06+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-password-protection-while-keeping-track-of-who-is-who-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Password protection, while keeping track of who is who [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/7269","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=7269"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/7269\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=7269"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=7269"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=7269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}