Advertisement
Guest User

Untitled

a guest
Oct 27th, 2016
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. var express = require('express');
  2. var steam = require('steam-login');
  3. var cookieParser = require('cookie-parser');
  4. var crypto = require('crypto');
  5. var mysql = require('mysql');
  6. var app = express();
  7. var server = require('http').createServer(app).listen(80);
  8. var io = require('socket.io').listen(server);
  9. users = [];
  10. connections = [];
  11. mysteamid = [];
  12.  
  13. //app.get('/', function(req, res){
  14. //res.sendFile(__dirname + '/index.html');
  15. //});
  16.  
  17. // app.get('/login', function(req, res){
  18. //res.sendFile(__dirname + '/login.html');
  19. //});
  20. app.use(cookieParser());
  21. app.use(require('express-session')({ resave: false, saveUninitialized: false, secret: 'a secret' }));
  22. app.use(steam.middleware({
  23. realm: 'http://csultra.com/',
  24. verify: 'http://csultra.com/steam_login_information',
  25. apiKey: '57A23DA429EBD2D0CA8F550CED49C6FA'}
  26. ));
  27.  
  28. app.get('/', function(req, res) {
  29. res.send(req.user == null ? 'not logged in' : 'hello ' + req.user.username).end();
  30. });
  31.  
  32. app.get('/login', steam.authenticate(), function(req, res) {
  33. res.redirect('/');
  34. });
  35.  
  36. app.get('/steam_login_information', steam.verify(), function(req, res) {
  37. res.send(req.user).end();
  38. var steamid = req.user.steamid;
  39. var name = req.user.username;
  40. var small_avatar = req.user.avatar.small;
  41. var medium_avatar = req.user.avatar.medium;
  42. var large_avatar = req.user.avatar.large;
  43. var hash = crypto.createHash('md5').update(Math.random(100000, 1000000) + steamid + Math.random(1, 10000)).digest("hex");
  44.  
  45. var UserInfo = "SELECT * FROM `users` WHERE `steamid` = '"+steamid+"'";
  46. var UpdatingInfo = "UPDATE `users` SET name='"+name+"', small_avatar='"+small_avatar+"', medium_avatar='"+medium_avatar+"', large_avatar='"+large_avatar+"', hash='"+hash+"' WHERE steamid='"+steamid+"'";
  47. var InsertingInfo = "INSERT INTO `users` (steamid, name, small_avatar, medium_avatar, large_avatar, hash) VALUES ('"+steamid+"','"+name+"','"+small_avatar+"', '"+medium_avatar+"', '"+large_avatar+"', '"+hash+"')";
  48. var db = mysql.createConnection({
  49. host: 'localhost',
  50. user: 'root',
  51. password: '!333dtrg0fgd2!RD',
  52. database: 'fqaffw52owqdas42'
  53. });
  54.  
  55. db.connect();
  56. db.query(UserInfo, function(err, rows) {
  57. if (!err) {
  58. if (rows.length === 0){
  59. db.query(InsertingInfo, function(err, rows) {
  60. if (!err){
  61. console.log('user inserted');
  62. //res.cookie('hash', hash, {maxAge: 604800});
  63. db.end();
  64. } else{
  65. console.log(err);
  66. db.end();
  67. }
  68. });
  69. } else {
  70. db.query(UpdatingInfo, function(err, rows) {
  71. if (!err) {
  72. console.log('user updated');
  73. //res.cookie('hash', hash, {maxAge: 604800});
  74. db.end();
  75. } else {
  76. console.log(err);
  77. db.end();
  78. }
  79. });
  80. }
  81. } else {
  82. console.log(err);
  83. db.end();
  84. }
  85. });
  86.  
  87. });
  88.  
  89. app.get('/logout', steam.enforceLogin('/'), function(req, res) {
  90. req.logout();
  91. res.redirect('/');
  92. });
  93.  
  94. io.sockets.on('connection', function(socket){
  95. // STUFF RAN ON CONNECTION
  96.  
  97. connections.push(socket);
  98. console.log('Connection: %s current users', connections.length);
  99.  
  100. // EVENTS
  101.  
  102. socket.on('disconnect', function(data){
  103. connections.splice(connections.indexOf(socket), 1);
  104. console.log('Disconnection: %s current users', connections.length);
  105. });
  106.  
  107. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement