Advertisement
Guest User

Untitled

a guest
May 14th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.02 KB | None | 0 0
  1. var http = require("http");
  2. var express = require('express');
  3. var app = express();
  4. var bodyParser = require('body-parser');
  5. // Create application/x-www-form-urlencoded parser
  6. var multer = require('multer'); // v1.0.5
  7. var upload = multer(); // for parsing multipart/form-data
  8. var urlencodedParser = bodyParser.urlencoded({ extended: true });
  9. var session = require('express-session');
  10. app.use(session({secret: 'SecurityKeyIDontKnowWhatIsHappening',resave: true,saveUninitialized : false}));
  11. app.use(bodyParser.json()); // for parsing application/json
  12. var fs = require("fs");
  13. var re1 = /^(([^<>()\[\]\\.,;:\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,}))$/;
  14. var re2 = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])\w{6,}$/;
  15.  
  16. app.use(express.static('serverdata'));
  17.  
  18. ////home page
  19. app.get('/', function (req, res) {
  20. ////user has open website
  21. console.log("user has open web site");
  22. /// user's ip
  23. console.log("this session is for :"+req.headers['x-forwarded-for']);
  24. /// user know see home page
  25. res.sendFile( __dirname + "/" + "home.html" );
  26. });
  27.  
  28. ////sign up request
  29. app.post('/signup', urlencodedParser, function (req, res) {
  30. ////intiating user data
  31. obj = {
  32. email:req.body.emailinfo2,
  33. pass:req.body.pasinfo2,
  34. tables:{tall:[],tcomp:[],tarchi:[],tprog:[]}
  35. };
  36. /////user try to log in
  37. console.log("newuser : " + obj.email + "is trying to sign up");
  38. /////vars
  39. var flag = true ;
  40. var email = obj.email ;
  41. var password = obj.pass ;
  42. var flagemail = re1.test(email) ;
  43. var flagpass = re2.test(password);
  44. var curUsers = fs.readFileSync(__dirname + "/" +"serverdata" + "/" + "package.json", 'utf8');
  45. //////checking user's email and password
  46. curUsers = JSON.parse(curUsers);
  47. obj = JSON.parse(JSON.stringify(obj));
  48. for(var i=0 ; i<curUsers.length ; i++){
  49. if(curUsers[i].email==obj.email && curUsers[i].pass==obj.pass){
  50. flag=false;
  51. }
  52. }
  53. if(flagemail && flagpass && flag){
  54. //setting user jason file data
  55. curUsers.push(obj);
  56. fs.writeFileSync(__dirname + "/" +"serverdata" + "/" + "package.json", JSON.stringify(curUsers) , 'utf8');
  57. ///setting session
  58. req.session.email = obj.email ;
  59. req.session.pass = obj.pass ;
  60. /// user now see div page
  61. res.sendFile( __dirname + "/" + "DIV.html" );
  62. }
  63. else{
  64. flag=true;
  65. /// user know see home page
  66. res.sendFile(__dirname + "/" + "home.html");
  67. }
  68. });
  69.  
  70. ////// log in request
  71. app.post('/login', urlencodedParser, function (req, res) {
  72. /// catching user's data
  73. obj = {
  74. email:req.body.emailinfo1,
  75. pass:req.body.pasinfo1,
  76. };
  77. /// user try to log in
  78. console.log("user : "+ obj.email +"tries to log in ");
  79. ///vars
  80. var flag = false ;
  81. var email = obj.email ;
  82. var password = obj.pass ;
  83. var flagemail = re1.test(email) ;
  84. var flagpass = re2.test(password);
  85. var curUsers = fs.readFileSync(__dirname + "/" +"serverdata" + "/" + "package.json", 'utf8');
  86.  
  87. /// getting data
  88. curUsers = JSON.parse(curUsers);
  89. obj = JSON.parse(JSON.stringify(obj));
  90. for(var i=0 ; i<curUsers.length ; i++){
  91. //console.log(curUsers[i].email+"--->"+obj.email+" "+curUsers[i].pass+"--->"+obj.pass+'\n');
  92. if(curUsers[i].email==obj.email && curUsers[i].pass==obj.pass){
  93. flag=true;
  94. i=curUsers.length;
  95. }
  96. }
  97. if(flagemail && flagpass && flag){
  98. //// user now is physically logged in
  99. req.session.email = obj.email ;
  100. req.session.pass = obj.pass ;
  101. res.sendFile(__dirname + "/" + "DIV.html");
  102. }
  103. else{
  104. res.sendFile(__dirname + "/" + "home.html");
  105. flag=false;
  106. }
  107. });
  108.  
  109. /// user has left
  110. app.post('/signout' , urlencodedParser , function (req,res) {
  111. /// finishing session and redirecting user
  112. console.log("user : " + req.session.email + " is signing out and his session is destroyed ");
  113. req.session.destroy();
  114. res.sendFile(__dirname + "/" + "home.html");
  115. });
  116.  
  117. ///
  118. app.post('/save',urlencodedParser , function (req, res) {
  119. ////// data sent is object of the four tables
  120. console.log("########################################################################33");
  121. console.log(JSON.stringify(req.body));
  122. ////////////////////////////////////////////////
  123. var objector = { tall:[],
  124. tcomp:[],
  125. tarchi:[],
  126. tprog:[]};
  127. if (req.body.tall != null)
  128. objector.tall = req.body.tall;
  129. if (req.body.tcomp != null)
  130. objector.tcomp = req.body.tcomp;
  131. if (req.body.tarchi != null)
  132. objector.tarchi = req.body.tarchi;
  133. if (req.body.tprog != null)
  134. objector.tprog = req.body.tprog;
  135. console.log("########################################################################33");
  136. console.log(JSON.stringify(objector));
  137.  
  138. ////////////////////////////////
  139. data = {
  140. tables:objector
  141. };
  142. //user try to save his data
  143. console.log("user : " + req.session.email + "try to save his data");
  144. //fetching user tables to modifiy it
  145. var curUsers = fs.readFileSync(__dirname + "/" +"serverdata" + "/" + "package.json", 'utf8');
  146. curUsers = JSON.parse(curUsers);
  147. obj = JSON.parse(JSON.stringify(obj));
  148. for(var i=0 ; i<curUsers.length ; i++){
  149. if(curUsers[i].email==req.session.email && curUsers[i].pass==req.session.pass){
  150. //modifing user's data
  151. curUsers[i].tables = JSON.parse(JSON.stringify(data.tables));
  152. i=curUsers.length;
  153. }
  154. }
  155. fs.writeFileSync(__dirname + "/" +"serverdata" + "/" + "package.json", JSON.stringify(curUsers) , 'utf8');
  156. console.log("user : " + req.session.email + "modified his table data")
  157. res.end();
  158. });
  159.  
  160. ///// java script acquire data
  161. app.get('/acquiredata', function(req, res) {
  162. console.log("java script acquire data for user :" + req.session.email);
  163. /// fetching data of user from json
  164. var neededdata ;
  165. var curUsers = fs.readFileSync(__dirname + "/" +"serverdata" + "/" + "package.json", 'utf8');
  166. curUsers = JSON.parse(curUsers);
  167. obj = JSON.parse(JSON.stringify(obj));
  168. for(var i=0 ; i<curUsers.length ; i++){
  169. if(curUsers[i].email==req.session.email && curUsers[i].pass==req.session.pass){
  170. //getting user email&pass&tables
  171. neededdata = curUsers[i] ;
  172. i=curUsers.length;
  173. }
  174. }
  175. console.log("acquired data is : " + JSON.stringify(neededdata));
  176. /////sending data to java script
  177. console.log( "node.js is sending data to javascript for user : " + req.session.email);
  178. res.send(neededdata);
  179. });
  180.  
  181.  
  182. // Console will print the message
  183. console.log('Server running at http://127.0.0.1:8081/');
  184.  
  185. var server = app.listen(8081, function () {
  186. var host = server.address().address
  187. var port = server.address().port
  188. console.log("Example app listening at http://%s:%s", host, port) })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement