Advertisement
Guest User

Untitled

a guest
Jul 18th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.18 KB | None | 0 0
  1. 'use strict';
  2.  
  3. let r=require("promise-redis")().createClient(), crypto=require("crypto"), mysql=require("mysql").createConnection({
  4. host: "localhost",
  5. user: "root",
  6. password: "1"
  7. });
  8.  
  9.  
  10.  
  11. module.exports = class Ree {
  12.  
  13. gc(){
  14.  
  15. let cookie=req.cookie.sess;
  16. cookie=cookie.split(":");
  17. return cookie;
  18. }
  19.  
  20.  
  21.  
  22. enter (){
  23. if(/^[A-z0-9\.\_\-]$/.test(req.body.enter.login)){
  24.  
  25. if(/^[A-z0-9\.\_\-]{6,64}$/.test(req.body.enter.password)){
  26.  
  27. req.body.enter.login=crypto.createHash("sha512").update(req.body.enter.login).digest("hex");
  28.  
  29. req.body.enter.password=crypto.createHash("sha512").update(req.body.enter.password).digest("hex");
  30.  
  31. r.get(req.body.enter.login+":"+req.body.enter.password).then(function(rezult){
  32.  
  33. if(rezult) {
  34.  
  35. rezult=rezult.split(":");
  36.  
  37. let number=Math.random();
  38. let key=crypto.createHash("sha512").update(number).digest("hex");
  39.  
  40.  
  41.  
  42. number=Math.random();
  43. let session=crypto.createHash("sha512").update(number).digest("hex");
  44.  
  45.  
  46. 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){
  47. if(rezult11){
  48.  
  49. res.cookie("sess", key+":"+sess, { expires: new Date(Date.now()+3000000)});
  50. res.redirect("/profil");
  51. }
  52.  
  53. //Ошибка входа
  54.  
  55. else res.redirect("/err1");
  56. });
  57. }
  58.  
  59. //Ошибка получения данных
  60.  
  61. else res.redirect("/err2");
  62. });
  63. }
  64.  
  65. //Пароль не соответствует формату
  66.  
  67. else res.redirect("/err3");
  68. }
  69.  
  70. //Ошибка! Логин не соответствует формату
  71.  
  72. else res.redirect("/err4");
  73. }
  74.  
  75.  
  76.  
  77.  
  78.  
  79. exit(data){
  80. r.hdel(data[0]+":"+data[1]).then(function(rezult1){
  81.  
  82. if(rezult1){
  83. res.cleareCookie.sess;
  84. res.redirect("/");
  85. }
  86.  
  87. else res.redirect("/");
  88. });
  89. }
  90.  
  91.  
  92.  
  93. reg(req, res){
  94.  
  95. if(/^[A-z0-9]+$/.test(req.body.reg.regcode)){
  96.  
  97. r.hget("regcode", req.body.reg.regcode).then(function(rezult3){
  98. if(rezult3=="true"){
  99.  
  100. if(/^[A-z0-9\.\_\-]+$/.test(req.body.reg.login)){
  101.  
  102. if(/^[A-z0-9\.\-\_]{6,64}$/.test(req.body.reg.password)){
  103. if(req.body.reg.password==req.body.reg.password2){
  104.  
  105.  
  106. if(/^[A-z0-9\.\_\-]+@([a-z\-\.]+\.)+[a-z]{2,10}$/.test(req.body.reg.mail)){
  107.  
  108. if(/^[A-zА-я\-\_]+$/.test(req.reg.body.name)){
  109.  
  110. if(/^[A-zА-я\-\_]+$/.test(req.body.reg.lastname)){
  111.  
  112. if(/^[A-zА-я0-9\.\_\-]{4,64}$/.test(req.body.reg.unicode)){
  113.  
  114. if(req.body.reg.sog=="on"){
  115.  
  116. req.body.reg.login=crypto.createHash("sha512").update(req.body.reg.login).digest("hex");
  117.  
  118. mysql.query("select id from `users` where login=('"+req.body.reg.login+"')", function(err, rezult4){
  119.  
  120. if(!empty(rezult4[0].id)){
  121.  
  122. mysql.query("select mail from `users` where mail=('"+req.body.reg.mail+"')", function(err, rezult5){
  123.  
  124. if(rezult5[0].mail!==req.body.reg.mail){
  125.  
  126.  
  127. req.body.reg.password=crypto.createHash("sha512").update(req.body.reg.password).digest("hex");
  128. req.body.reg.unicode=crypto.createHash("sha512").update(req.body.reg.unicode).digest("hex");
  129. let rdate=new Date();
  130.  
  131. 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){
  132.  
  133. if(rezult6){
  134.  
  135. 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){
  136.  
  137. if(!empty(rezult7[0].id)){
  138.  
  139.  
  140. 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){
  141. if(rezult8) res.redirect("/ok");
  142.  
  143. //Ошибка добовления в редис
  144.  
  145. else res.redirect("/registererr1");
  146. });
  147. }
  148. //Ошибка получения зарегистрированных данных
  149.  
  150. else res.redirect("/registererr2");
  151. });
  152. }
  153.  
  154. //Ошибка добавления регистрационных данных
  155.  
  156. else res.redirect("/registererr3");
  157. });
  158. }
  159.  
  160.  
  161. //Ошибка! Такой маил зарегистрирован
  162. else res.redirect("/registererr4");
  163. });
  164. }
  165.  
  166.  
  167. //Ошибка! Такой логин уже зарегистрирован
  168. else res.redirect("/registererr5");
  169. });
  170. }
  171.  
  172. //Ошибка! Не отмечено соглашение
  173.  
  174. else res.redirect("/registererr6");
  175. }
  176.  
  177. //Ошибка! Не введён уникальный код
  178.  
  179. else res.redirect("/registererr7");
  180. }
  181.  
  182. //Ошибка! Не введена фамилия
  183.  
  184. else res.redirect("/registererr8");
  185. }
  186.  
  187. //Ошибка! Не введено имя
  188.  
  189. else res.redirect("/registererr9");
  190. }
  191.  
  192. //Ошибка! не введён маил
  193.  
  194. else res.redirect("/registererr10");
  195. }
  196.  
  197. //Ошибка! Пароли не совпадают
  198.  
  199. else res.redirect("/registererr11");
  200. }
  201.  
  202. //Ошибка! Пароль не верного формата
  203.  
  204. else res.redirect("/registererr12");
  205. }
  206.  
  207. //Ошибка! Логин не верного формата
  208.  
  209. else res.redirect("/registererr13");
  210. }
  211.  
  212. //Ошибка, код регистрации не валиден
  213.  
  214. else res.redirect("/registererr14");
  215. });
  216. }
  217.  
  218. //Ошибка! Код регистрации не верного формата
  219. else res.redirect("/registererr15");
  220. }
  221. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement