Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var client = require("socket.io").listen(8001).sockets;
- var mysql = require("mysql");
- var colors = require("colors");
- var crypto = require("crypto");
- var sanitizer = require("sanitizer");
- var fs = require("fs");
- var config = {
- host: "localhost",
- user: "root",
- password: "",
- database: "melonpw"
- };
- var auth;
- var num = 0;
- var con;
- function log(text, color) {
- var d = new Date();
- var h = d.getHours();
- var m = d.getMinutes();
- var ap = "AM";
- if (h > 12) {
- h -= 12;
- var ap = "PM";
- }
- if (m < 10) {
- m = "0" + m;
- }
- time = h + ":" + m + " " + ap;
- if (typeof(color) == "undefined") {
- display = colors.grey(time) + ": " + text;
- console.log(display);
- } else {
- console.log(colors.grey(time) + ": " + colors[color](text));
- }
- }
- function handleConnection() {
- con = mysql.createConnection(config);
- con.connect(function(err) {
- if (err) {
- log("An error has occurred while connection: " + err, "red");
- setTimeout(handleConnection, 2000);
- } else {
- log("Connection successful.", "green");
- }
- });
- con.on("error", function(err) {
- console.log("Error: " + err);
- if (err.code === "PROTOCOL_CONNECTION_LOST") {
- handleConnection();
- } else {
- throw err;
- }
- });
- }
- function getCurrentTime() {
- var date = new Date();
- var hours = date.getHours();
- var minutes = date.getMinutes();
- var period = "AM";
- if (minutes < 10) {
- minutes = "0" + minutes;
- }
- if (hours > 12) {
- hours -= 12;
- period = "PM";
- }
- return hours + ":" + minutes + " " + period;
- }
- function genID(length) {
- var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVYXYZ-_';
- var result = '';
- for (var i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];
- return result;
- }
- handleConnection();
- client.on("connection", function(socket) {
- socket.on("attempt-login", function(data) {
- var cleanedUsername = sanitizer.sanitize(data.username);
- var secret = data.password;
- var hashedPassword = crypto.createHmac('sha256', secret).update('WatermellonLOL').digest('hex');
- var post = {username: cleanedUsername, password: hashedPassword};
- var check = con.query('SELECT * FROM users WHERE username LIKE ?', cleanedUsername,
- function(err, res) {
- if (res.length == 1) {
- if (hashedPassword == res[0].password) {
- var code = genID(24);
- /*auth[cleanedUsername] = {
- code: code
- };*/
- var data = {info: "success"/*, code: code*/};
- socket.emit('login-result', data);
- } else {
- var data = {info: "password"};
- socket.emit('login-result', data);
- }
- } else {
- var data = {info: "username"};
- socket.emit('login-result', data);
- }
- });
- });
- socket.on("attempt-register", function(data) {
- var cleanedUsername = sanitizer.sanitize(data.username);
- var secret = data.password;
- var hashedPassword = crypto.createHmac('sha256', secret).update('WatermellonLOL').digest('hex');
- var post = {username: cleanedUsername, password: hashedPassword};
- var check = con.query('SELECT * FROM users WHERE username LIKE ?', cleanedUsername,
- function(err, res) {
- if (res.length == 0) {
- var query = con.query('INSERT INTO users SET ?', post,
- function(err, res) {
- log("New user has registered - " + data.username + ".", "green");
- });
- } else {
- var data = {info: "username"};
- socket.emit('register-result', data);
- }
- });
- con.escape();
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement