Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Тиккеты / вход на сайт (https://javascript.ru/forum/css-html-internet-explorer/80501-tikkety-vkhod-na-sajjt.html)

Jsic 13.06.2020 14:35

Тиккеты / вход на сайт
 
Здравствуйте, я пытаюсь сделать js код, вообщем этот сайт имеет одно поле, в него нужно ввести то что написано на тиккете который выдаю я лично и только тогда можно войти в сайт. Проблема в том что я не знаю как сделать больше тиккетов для входа, я пытался долго но так и не вышло, не знаю.
:write:
var ticket = 'ticket-20-10-13-!016-6!';
function enter() {
if (document.getElementById('s').value == ticket ) {
 document.getElementById('v').style.color = 'ffff00';
 document.getElementById('v').innerHTML = "успешный вход!";
} else {
 document.getElementById('v').style.color = 'fff000';
 document.getElementById('v').innerHTML = "неправильный ticket попробуйте снова...";
}}

laimas 13.06.2020 14:39

Я не буду говорить о количестве, а вот "о качестве" сказать можно. Дело в том, что если на странице есть var ticket = 'ticket-20-10-13-!016-6!', то в общем то и не надо его отгадывать.

Jsic 13.06.2020 14:53

Я нуб в js :-?

laimas 13.06.2020 15:07

Цитата:

Сообщение от Jsic
Я нуб в js

Тут в общем то проблема не в нем, а в хозяине сайта, который таким способом дает разрешение пользователю. Достаточно пользователю просмотреть код страницы, что сделать очень просто, и он увидит "подсказку" - увидел, ввел увиденное и готово.

Всеми разрешениями и допусками должен заниматься сервер, иначе это бессмыслица. Все секретики, что вы приготовили, сервер хранит у себя, а пользователь заполняет поля формы и отправляет ее. Сервер принял, сравнил, и далее от результата сравнения - либо вход, либо фигвам.

Jsic 13.06.2020 15:15

Ок только у меня нету денег на сервер а js изучать хочется...

Jsic 13.06.2020 15:20

Может есть способ как записывать все тиккеты в блокнот чтобы js их оттуда брал но для меня это на гране фантастики

laimas 13.06.2020 15:25

Какой блокнот?! Нельзя с веб страницы записать что-то в Блокнот, для этого в браузере есть локальное хранилище. Но тогда зачем же заставлять клиента что-то вводить в поля формы, проверять? Проверил скрипт, что есть такое-то локальном хранилище и все, даем доступ.
Но в этом случае что это вообще такое и для чего, только вам и богу известно. А по сути, это чушь, если называть такое "разрешением для входа".

Jsic 13.06.2020 15:41

Я нашел хостинг загрузил сайт, можешь поверхностно объяснить что я щас должен сделать\\

laimas 13.06.2020 15:51

Вот уж не знаю чего вам хочется сделать. :) Ну может так будет понятно. Вы не раз производили авторизацию на различных сайтах. Посмотрите код страницы входа на этих сайтах, вы найдете на них "подсказку" в виде вашего логина и пароля, которые сервер "любезно" разместит на странице? Вряд-ли, в противном случае на такой "защищенный" в кавычках сайт может зайти любой проходимец.

Если вы генерируете несколько значений для входа (почему несколько и что с этим количеством нужно делать, я не знаю, это уже вам виднее), то сервер это значение/значения записывает у себя. Записать его можно в сессии либо в базе, если сессия не работает (куки у пользователя выключены, за что вообще можно и отказать во входе, это тоже решать не мне), либо в базе.

Клиенту отдается только форма, в которой он должен ввести некое значение. Клиент ввел, отправил, сервер принял, сравнил, если ОК, дает вход и удаляет сохраненное в сессии/базе.

Если ваши тикеты, это дополнение для входа (к логину и паролю), то пользователь уже сам пусть решает где их хранить у себя, в текстовом файле ли, в тетрадке или рядом на обоях. А вот сервер эти тикеты, как и логин с паролем, конечно же хранит в базе, и только он проверяет достоверность этих данных, а не клиент.

micscr 14.06.2020 06:46

Цитата:

Сообщение от Jsic (Сообщение 525785)
Я нашел хостинг загрузил сайт, можешь поверхностно объяснить что я щас должен сделать\\

да локально поставил бы опенсервер, это если php будешь использовать.
По сути надо изучить самые основы php.
Если не заморачиваться с базой, а хранить список верных тикетов в файлике(через запятую), то код там будет по сути из пары строк:
- стартуешь сессию
- проверяешь залогинен ли по тикету
- если нет то форму входа показываешь
- проверяешь идет ли на страницу сабмит, если да, то проверяешь по своему файлу тикетов верный ли тикет и если да, то записываешь в сессию и редирект.


Часовой пояс GMT +3, время: 10:20.