Как подключить модуль node js, к html странице
Есть два файла js и один html
Задача: Использовать функцию из файла sha256.js в файле login.js
Ошибка:
login.js:1 Uncaught ReferenceError: require is not defined
at login.js:1:14
HTML
<script src="script/sha256.js"></script>
<script src="script/login.js"></script>
login.js
var sha256 = require('./sha256.js');
document.getElementById("check").onclick = function() {
let login = document.getElementById("login").value;
let password = document.getElementById("passwd").value;
if (sha256(login) == "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b" && sha256(password) == "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b") {
alert("Yes!")
}
else alert("Incorrect login or password!");
}
Мне нужно просто захешировать данные из формы html, который обрабатывает файл login.js и проверить с хешом в условии.
Я понимаю, что можно использовать библиотеки Browserify, Webpack и т.д., но может есть другой вариант? Или может есть какая-то более простая библиотека? Сервер будет работать на nodejs
Ответы (1 шт):
Автор решения: School
→ Ссылка
Все проверки авторизации делается на стороне сервера. На клиенте тебе нужно обработать на валидность введенных данных, потом отправить эти данные на сервере и ждать пока там произойдет проверка, и соответственно выводить результат тут.
Например:
$("#login_form").submit((e)=>{
e.preventDefault()
//проверка валидности
$.ajax({
url:'хост апи/роут до метода',
data:{
login:$('input[name=login]').val(),
password:$('input[name=password]').val()
},
method:'POST',
success:function(res){
//обрабатываешь ответ
}
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="login_form">
<input type="text" name="login" placeholder="логин">
<input type="text" name="password" placeholder="пароль">
</form>