Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать скрипт для ввода пароля? (https://javascript.ru/forum/misc/35197-kak-sdelat-skript-dlya-vvoda-parolya.html)

GooD&BaD 03.02.2013 12:44

Как сделать скрипт для ввода пароля?
 
Мне нужен скрипт, который при вводе лога/пароля сравнивал бы их с "некоторыми значениями" и при обнаружении совпадения начиналась переадресация на страницу, например, vk.com.

Deff 03.02.2013 13:18

Думаю, очередной перехватчик логов для ВK, без проксирования, на сайт vk.com. со входом через введенный пароль не зайти - переход будет с необходимостью повторного ввода

GooD&BaD 03.02.2013 13:47

ну у меня есть скрипт:
var login='111';
var pass='222';
var ok='http://vk.com';
var error='Доступ запрещен.';
function enter()
{
if(document.f.login.value==login && document.f.pas.value==pass)
{location.href=ok;}
else{
document.write(error);
}}
Но он начинает переадресацию на vk.com при вводе лога 111 и паса 222.Мне нужно, чтобы он реагировал на ввод нескольких значений лога/паса.
Добавлено: Да, я чайник.

рони 03.02.2013 14:02

GooD&BaD,
var base ={
  '111' : '222',
  '112' : '222',
  '113' : '221'

}

 var ok='http://vk.com';
 var error='Доступ запрещен.';


function enter()
 {
 if(base[document.f.login.value]==document.f.pas.value)
 {location.href=ok;}
 else{
 document.write(error);
 }}

Deff 03.02.2013 14:06

GooD&BaD,
HTML используемой формы ввода - приведите, думаю сравнение интересно проводить по отношению к введённым данным.

GooD&BaD 03.02.2013 14:18

<script language="JavaScript" src="enter.js"></script>
<html>
<head>
<title>Java Access</title>
</head>
<body>
<br><br><br><br>
<h1 align="center">Введите данные для продолжения</h1>
<center>
<form name="f">
<table width="400" height="98" cellspacing="0" cellpadding="0">
<tr>
<td align="center" height="4" bgColor="#666699"></td>
</tr>
<tr>
<td align="center" height="60">
<table cellspacing="0" cellpadding="0">
<tr>
<td>Логин:<br><input type="text" size="30" name="login"></td>
</tr>
<tr>
<td>Пароль:<br><input type="password" size="30" name="pas"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" height="30"><input type="button" value="Продолжить" onClick="enter();"></td>
</tr>
<tr>
<td align="center" height="4" bgColor="#666699"></td>
</tr>

</table>
</center>
</body>
</html>

GooD&BaD 03.02.2013 14:20

рони, не пашет

danik.js 03.02.2013 14:23

Рискну сорвать покровы ))
GooD&BaD, вам в голову не приходило что все пароли можно посмотреть нажав Ctrl+U )) ??

GooD&BaD 03.02.2013 14:24

Сори, рони, вводил неправильно, все пашет, спасибо.
danik.js, нажал, пароли как-то не видно, сохранял в отдельном enter.js
Вот что видно только:
<script language="JavaScript" src="enter.js"></script>
<html>
<head>
<title>Java Access</title>
</head>
<body>
<br><br><br><br>
<h1 align="center">Введите данные для продолжения</h1>
<center>
<form name="f">
<table width="400" height="98" cellspacing="0" cellpadding="0">
<tr>
<td align="center" height="4" bgColor="#666699"></td>
</tr>
<tr>
<td align="center" height="60">
<table cellspacing="0" cellpadding="0">
<tr>
<td>Логин:<br><input type="text" size="30" name="login"></td>
</tr>
<tr>
<td>Пароль:<br><input type="password" size="30" name="pas"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" height="30"><input type="button" value="Продолжить" onClick="enter();"></td>
</tr>
<tr>
<td align="center" height="4" bgColor="#666699"></td>
</tr>

</table>
</center>
</body>
</html>

danik.js 03.02.2013 14:32

Цитата:

Сообщение от GooD&BaD
danik.js, нажал, пароли как-то не видно, сохранял в отдельном enter.js

Надеетесь это вас спасет? :haha:
Хотя я не знаю какая ваша целевая аудитория. Судя по упоминанию ВК можно предположить что проблем не возникнет )

GooD&BaD 03.02.2013 15:55

Моя цель- защищенный доступ к сайту, а ВК это например.

danik.js 03.02.2013 16:02

Цитата:

Сообщение от GooD&BaD
Моя цель- защищенный доступ к сайту

Вы серьезно ? :lol:
GooD&BaD, вы ведь выложили пароли в открытый публичный доступ, вы действительно думаете что тут применимо слово "защищенный" )) ??

GooD&BaD 03.02.2013 16:39

А вы думаете, я такой лох, что я не потрудился изменить их? =)

GooD&BaD 03.02.2013 16:51

У меня еще вопрос, можно ли код из enter.js вставить в index.html чтобы его не было видно в исходном коде? Если да, то как?

Deff 03.02.2013 17:04

GooD&BaD,
Можно подгрузить динамически
типо
var a = document.createElement('script');
var a.src = 'enter.js';
document.body.appendChild(a)

GooD&BaD 03.02.2013 17:09

Я только сегодня узнал, что такое JavaScript. Объясните "человеческим" языком. =)

Deff 03.02.2013 17:23

Цитата:

Сообщение от GooD&BaD
Я только сегодня узнал, что такое JavaScript. Объясните "человеческим" языком. =)

http://javascript.ru/tutorial/dom/mo...enie-elementov
ЫЫ вот "javascript" языком

GooD&BaD 03.02.2013 17:39

ыы нифига не понял

Deff 03.02.2013 17:46

GooD&BaD,
Это
<script>
 var a = document.createElement('script');
var a.src = 'enter.js';
document.body.appendChild(a)
</script>

aналог
<script language="JavaScript" src="enter.js"></script>

Только тег создается скриптом, что дает возможность шифрануть адрес и затем в скрипте его дешифрировать, (для сбития с толку
К примеру перестановкой букв


<script>
var a = document.createElement('script');
var a.src = 'sj.retne'.split('').reverse().join('');
document.body.appendChild(a)
</script>

GooD&BaD 03.02.2013 18:54

опять не понял
в общем так: вот исходник index.htm
<script language="JavaScript" src="enter.js"></script>
<html>
<head>
<title>Access</title>
</head>
<body>
<br><br><br><br>
<h1 align="center">Введите данные для продолжения</h1>
<center>
<form name="f">
<table width="400" height="98" cellspacing="0" cellpadding="0">
<tr>
<td align="center" height="4" bgColor="#666699"></td>
</tr>
<tr>
<td align="center" height="60">
<table cellspacing="0" cellpadding="0">
<tr>
<td>Логин:<br><input type="text" size="30" name="login"></td>
</tr>
<tr>
<td>Пароль:<br><input type="password" size="30" name="pas"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" height="30"><input type="button" value="Продолжить" onClick="enter();"></td>
</tr>
<tr>
<td align="center" height="4" bgColor="#666699"></td>
</tr>
</table>
</center>
</body>
</html>
А вот исходник enter.js
var base ={
'112' : '221',
'113' : '331'
}
var ok='http://vk.com';
var error='Доступ запрещен.';
function enter()
{
if(base[document.f.login.value]==document.f.pas.value)
{location.href=ok;}``
else{
document.write(error);
}}
Если не сложно, напишите готовый код))
И еще: при открытии index.htm и вводе лога 112 и паса 221 браузер не реагирует, как впрочем и на другие значения. Почему?

Deff 03.02.2013 19:02

<html>
 <head>
 <title>Access</title>
<script>
var a = document.createElement('script');
var a.src = 'sj.retne'.split('').reverse().join('');
document.body.appendChild(a);
</script>

 </head>
 <body>
 <br><br><br><br>
 <h1 align="center">Введите данные для продолжения</h1>
 <center>
 <form name="f">
 <table width="400" height="98" cellspacing="0" cellpadding="0">
 <tr>
 <td align="center" height="4" bgColor="#666699"></td>
 </tr>
 <tr>
 <td align="center" height="60">
 <table cellspacing="0" cellpadding="0">
 <tr>
 <td>Логин:<br><input type="text" size="30" name="login"></td>
 </tr>
 <tr>
 <td>Пароль:<br><input type="password" size="30" name="pas"></td>
 </tr>
 </table>
 </td>
 </tr>
 <tr>
 <td align="center" height="30"><input type="button" value="Продолжить" onClick="enter();"></td>
 </tr>
 <tr>
 <td align="center" height="4" bgColor="#666699"></td>
 </tr>
 </table>
 </form>
 </center>
 </body>
 </html>

Deff 03.02.2013 19:14

Цитата:

А вот исходник enter.js
var base ={
'112' : '221',
'113' : '331'
}
var ok='http://vk.com';
var error='Доступ запрещен.';
function enter()
{
if(base[document.f.login.value]==document.f.pas.value)
{location.href=ok;}``
else{
document.write(error);
}}
Этот скрипт нее подойдет
Замените на такое
var base ={
 '112' : '221',
 '113' : '331'
 }
 var ok='http://vk.com';
 var error='Доступ запрещен.';
 function enter()
 {
 if(base[document.f.login.value]==document.f.pas.value)
 {location.href=ok;}
 else{
 alert(error);
 }}

Deff 03.02.2013 19:18

Цитата:

Сообщение от рони
{location.href=ok;}`` зачема???

:) Возможно стоит сунуть в action формы

GooD&BaD 03.02.2013 19:33

Deff, не пашет, на нажатие "продолжить" не реагирует.
И пишите без этого
01
02
03
ато задалбывает при копировании...

рони 03.02.2013 19:51

Цитата:

Сообщение от GooD&BaD
И пишите без этого
01
02
03

ищи кнопку справа от кода для копирования

рони 03.02.2013 19:52

GooD&BaD,
скопируй всё по новой что Deff, тебе написал

Deff 03.02.2013 20:22

GooD&BaD,
Как копировать => http://s2.uploads.ru/E2Wgu.png

danik.js 03.02.2013 22:22

Цитата:

Сообщение от GooD&BaD
А вы думаете, я такой лох, что я не потрудился изменить их? =)

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

Надеюсь пользователь доставший все пароли из ваших скриптов ничего серьезного не заимеют кроме какого-нибудь "секретного доступа" к сайту.
Цитата:

Сообщение от GooD&BaD
Я только сегодня узнал, что такое JavaScript

Это многое объясняет. Теперь вам предстоит узнать что JavaScript нельзя использовать для аутентификации без запроса на сервер.

GooD&BaD 04.02.2013 10:30

Как копировать я понял, но вот в чем прикол: нажал продолжить а оно фиг! Не врубаюсь че делать.

GooD&BaD 04.02.2013 10:33

Цитата:

Сообщение от danik.js (Сообщение 231383)
Хах, вы не поняли. Я имею ввиду что вы отдаете все свои пароли клиенту (браузеру) в открытом виде. Человеку достаточно посмотреть исходники и достать из них пароли. Аутентификация средствами javascript - это прям ноухау )))
javascript не годится для этих целей, так как его даже декомпилировать не нужно чтобы восстановить исходный код. Он и есть - исходный код.
Вы хотя бы задержку через setTimeout поставьте на несколько сот ms, чтобы у пользователя возникло ощущение что пароль проверяется на сервере, как положено с провекрой совпадения хэша введенного пароля и сохраненного хэша (именно хэша, а не пароля - пароль нельзя хранить!) в базе данных.

Надеюсь пользователь доставший все пароли из ваших скриптов ничего серьезного не заимеют кроме какого-нибудь "секретного доступа" к сайту.

Это многое объясняет. Теперь вам предстоит узнать что JavaScript нельзя использовать для аутентификации без запроса на сервер.

ниффига не понял. куда эту задержку всучить? и че сделать, чтобы пароль проверялся на сервере?

GooD&BaD 04.02.2013 10:38

и кстати, я знаю до фига форумов, где на javascript сделано ВСЕ, в том числе и база паролей и логов. и никто еще ничего не сломал)
вот например: forum.tankionline.com это форум одной известной браузерки, сделанной на флешке. проверьте.

danik.js 04.02.2013 11:08

Это флэш. А его надо декомпилировать. После этого получаем груду мусора, которую еще не каждый разгребет. И даже это ничего не даст. Ибо без сервера и аутентификации на сервере - и шагу не шагнуть. Ибо сервер недосягаем. Это черный ящик. А javascript и html - это публичный контент, в нем нельзя ничего секурного хранить, типа паролей.

Вы только вчера узнали что такое JavaScript, откуда вам знать что сделано на нем, а что - нет?

Впрочем для хоумпейджа можете хоть на css делать аутентификацию. Если же планируется поток посетителей, то на свою авторизацию на javascript особо не надейтесь )

GooD&BaD 04.02.2013 11:25

Ну поток посетителей ожидается небольшой, где-то 10 в неделю.
А что такое css? И с чем его едят где его скачать?

danik.js 04.02.2013 11:44

Цитата:

Сообщение от GooD&BaD
И где его скачать?

Ну например здесь.

danik.js 04.02.2013 11:47

GooD&BaD, полагаю ваш сервер имеет php-интерпретатор.
Погуглите на тему авторизация на php

Deff 04.02.2013 12:46

Цитата:

Сообщение от GooD&BaD
Как копировать я понял, но вот в чем прикол: нажал продолжить а оно фиг! Не врубаюсь че делать.

:) А загружаемый скрипт поправили на Вариант 2 из поста 22 ?

prestref 04.02.2013 13:09

Цитата:

Сообщение от GooD&BaD (Сообщение 231472)
Ну поток посетителей ожидается небольшой, где-то 10 кг. в неделю.

Вот так лучше выглядит ))
HTML - > Разметка страницы
CSS -> Оформление
JScript -> Вдохнуть жизнь в станицу(ну я по крайней мере его так использую, можно проверить вводимые данные но нечего с ними не делать) + не надо заставлять пользователя постоянно перезагружать страницу дабы данные обновить, вообщем все специфично.
php -> Механика сайта.
(это один с многих вариантов написания сайта)
P.S. скинь сюда ссылку потом на свой сайт, будет чем заняться раде развлечения :)))


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