Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var http = require('http');
- var fs = require('fs');
- var url = require('url');
- var express = require('express');
- var app = express();
- var session = require('express-session');
- app.use(session({secret: 'SecurityKeyIDontKnowWhatIsHappening',resave: true,saveUninitialized : false}));
- app.use(express.static('statics'));
- var bodyParser = require('body-parser')
- app.use(bodyParser.json() ); // to support JSON-encoded bodies
- app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
- extended: true
- }));
- function validateEmail(email) {
- var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
- return re.test(email);
- };
- function validatePass(pass){
- if(pass.length < 5)
- return false;
- for(counter = 0; counter < pass.length; counter++){
- if(pass[counter] == ' ')
- return false;
- }
- return true;
- };
- function validateName(name){
- if(name.length == 0)
- return false;
- for(counter = 0; counter < name.length; counter++){
- if((name[counter] == ' ' && counter == 0) || (name[counter] >= '0' && name[counter] <= '9'))
- return false;
- }
- return true;
- };
- function validatePassword(mail , password){
- for (var i = 0; i < users.length; i++) {
- if (users[i].email == mail) {
- if (users[i].password == password){
- return true;
- }
- }
- }
- return false;
- };
- function validateLogin(mail){
- for (var i = 0; i < users.length; i++) {
- if (users[i].email == mail) {
- return true ;
- }
- }
- return false;
- };
- function warn(temp){
- temp = "<p style = \"color:red; font-size: 25px\">" + temp + "</p>";
- var x = "<!DOCTYPE html>"+"<html>"+"<head>"+"<link rel=\"stylesheet\" href=\"css/bootstrap.min.css\">"+"<link rel=\"stylesheet\" type=\"text/css\" href=\"theme.css\">"+"</head>"+"<body>"+"<form action=\"login\" method = \"POST\" style = \"margin-left:35%; margin-top:15%\">"+"Mail:<br>"+"<input type=\"text\" name=\"mailLog\" ><br>"+"Password:<br>"+"<input type=\"password\" name=\"passwordLog\" ><br><br>"+"<input type=\"submit\" value=\"Log In\" />"+"</form>"+ temp +"</body>" +"</html>";
- return x;
- };
- function make(temp){
- temp = "<p style = \"color:red; font-size: 25px\">" + temp + "</p>";
- var x = "<!DOCTYPE html>"+"<html>"+"<head>"+"<link rel=\"stylesheet\" href=\"css/bootstrap.min.css\">"+"<link rel=\"stylesheet\" type=\"text/css\" href=\"theme.css\">"+"</head>"+"<body>"+"<form action=\"register\" method = \"POST\" style = \"margin-left:35%; margin-top:15%\">"+"Name:<br>"+"<input type=\"text\" name=\"nameReg\"><br>"+"Mail:<br>"+"<input type=\"text\" name=\"mailReg\" ><br>"+"Password:<br>"+"<input type=\"password\" name=\"passwordReg\" ><br><br>"+"<input type=\"submit\" value=\"Sign Up\" />"+"</form>"+ temp +"</body>" +"</html>";
- return x;
- };
- var file_content = fs.readFileSync(__dirname +'/userDB.json');
- var users = JSON.parse(file_content);
- app.get('/home', function(req,res){
- if(!req.session.email)
- res.redirect("/register");
- else
- res.sendFile(__dirname + "/" + "home.html");
- });
- app.get('/login', function(req,res){
- if (req.session.email) {
- res.redirect("/home");
- }
- res.sendFile(__dirname + "/" + "log.html");
- });
- app.post('/login', function(req,res){
- if (req.session.email) {
- res.redirect("/home");
- }
- var getmail = req.body.mailLog;
- var getpass = req.body.passwordLog;
- if(validateLogin(getmail) && validatePassword(getmail, getpass)){
- req.session.email = getmail ;
- res.redirect("/home");
- }else{
- res.writeHead(200, {"Content-Type": "text/html"});
- if(!validateLogin(getmail)){
- res.write(warn("Wrong email, Please recheck."));
- }else if(!validatePassword(getmail , getpass)){
- res.write(warn("Wronge password , please recheck."));
- }
- res.end();
- }
- });
- app.get('/register', function(req,res){
- if (req.session.email) {
- res.redirect("/home");
- }
- res.sendFile( __dirname + "/" + "Reg.html" );
- });
- app.post('/register', function (req, res) {
- if (req.session.email) {
- res.redirect("/home");
- }
- var sentEmail = req.body.mailReg;
- var sentName = req.body.nameReg;
- var sentPassword = req.body.passwordReg;
- found = false;
- console.log(sentEmail + " " + sentName + " " + sentPassword);
- if(validateEmail(sentEmail) && validateName(sentName) && validatePass(sentPassword)){
- var newuser = {
- "email" : sentEmail ,
- "name" : sentName ,
- "password" : sentPassword
- }
- console.log(users.length + "ERERE");
- for(var counter = 0; counter < users.length; counter++){
- console.log(counter + " " + users[counter].email + " " + sentEmail);
- if(users[counter] != null && sentEmail == users[counter].email)
- {
- found = true;
- }
- }
- if(!found){
- users.push(newuser);
- fs.writeFileSync(__dirname +'/userDB.json', JSON.stringify(users, null, 3));
- res.redirect('/login');
- }else{
- res.writeHead(200, {"Content-Type": "text/html"});
- res.write(make("Your email is already taken."));
- res.end();
- }
- }
- else{
- res.writeHead(200, {"Content-Type": "text/html"});
- if(!validateEmail(sentEmail)){
- res.write(make("Wrong email format, Please recheck."));
- }else if(!validatePass(sentPassword)){
- res.write(make("Wronge password format, please recheck."));
- }else if(!validateName(sentName)){
- res.write(make("Wrong name format, please recheck."));
- }res.end();
- }
- });
- var server = app.listen(8081, function () {
- var host = server.address().address;
- var port = server.address().port
- console.log("Example app listening at http://%s:%s", host, port)
- });
Add Comment
Please, Sign In to add comment