Advertisement
Guest User

Untitled

a guest
Jan 2nd, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.26 KB | None | 0 0
  1. var http = require('http');
  2. var url = require('url');
  3. var fs = require("fs");
  4. var crypto = require('crypto');
  5.  
  6. var headers = {
  7. plain: {
  8. 'Content-Type': 'application/javascript',
  9. 'Cache-Control': 'no-cache',
  10. 'Access-Control-Allow-Origin': '*'
  11. },
  12. sse: {
  13. 'Content-Type': 'text/event-stream',
  14. 'Cache-Control': 'no-cache',
  15. 'Access-Control-Allow-Origin': '*',
  16. 'Connection': 'keep-alive'
  17. }
  18. };
  19.  
  20.  
  21. var server = http.createServer(function (request, response){
  22. var preq = url.parse(request.url,true);
  23. console.log("entra");
  24. var pathname = preq.pathname;
  25. console.log(pathname);
  26. var answer = {};
  27. switch(request.method){
  28. case "POST":
  29. doPost(pathname,request,response);
  30. default:
  31. }
  32. //response.writeHead(200, headers["plain"]);
  33. });
  34.  
  35. server.listen(8080);
  36.  
  37. function doPost(pathname, req, res){
  38. var body = "";
  39. var resposta;
  40. console.log("do post " + pathname);
  41. response.setHeader('Access-Control-Allow-Origin','*');
  42. switch(pathname) {
  43. case "/register":
  44. request
  45. .on("data",function(data) {body +=data})
  46. .on("end",function(){
  47. try{
  48. var data = "";
  49.  
  50. console.log("createServer");
  51. var file = fs.readFile('dados.json', function(err, data) {
  52.  
  53. if (!err) {
  54. console.log("entrou no if");
  55. //var dados = JSON.parse(data.toString());
  56. var user = req.body.nick;
  57. var pass = req.body.pass;
  58. var flag = 1;
  59. var object = JSON.parse(data.toString('utf8'));
  60.  
  61. for(var i=0;i<object.length;i++){
  62. var object_teste = JSON.stringify(object);
  63. console.log("for2 user " + object_teste);
  64. //console.log("for2 pass " + object_teste.body.pass[i]);
  65. if(object[i].nick === user){
  66. console.log("This user already exits");
  67. var password = crypto.createHash('md5').update(object[i].salt + pass).digest('hex');
  68.  
  69. console.log("password " + password);
  70. console.log("pass " + pass);
  71.  
  72. if(password === object[i].pass){
  73. flag=2; //200
  74. console.log("falg " + flag);
  75.  
  76. break;
  77. }
  78. else {
  79. flag=3; //401
  80. console.log("falg " + flag);
  81.  
  82. break;
  83. }
  84.  
  85. }
  86. else{
  87. flag=1;
  88.  
  89. }
  90. }
  91. console.log("falg final " + flag);
  92.  
  93. if(flag==1){
  94. var salt = salts.string({length: 4} );
  95. var password = crypto.createHash('md5').update(salt + pass).digest('hex');
  96. //console.log(" data " + object[0]);
  97. var savefile = {};
  98. savefile.nick=user;
  99. savefile.pass=password;
  100. savefile.salt=salt;
  101. //console.log(" body " + JSON.stringify(req.body));
  102. console.log("pass " + pass);
  103. console.log("pass cri " + password);
  104. object.push(savefile);
  105. //console.log("aqui " + object);
  106.  
  107. fs.writeFile('dados.json', JSON.stringify(object), function(err) {
  108. if (err)
  109. return console.log(err);
  110.  
  111. });
  112. }
  113. else if(flag==2){
  114. res.writeHead(200, {'Content-Type' : 'text/plain'});
  115. res.write("{}");
  116. console.log("flag2" + flag);
  117.  
  118. }
  119. else{
  120. res.writeHead(401, {'Content-Type' : 'text/hml'});
  121. res.write(JSON.stringify({error: "User registered with a different password"}));
  122. console.log("flag3" + flag);
  123.  
  124. }
  125. //res.end();
  126.  
  127. }})}
  128.  
  129. catch(err) { /* erros de JSON */ }
  130.  
  131.  
  132. })
  133. .on("error", function(err) { console.log(err.message); })
  134. break;
  135.  
  136. return;
  137.  
  138. }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement