Monir fixes
This commit is contained in:
19
Gemfile
19
Gemfile
@@ -1,17 +1,10 @@
|
|||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
gem "sinatra"
|
|
||||||
|
|
||||||
gem "xxhash"
|
|
||||||
|
|
||||||
gem "sequel"
|
|
||||||
|
|
||||||
gem "json"
|
|
||||||
|
|
||||||
gem "base64"
|
gem "base64"
|
||||||
|
gem "json"
|
||||||
gem "zlib"
|
|
||||||
|
|
||||||
gem "uri"
|
|
||||||
|
|
||||||
gem "net-http"
|
gem "net-http"
|
||||||
|
gem "sequel"
|
||||||
|
gem "sinatra"
|
||||||
|
gem "uri"
|
||||||
|
gem "xxhash"
|
||||||
|
gem "zlib"
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
# Mailer module
|
# Mailer module
|
||||||
module Mail
|
module Mail
|
||||||
def send(to, subject, body)
|
def send(to, subject, body)
|
||||||
from_email = "noreply@infinsweeper.syedm.dev"
|
from_email = "infinsweeper@syedm.dev"
|
||||||
from_name = "InfinSweeper"
|
from_name = "InfinSweeper"
|
||||||
to = Array(to).map { |addr| { email_address: { address: addr, name: "" } } }
|
to = Array(to).map { |addr| { email_address: { address: addr, name: "" } } }
|
||||||
|
|
||||||
|
10
main.rb
10
main.rb
@@ -1,11 +1,11 @@
|
|||||||
require "sinatra"
|
|
||||||
require "json"
|
|
||||||
require "base64"
|
require "base64"
|
||||||
require "zlib"
|
require "json"
|
||||||
require "sequel"
|
|
||||||
require "xxhash"
|
|
||||||
require "net/http"
|
require "net/http"
|
||||||
|
require "sequel"
|
||||||
|
require "sinatra"
|
||||||
require "uri"
|
require "uri"
|
||||||
|
require "xxhash"
|
||||||
|
require "zlib"
|
||||||
|
|
||||||
ALPHANUM = [*"0".."9", *"A".."Z", *"a".."z", "-", "_"].freeze
|
ALPHANUM = [*"0".."9", *"A".."Z", *"a".."z", "-", "_"].freeze
|
||||||
|
|
||||||
|
@@ -15,7 +15,7 @@ module Players
|
|||||||
raise ArgumentError, "Password must be at least 8 characters and of valid format." unless
|
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
|
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 : "!"
|
code = CODE_ENV == :prod ? Array.new(24) { ALPHANUM.sample }.join : "!"
|
||||||
|
|
||||||
DB[
|
DB[
|
||||||
@@ -50,7 +50,7 @@ module Players
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.pass_reset(new_pass, code)
|
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
|
DB["update Players set digest = ?, new_pass_code = ? where new_pass_code = ?", digest, "", code].update != 0
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ module Players
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.authorized?(username, pass)
|
def self.authorized?(username, pass)
|
||||||
digest = XXhash.xxh32(pass, 1234)
|
digest = XXhash.xxh32(pass, ENV_HASH["SALT"])
|
||||||
player = self[username]
|
player = self[username]
|
||||||
player && player[:digest].to_i == digest.to_i ? player : false
|
player && player[:digest].to_i == digest.to_i ? player : false
|
||||||
end
|
end
|
||||||
|
@@ -1,10 +1,16 @@
|
|||||||
const login_form = document.getElementById("login-form");
|
const login_form = document.getElementById("login-form");
|
||||||
const login_button = document.getElementById("login-button");
|
const login_button = document.getElementById("login-button");
|
||||||
|
const signup_form = document.getElementById("signup-form");
|
||||||
|
const signup_button = document.getElementById("signup-button");
|
||||||
|
|
||||||
login_button.onclick = () => {
|
login_button.onclick = () => {
|
||||||
document.getElementById("login").style.display = "block";
|
document.getElementById("login").style.display = "block";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
signup_button.onclick = () => {
|
||||||
|
document.getElementById("signup").style.display = "block";
|
||||||
|
};
|
||||||
|
|
||||||
login_form.onsubmit = async (e) => {
|
login_form.onsubmit = async (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
const username = login_form.username.value;
|
const username = login_form.username.value;
|
||||||
@@ -20,13 +26,6 @@ login_form.onsubmit = async (e) => {
|
|||||||
document.getElementById("login-info").innerText = response.message;
|
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) => {
|
signup_form.onsubmit = async (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
const username = signup_form.username.value;
|
const username = signup_form.username.value;
|
||||||
|
Reference in New Issue
Block a user