fix typos and make cookie secure
This commit is contained in:
parent
08faec5e16
commit
f4465a2841
3 changed files with 38 additions and 23 deletions
39
js/index.js
39
js/index.js
|
|
@ -17,21 +17,7 @@ getCookie = (key) => {
|
|||
setCookie = () => {
|
||||
const d = new Date();
|
||||
d.setTime(d.getTime() + (180*24*60*60*1000)); // 180 days
|
||||
document.cookie = `name=${document.querySelector("#name input").value};iban=${document.querySelector("#iban input").value};bic=${document.querySelector("#bic input").value};expires=${d.toUTCString()};path=/`;
|
||||
}
|
||||
|
||||
// Fill in form from cookie
|
||||
const cookieName = getCookie("name");
|
||||
if (cookieName !== "") {
|
||||
document.querySelector("#name input").value = cookieName;
|
||||
}
|
||||
const cookieIban = getCookie("iban");
|
||||
if (cookieIban !== "") {
|
||||
document.querySelector("#iban input").value = cookieIban;
|
||||
}
|
||||
const cookieBic = getCookie("bic");
|
||||
if (cookieBic !== "") {
|
||||
document.querySelector("#bic input").value = cookieBic;
|
||||
document.cookie = `name=${document.querySelector("#name input").value};iban=${document.querySelector("#iban input").value};bic=${document.querySelector("#bic input").value};expires=${d.toUTCString()};path=/;SameSite=Strict;Secure`;
|
||||
}
|
||||
|
||||
// Field data checks
|
||||
|
|
@ -108,7 +94,9 @@ validateIban = (target) => {
|
|||
}
|
||||
|
||||
validatePurpose = (target) => {
|
||||
if (target.value.length > 0 && target.value.length <= 140) {
|
||||
const re = /[a-zA-Z0-9\/?:().,'+\- ]{1,140}/i;
|
||||
|
||||
if (re.test(target.value)) {
|
||||
target.classList.remove("is-danger")
|
||||
document.querySelector("#purpose div span").innerHTML = "✅";
|
||||
if (document.querySelector("#purpose p")) {
|
||||
|
|
@ -123,7 +111,7 @@ validatePurpose = (target) => {
|
|||
if (!document.querySelector("#purpose p")) {
|
||||
const help = document.createElement("p");
|
||||
help.classList.add("help", "is-danger");
|
||||
help.textContent = "Purpose can only have 140 characters.";
|
||||
help.textContent = "Purpose can only have 140 characters and only include A-Z, a-z, 0-9, /?:().,'+- and spaces.";
|
||||
document.querySelector("#purpose").appendChild(help);
|
||||
}
|
||||
}
|
||||
|
|
@ -189,9 +177,24 @@ ${document.querySelector("#purpose input").value}
|
|||
}
|
||||
}
|
||||
|
||||
// generate qr code on first visit
|
||||
// Fill in form from cookie
|
||||
const cookieName = getCookie("name");
|
||||
if (cookieName !== "") {
|
||||
document.querySelector("#name input").value = cookieName;
|
||||
}
|
||||
const cookieIban = getCookie("iban");
|
||||
if (cookieIban !== "") {
|
||||
document.querySelector("#iban input").value = cookieIban;
|
||||
}
|
||||
const cookieBic = getCookie("bic");
|
||||
if (cookieBic !== "") {
|
||||
document.querySelector("#bic input").value = cookieBic;
|
||||
}
|
||||
|
||||
validateName(document.querySelector("#name input"));
|
||||
validateIban(document.querySelector("#iban input"));
|
||||
validateBic(document.querySelector("#bic input"));
|
||||
validatePurpose(document.querySelector("#purpose input"));
|
||||
|
||||
// generate qr code on first visit
|
||||
regenerate();
|
||||
|
|
|
|||
Loading…
Reference in a new issue