Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- let r=require("promise-redis")().createClient(), crypto=require("crypto"), mysql=require("mysql").createConnection({
- host: "localhost",
- user: "root",
- password: "1"
- });
- module.exports = class Ree {
- gc(){
- let cookie=req.cookie.sess;
- cookie=cookie.split(":");
- return cookie;
- }
- enter (){
- if(/^[A-z0-9\.\_\-]$/.test(req.body.enter.login)){
- if(/^[A-z0-9\.\_\-]{6,64}$/.test(req.body.enter.password)){
- req.body.enter.login=crypto.createHash("sha512").update(req.body.enter.login).digest("hex");
- req.body.enter.password=crypto.createHash("sha512").update(req.body.enter.password).digest("hex");
- r.get(req.body.enter.login+":"+req.body.enter.password).then(function(rezult){
- if(rezult) {
- rezult=rezult.split(":");
- let number=Math.random();
- let key=crypto.createHash("sha512").update(number).digest("hex");
- number=Math.random();
- let session=crypto.createHash("sha512").update(number).digest("hex");
- r.hmset(key, "sid", session, "id", rezult[0], "login", res.body.enter.login, "password", req.body.enter.password, "mail", rezult[1], "unicode", rezult[2], "name", rezult[3], "lastname", rezult[4]).then(function(rezult11){
- if(rezult11){
- res.cookie("sess", key+":"+sess, { expires: new Date(Date.now()+3000000)});
- res.redirect("/profil");
- }
- //Ошибка входа
- else res.redirect("/err1");
- });
- }
- //Ошибка получения данных
- else res.redirect("/err2");
- });
- }
- //Пароль не соответствует формату
- else res.redirect("/err3");
- }
- //Ошибка! Логин не соответствует формату
- else res.redirect("/err4");
- }
- exit(data){
- r.hdel(data[0]+":"+data[1]).then(function(rezult1){
- if(rezult1){
- res.cleareCookie.sess;
- res.redirect("/");
- }
- else res.redirect("/");
- });
- }
- reg(req, res){
- if(/^[A-z0-9]+$/.test(req.body.reg.regcode)){
- r.hget("regcode", req.body.reg.regcode).then(function(rezult3){
- if(rezult3=="true"){
- if(/^[A-z0-9\.\_\-]+$/.test(req.body.reg.login)){
- if(/^[A-z0-9\.\-\_]{6,64}$/.test(req.body.reg.password)){
- if(req.body.reg.password==req.body.reg.password2){
- if(/^[A-z0-9\.\_\-]+@([a-z\-\.]+\.)+[a-z]{2,10}$/.test(req.body.reg.mail)){
- if(/^[A-zА-я\-\_]+$/.test(req.reg.body.name)){
- if(/^[A-zА-я\-\_]+$/.test(req.body.reg.lastname)){
- if(/^[A-zА-я0-9\.\_\-]{4,64}$/.test(req.body.reg.unicode)){
- if(req.body.reg.sog=="on"){
- req.body.reg.login=crypto.createHash("sha512").update(req.body.reg.login).digest("hex");
- mysql.query("select id from `users` where login=('"+req.body.reg.login+"')", function(err, rezult4){
- if(!empty(rezult4[0].id)){
- mysql.query("select mail from `users` where mail=('"+req.body.reg.mail+"')", function(err, rezult5){
- if(rezult5[0].mail!==req.body.reg.mail){
- req.body.reg.password=crypto.createHash("sha512").update(req.body.reg.password).digest("hex");
- req.body.reg.unicode=crypto.createHash("sha512").update(req.body.reg.unicode).digest("hex");
- let rdate=new Date();
- mysql.query("insert into `users` (login, password, mail, name, lastname, unicode, sog, regdate) values('"+req.body.reg.login+"','"+req.body.reg.password+"','"+req.body.reg.mail+"','"+req.body.reg.mail+"','"+req.body.reg.name+"','"+req.body.reg.lastname+"','"+req.body.reg.unicode+"','"+req.body.reg.sog+"','"+rdate+"')", function(err, rezult6){
- if(rezult6){
- mysql.query("select id, login, password, mail, name, lastname, unicode from `users` where login=('"+req.body.reg.login+"') and password=('"+req.body.reg.password+"')", function(err, rezult7){
- if(!empty(rezult7[0].id)){
- r.set(rezult7[0].login+":"+rezult7[0].password, rezult7[0].id+":"+rezult7[0].mail+":"+rezult7[0].unicode+":"+rezult7[0].name+":"+rezult7[0].lastname).then(function(rezult8){
- if(rezult8) res.redirect("/ok");
- //Ошибка добовления в редис
- else res.redirect("/registererr1");
- });
- }
- //Ошибка получения зарегистрированных данных
- else res.redirect("/registererr2");
- });
- }
- //Ошибка добавления регистрационных данных
- else res.redirect("/registererr3");
- });
- }
- //Ошибка! Такой маил зарегистрирован
- else res.redirect("/registererr4");
- });
- }
- //Ошибка! Такой логин уже зарегистрирован
- else res.redirect("/registererr5");
- });
- }
- //Ошибка! Не отмечено соглашение
- else res.redirect("/registererr6");
- }
- //Ошибка! Не введён уникальный код
- else res.redirect("/registererr7");
- }
- //Ошибка! Не введена фамилия
- else res.redirect("/registererr8");
- }
- //Ошибка! Не введено имя
- else res.redirect("/registererr9");
- }
- //Ошибка! не введён маил
- else res.redirect("/registererr10");
- }
- //Ошибка! Пароли не совпадают
- else res.redirect("/registererr11");
- }
- //Ошибка! Пароль не верного формата
- else res.redirect("/registererr12");
- }
- //Ошибка! Логин не верного формата
- else res.redirect("/registererr13");
- }
- //Ошибка, код регистрации не валиден
- else res.redirect("/registererr14");
- });
- }
- //Ошибка! Код регистрации не верного формата
- else res.redirect("/registererr15");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement