2016-09-15 1 views
-1

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

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

HTML КОД

<form id="usr-psswd"> 
    Name: <input type="text" name="name" id="name"> 
    Username: <input type="text" name="usr" id="usr"> 
    Password: <input type="text" name="psswd" id="psswd"> 
    <input type="button" onclick="submission()" value="Submit"> 
</form> 

Script Code

function submission(){ 
    var name = document.getElementByID = "name"; 
    var psswd = document.getElementByID = "psswd"; 
    var usr = document.getElementByID = "usr"; 

    var name = new Array(); 
    var usr = new Array(); 
    var psswd = new Array(); 
} 

Мой вопрос: как я получаю JavaScript, чтобы поместить ввод в массив, который остается на странице, так что когда вы пытаетесь добраться до index.html (где и где находится защита паролем), так что им не нужно устанавливать это каждый раз?

Кроме того, если это достаточно просто, как я могу запускать несколько паролей с помощью шифрования и хранить их на веб-странице, чтобы, если кто-то случайно оказался здесь, пароли безопасны?

Да, я понимаю, что цифры var namevar psswd и var usr повторяются дважды. Это потому, что я слишком ленив, чтобы назвать их разными вещами прямо сейчас. Мне просто нужно знать, как положить var name = document... в var name = new.... Благодаря!

+5

Пароли никогда не будут безопасными и не будут отображаться на странице, поскольку каждый клиент, имеющий доступ к этой странице, также будет иметь открытый доступ как к зашифрованному паролю, так и к способу, который вы используете для их шифрования. Кроме того, любой может легко полностью обойти аутентификацию, просто набрав команды JavaScript в консоли браузера. Вот почему аутентификация выполняется на стороне сервера. По крайней мере, посмотрите, можете ли вы просто настроить запуск базовой аутентификации мельницы http на веб-сервере по HTTPS, что лучше, чем ничего. –

+0

Единственный способ запомнить что-то на стороне клиента - это использовать глобальные переменные. Но это, конечно же, не то, что вы хотите сохранить здесь. Вы должны сохранить этот материал в php SESSION или что-то в этом роде. Кстати, функция submit() не так. Чтобы получить содержимое формы, вы скажете: document.getElementById («name»); А потом вы переписываете его массивом? – Saskia

+0

@JasonC У меня нет сервера (по крайней мере, не тот, который я знаю), и мой php не существует. Как я могу сохранить их на стороне сервера? Кроме того, страница предоставляется только моей семье, поэтому я не слишком беспокоюсь об украденной информации. У меня также есть отказ от ответственности, что он не зашифрован и не используется повторно для повторного использования других паролей. Опять с байпасом. Здесь нет важной информации, так что это не проблема. – James

ответ

3

Я знаю, что вы сказали, что хотите сделать простую аутентификацию для сайта, но выполнение этого в JavaScript небезопасно, и имена пользователей/паролей легко извлекаются.

Если вы хотите что-то очень просто и быстро делать .. я предлагаю вам сделать это с помощью .htaccess для аутентификации:

Чтобы сделать это, система требует два файла - файл .htaccess и .htpasswd файла:

.htaccess, код:

AuthType Basic 
AuthName "restricted area" 
AuthUserFile /home/user/html/protect-me-dir/.htpasswd 
require valid-user 

Приведенный выше код защищает директорию protect-me-dir в Роо t уровень. Значение AuthUserFile всегда зависит от конфигурации вашего хостинга. Если вы не знаете, какое значение должно быть, сделайте phpinfo() и найдите значение DOCUMENT_ROOT.


.htpasswd Код:

your_username:your_password 
another_user:another_password 
you_get:the_idea 

файл .htpasswd содержит имена пользователей и пароли, разрешенных пользователей. Один на линию.


В противном случае, я бы, вероятно, сделать что-то любитель по, возможно, имея надлежащий вход, используя сочетание PHP и базы данных, например.

Надеюсь, это поможет.

+1

1. MD5 _hashing_ not _encrypting_. Шифрование является обратимым, хешей нет. 2. MD5 не защищен. Однако, помимо этого, базовая аутентификация, вероятно, самая простая вещь, которую вы можете иметь, которая также полезна. Это некрасиво (это, в конце концов, базовый), но он защитит от большинства попыток несанкционированного доступа, которые JS «безопасность» с удовольствием пропустит. – vlaz

+0

Правильно, вы правы в MD5, я пересмотрю эту часть ... Также причина, почему я упомянул '.htaccess', - это то, что мне кажется, что он ищет базовый auth. : D – Fadi

+1

Я согласен - базовая аутентификация действительно похожа на то, что хочет OP. – vlaz