Mercurial > hghosting
comparison src/get_password.html.luan @ 15:a6e72cd199f1
email security
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 01 Oct 2023 19:53:46 -0600 |
parents | 46f6b69e8b10 |
children |
comparison
equal
deleted
inserted
replaced
14:49461857ed79 | 15:a6e72cd199f1 |
---|---|
1 local Luan = require "luan:Luan.luan" | 1 local Luan = require "luan:Luan.luan" |
2 local error = Luan.error | 2 local error = Luan.error |
3 local String = require "luan:String.luan" | |
4 local matches = String.matches or error() | |
3 local Io = require "luan:Io.luan" | 5 local Io = require "luan:Io.luan" |
4 local output_of = Io.output_of or error() | 6 local output_of = Io.output_of or error() |
5 local Http = require "luan:http/Http.luan" | 7 local Http = require "luan:http/Http.luan" |
6 local Mail = require "luan:mail/Mail.luan" | 8 local Mail = require "luan:mail/Mail.luan" |
7 local Shared = require "site:/lib/Shared.luan" | 9 local Shared = require "site:/lib/Shared.luan" |
14 | 16 |
15 | 17 |
16 local send_mail = config.mail_info and Mail.sender(config.mail_info).send | 18 local send_mail = config.mail_info and Mail.sender(config.mail_info).send |
17 | 19 |
18 local function handle(email) | 20 local function handle(email) |
21 matches( email, [[^(\w[-+~.\w]*)@[-\w]+(\\.[-\w]+)*\.[a-zA-Z]+$]] ) or error "invalid email" | |
19 local change = Http.request.parameters.change ~= nil | 22 local change = Http.request.parameters.change ~= nil |
20 local password = config.users[email] | 23 local password = config.users[email] |
21 if password == nil or change then | 24 if password == nil or change then |
22 password = new_password() | 25 password = new_password() |
23 local raw_config = get_raw_config() | 26 local raw_config = get_raw_config() |