Advertisement
Guest User

Untitled

a guest
Nov 9th, 2018
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. var app = require('express')();
  2. var http = require('http').Server(app);
  3. var io = require('socket.io').listen(http);
  4. var port = process.env.PORT || 3000;
  5. var parseurl = require('parseurl')
  6. var session = require('express-session');
  7. var Sequelize = require('sequelize');
  8. const sha256 = require('sha256');
  9. var sharedsession = require("express-socket.io-session");
  10.  
  11. const DBConnection = new Sequelize('pokemongo', 'pokemonGo', 'u3Iys72~', {
  12. host: 'localhost',
  13. dialect: 'mysql'
  14. });
  15.  
  16. DBConnection.authenticate()
  17. .then(() => {
  18. console.log('Connection has been established successfully.');
  19. })
  20. .catch(err => {
  21. console.error('Unable to connect to the database:', err);
  22. });
  23.  
  24. var mySession = session({
  25. secret: 'R1giMG39c8tF',
  26. resave: false,
  27. saveUninitialized: true
  28. });
  29.  
  30. app.use(mySession)
  31.  
  32. app.get('/', function(req, res){
  33. if(!req.session.userID) {
  34. res.sendFile(__dirname + '/login.html');
  35. } else {
  36. res.sendFile(__dirname + '/index.html');
  37. }
  38. });
  39.  
  40. app.get('/foo', function (req, res, next) {
  41. res.send('you viewed this page wtf times')
  42. })
  43.  
  44.  
  45.  
  46. app.get('/wat', function(req, res){
  47. res.send(port.toString())
  48. });
  49.  
  50. io.use(sharedsession(mySession, {
  51. autoSave:true
  52. }));
  53.  
  54. io.on('connection', function(socket){
  55. socket.on('Login',function(msg) {
  56. DBConnection.query("SELECT * FROM `user` WHERE username = $username LIMIT 1", { bind: { username: msg.username },type: DBConnection.QueryTypes.SELECT})
  57. .then(users => {
  58. if(users.length == 1) {
  59. if(users[0].password == sha256(msg.password).toUpperCase()) {
  60. socket.handshake.session.userID = users[0].id;
  61. socket.handshake.session.save();
  62. io.emit('LoginStatus', 'Login Sucess');
  63. } else {
  64. io.emit('LoginStatus', 'Login Failed');
  65. }
  66. }
  67. })
  68. return false;
  69. });
  70.  
  71. socket.on('Logout',function(msg) {
  72. delete socket.handshake.session.userID;
  73. socket.handshake.session.save();
  74. });
  75. });
  76.  
  77. http.listen(port, function(){
  78. console.log('listening on *:' + port);
  79. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement