Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > Общие вопросы Web
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2017, 15:14   #1
odrovunos
Пользователь
 
Регистрация: 20.08.2016
Сообщений: 16
По умолчанию Можно написать код верификации пользователя через e-mail на javaScript?

Здравствуйте.

Помогите пожалуйста, подскажите возможно написать код верификации пользователя через e-mail на javaScript? Я искал подобный запрос в интернете нашел только с помощью PHP.
Зарание благодарен.
odrovunos вне форума Ответить с цитированием
Старый 03.07.2017, 15:29   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Конечно можно, если у вас сервер на Node.JS.

А если речь о клиентском JS, то даже если было бы можно, то это было бы не надежно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.07.2017, 13:04   #3
odrovunos
Пользователь
 
Регистрация: 20.08.2016
Сообщений: 16
По умолчанию

Можете помочь? Я прошел краткий курс javaScript, не могу справиться. У меня задача написать код верификации пользователя через e-mail, в форме нужно ввести имя, фамилию, номер телефона, e-mail, после верного заполнения генерируется ссылка пройдя по которой происходит верификация пользователя.
Нашел в интернете части кода но, не могу их увязать.

Код:
<div><style type="text/css"> 
#ok {
background-color: #96070A;
display: none;
position: fixed;
z-index: 99999;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
#parent_popup {
background-color: #96070A;
display: none;
position: fixed;
z-index: 99999;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
#popup {
background: #ECE9E4;
width: 300px;
margin: 20% auto;
padding: 1px 1px 1px 1px;
border: 10px solid #ddd;
position: relative;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;

}

#btn{
background: rgb(212,75,56); /* фон кнопки */ color:#FFFFFF;
width: 150px;
padding: 10px 50px; /* отступ от текста */
//margin-left:79px;
//margin-right:0px;
margin-top:10px;
text-decoration: Bodoni MT;
font-size:12px !important;
border-radius: 3px;
}
#data
{
text-align: center;
margin: 1% auto;
width: 150px;
hight: 30px;
position: relative; top: 5px; left: 0%; 
}
#btn:hover {background: #8BCD28; color:#000000;/* фон и цвет кнопки */} /* при наведении курсора мышки */
border-radius: 50%;}

}

input[type="text"], input[type="email"] {
width: 100px;
}
.invalid {
background: red;
}

</style>

</div>
<div id="parent_popup">
<div id="popup">
<form id="test">
<div>
<input type="text" title="имя"></input>
<input type="text" title="фамилия"></input>
<input type="text" title="мобильный номер"></input>
<input type="email" title="email"></input>
<span id="required"></span><br>
<input type="submit" >
</form>
</div>
<div id="ok">
</div>
</div>
<script>
window.onload = function() {

var form = document.forms[0],
fields = form.querySelectorAll('input[type="text"], input[type="email"]'),
msg = document.getElementById('required'),
regExp = [/^[А-Яа-яЁё]+$/, /.+@.+\..+/i, /^[А-Яа-яЁё\W\s\d]+$/, /^[А-Яа-яЁё\W\s\d]+$/];

form.onsubmit = function(event) {
var valid = true, cnt = 0;

event.preventDefault();

Array.prototype.forEach.call(fields, function(input) {
input.classList.remove('invalid');
if(!input.value.length) {
cnt++;
}
})

if(cnt == fields.length) {
Array.prototype.forEach.call(fields, function(input) {
input.classList.add('invalid');
})
msg.innerHTML = 'Заполните обязательные поля!';
return;
} 

for (var i = 0, l = fields.length; i &lt; l; i++) {
fields[i].classList.remove('invalid');
if(!fields[i].value.match(regExp[i])) {
fields[i].classList.add('invalid');
msg.innerHTML = 'Неверно введено поле ' + fields[i].title + '!';
valid = false;
break;
}
}

if (valid) {
form.submit();
}

}
}
function fnLink() {
var strLink;

strLink = "http://www.sql.ru";

window.location.href = strLink
}
/* SmtpJS.com */
Email = { send: function (a, b, c, d, e, f, g) { var h = Math.floor(1e6 * Math.random() + 1), i = "https://smtpjs.com/smtp.aspx?"; i += "From=" + a, i += "&to=" + b, i += "&Subject=" + encodeURIComponent(c), i += "&Body=" + encodeURIComponent(d), void 0 == e.token ? (i += "&Host=" + e, i += "&Username=" + f, i += "&Password=" + g, i += "&Action=Send") : (i += "&SecureToken=" + e.token, i += "&Action=SendFromStored"), i += "&cachebuster=" + h, Email.ajax(i) }, sendWithAttachment: function (a, b, c, d, e, f, g, h) { var i = Math.floor(1e6 * Math.random() + 1), j = "https://smtpjs.com/smtp.aspx?"; j += "From=" + a, j += "&to=" + b, j += "&Subject=" + encodeURIComponent(c), j += "&Body=" + encodeURIComponent(d), j += "&Attachment=" + encodeURIComponent(h), void 0 == e.token ? (j += "&Host=" + e, j += "&Username=" + f, j += "&Password=" + g, j += "&Action=Send") : (j += "&SecureToken=" + e.token, j += "&Action=SendFromStored"), j += "&cachebuster=" + i, Email.ajax(j) }, ajax: function (a) { var b = Email.createCORSRequest("GET", a); b.onload = function () { var a = b.responseText; console.log(a) }, b.send() }, createCORSRequest: function (a, b) { var c = new XMLHttpRequest; return "withCredentials" in c ? c.open(a, b, !0) : "undefined" != typeof XDomainRequest ? (c = new XDomainRequest, c.open(a, b)) : c = null, c } };
</script>
______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 05.07.2017 в 13:06.
odrovunos вне форума Ответить с цитированием
Старый 05.07.2017, 13:12   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

https://learn.javascript.ru/devtools
https://learn.javascript.ru/debugging-chrome
https://learn.javascript.ru/coding-style
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.07.2017, 15:08   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

на чистом js ну никак....
с чем вы ссылку сравнивать будете?
принцип таков: в ссылке - ключ, который при отправке письма записывается в бд/текст файл итд... на сервере!.... при нажатии на ссылку с ключем - на сервере! сверяется сохраненный ключ и текущий - если совпадают, то верифицируем... текущему пользователю в БД или тект файла или еще где - ставим признак верификации
как вы планируете верифицировать в чисто клиентском приложении на вообще не понимаю
в порядке бреда - локал сторедж... но это бред
из раздела - авторизацию регистрацию на чистом js
ADSoft вне форума Ответить с цитированием
Старый 07.07.2017, 19:32   #6
odrovunos
Пользователь
 
Регистрация: 20.08.2016
Сообщений: 16
По умолчанию

Спасибо, действительно очень полезная информация. Дело в том что мне сказали что на JavaScripte можно все это написать, но в интернете об этом информации нет, нашел 1 урок где применяеться PHP.
odrovunos вне форума Ответить с цитированием
Старый 07.07.2017, 19:57   #7
odrovunos
Пользователь
 
Регистрация: 20.08.2016
Сообщений: 16
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
на чистом js ну никак....
с чем вы ссылку сравнивать будете?
принцип таков: в ссылке - ключ, который при отправке письма записывается в бд/текст файл итд... на сервере!.... при нажатии на ссылку с ключем - на сервере! сверяется сохраненный ключ и текущий - если совпадают, то верифицируем... текущему пользователю в БД или тект файла или еще где - ставим признак верификации
как вы планируете верифицировать в чисто клиентском приложении на вообще не понимаю
в порядке бреда - локал сторедж... но это бред
из раздела - авторизацию регистрацию на чистом js
Для отправки с помощью JavaScript посоветовали https://smtpjs.com/
Так же сказали что без node.js не обойтись и возможен вариант с firebase.

https://firebase.google.com/docs/auth/web/password-auth.
odrovunos вне форума Ответить с цитированием
Старый 07.07.2017, 20:30   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Узнайте как работает веб (клиент, сервер, HTTP, ...).

И разницу между языком (JS) и платформой (браузер, Node.js, ..., Electron, Unity3D, OpenOffice, ...).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.07.2017, 21:46   #9
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

а главное - почему нельзя php то?
ADSoft вне форума Ответить с цитированием
Старый 11.07.2017, 22:02   #10
odrovunos
Пользователь
 
Регистрация: 20.08.2016
Сообщений: 16
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
а главное - почему нельзя php то?
PHP не изучал.
odrovunos вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
javaScript помогите пожалуйста написать код dahnik JavaScript, Ajax 1 28.06.2016 22:25
можно ли писать php код внутри javascript инструкции if? если можно, то как это сделать? Ubihinon JavaScript, Ajax 2 20.02.2012 08:40
можно ли писать php код внутри javascript инструкции if? если можно, то как это сделать? Ubihinon PHP 2 18.02.2012 17:45
Отправка e-mail через JavaScript Gambler Общие вопросы по Java, Java SE, Kotlin 1 30.05.2007 14:03