diff --git a/Gemfile b/Gemfile index c58a71b..aafa81e 100644 --- a/Gemfile +++ b/Gemfile @@ -1,17 +1,10 @@ source "https://rubygems.org" -gem "sinatra" - -gem "xxhash" - -gem "sequel" - -gem "json" - gem "base64" - -gem "zlib" - -gem "uri" - +gem "json" gem "net-http" +gem "sequel" +gem "sinatra" +gem "uri" +gem "xxhash" +gem "zlib" diff --git a/mailer.rb b/mailer.rb index 3632423..b8a30c4 100644 --- a/mailer.rb +++ b/mailer.rb @@ -1,7 +1,7 @@ # Mailer module module Mail def send(to, subject, body) - from_email = "noreply@infinsweeper.syedm.dev" + from_email = "infinsweeper@syedm.dev" from_name = "InfinSweeper" to = Array(to).map { |addr| { email_address: { address: addr, name: "" } } } diff --git a/main.rb b/main.rb index 47e4b13..ca9c64b 100644 --- a/main.rb +++ b/main.rb @@ -1,11 +1,11 @@ -require "sinatra" -require "json" require "base64" -require "zlib" -require "sequel" -require "xxhash" +require "json" require "net/http" +require "sequel" +require "sinatra" require "uri" +require "xxhash" +require "zlib" ALPHANUM = [*"0".."9", *"A".."Z", *"a".."z", "-", "_"].freeze diff --git a/players.rb b/players.rb index b4549c4..04d8e47 100644 --- a/players.rb +++ b/players.rb @@ -15,7 +15,7 @@ module Players raise ArgumentError, "Password must be at least 8 characters and of valid format." unless pass.match?(/\A[a-zA-Z0-9_.!?@#$%^&*()+=-]+\z/) && pass.length >= 8 - digest = XXhash.xxh32(pass, 1234) + digest = XXhash.xxh32(pass, ENV_HASH["SALT"]) code = CODE_ENV == :prod ? Array.new(24) { ALPHANUM.sample }.join : "!" DB[ @@ -50,7 +50,7 @@ module Players end def self.pass_reset(new_pass, code) - digest = XXhash.xxh32(new_pass, 1234) + digest = XXhash.xxh32(new_pass, ENV_HASH["SALT"]) DB["update Players set digest = ?, new_pass_code = ? where new_pass_code = ?", digest, "", code].update != 0 end @@ -63,7 +63,7 @@ module Players end def self.authorized?(username, pass) - digest = XXhash.xxh32(pass, 1234) + digest = XXhash.xxh32(pass, ENV_HASH["SALT"]) player = self[username] player && player[:digest].to_i == digest.to_i ? player : false end diff --git a/public/src/js/accounts.js b/public/src/js/accounts.js index 8c04f1b..39d9ef9 100644 --- a/public/src/js/accounts.js +++ b/public/src/js/accounts.js @@ -1,10 +1,16 @@ const login_form = document.getElementById("login-form"); const login_button = document.getElementById("login-button"); +const signup_form = document.getElementById("signup-form"); +const signup_button = document.getElementById("signup-button"); login_button.onclick = () => { document.getElementById("login").style.display = "block"; }; +signup_button.onclick = () => { + document.getElementById("signup").style.display = "block"; +}; + login_form.onsubmit = async (e) => { e.preventDefault(); const username = login_form.username.value; @@ -20,13 +26,6 @@ login_form.onsubmit = async (e) => { document.getElementById("login-info").innerText = response.message; }; -const signup_form = document.getElementById("signup-form"); -const signup_button = document.getElementById("signup-button"); - -signup_button.onclick = () => { - document.getElementById("signup").style.display = "block"; -}; - signup_form.onsubmit = async (e) => { e.preventDefault(); const username = signup_form.username.value;