Просмотр полной версии : Как сделать скрипт для ввода пароля?
GooD&BaD
03.02.2013, 12:44
Мне нужен скрипт, который при вводе лога/пароля сравнивал бы их с "некоторыми значениями" и при обнаружении совпадения начиналась переадресация на страницу, например, vk.com.
Думаю, очередной перехватчик логов для В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.Мне нужно, чтобы он реагировал на ввод нескольких значений лога/паса.
Добавлено: Да, я чайник.
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);
}}
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
danik.js, нажал, пароли как-то не видно, сохранял в отдельном enter.js
Надеетесь это вас спасет? :haha:
Хотя я не знаю какая ваша целевая аудитория. Судя по упоминанию ВК можно предположить что проблем не возникнет )
GooD&BaD
03.02.2013, 15:55
Моя цель- защищенный доступ к сайту, а ВК это например.
danik.js
03.02.2013, 16:02
Моя цель- защищенный доступ к сайту
Вы серьезно ? :lol:
GooD&BaD, вы ведь выложили пароли в открытый публичный доступ, вы действительно думаете что тут применимо слово "защищенный" )) ??
GooD&BaD
03.02.2013, 16:39
А вы думаете, я такой лох, что я не потрудился изменить их? =)
GooD&BaD
03.02.2013, 16:51
У меня еще вопрос, можно ли код из enter.js вставить в index.html чтобы его не было видно в исходном коде? Если да, то как?
GooD&BaD,
Можно подгрузить динамически
типо
var a = document.createElement('script');
var a.src = 'enter.js';
document.body.appendChild(a)
GooD&BaD
03.02.2013, 17:09
Я только сегодня узнал, что такое JavaScript. Объясните "человеческим" языком. =)
Я только сегодня узнал, что такое JavaScript. Объясните "человеческим" языком. =)
http://javascript.ru/tutorial/dom/modify#sozdanie-i-dobavlenie-elementov
ЫЫ вот "javascript" языком
GooD&BaD
03.02.2013, 17:39
ыы нифига не понял
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 браузер не реагирует, как впрочем и на другие значения. Почему?
<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>
А вот исходник 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);
}}
{location.href=ok;}`` зачема???
:) Возможно стоит сунуть в action формы
GooD&BaD
03.02.2013, 19:33
Deff, не пашет, на нажатие "продолжить" не реагирует.
И пишите без этого
01
02
03
ато задалбывает при копировании...
И пишите без этого
01
02
03
ищи кнопку справа от кода для копирования
GooD&BaD,
скопируй всё по новой что Deff, тебе написал
GooD&BaD,
Как копировать => http://s2.uploads.ru/E2Wgu.png
danik.js
03.02.2013, 22:22
А вы думаете, я такой лох, что я не потрудился изменить их? =)
Хах, вы не поняли. Я имею ввиду что вы отдаете все свои пароли клиенту (браузеру) в открытом виде. Человеку достаточно посмотреть исходники и достать из них пароли. Аутентификация средствами javascript - это прям ноухау )))
javascript не годится для этих целей, так как его даже декомпилировать не нужно чтобы восстановить исходный код. Он и есть - исходный код.
Вы хотя бы задержку через setTimeout поставьте на несколько сот ms, чтобы у пользователя возникло ощущение что пароль проверяется на сервере, как положено с провекрой совпадения хэша введенного пароля и сохраненного хэша (именно хэша, а не пароля - пароль нельзя хранить!) в базе данных.
Надеюсь пользователь доставший все пароли из ваших скриптов ничего серьезного не заимеют кроме какого-нибудь "секретного доступа" к сайту.
Я только сегодня узнал, что такое JavaScript
Это многое объясняет. Теперь вам предстоит узнать что JavaScript нельзя использовать для аутентификации без запроса на сервер.
GooD&BaD
04.02.2013, 10:30
Как копировать я понял, но вот в чем прикол: нажал продолжить а оно фиг! Не врубаюсь че делать.
GooD&BaD
04.02.2013, 10:33
Хах, вы не поняли. Я имею ввиду что вы отдаете все свои пароли клиенту (браузеру) в открытом виде. Человеку достаточно посмотреть исходники и достать из них пароли. Аутентификация средствами 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
И где его скачать?
Ну например здесь (http://javascript.ru/forum/clientscript/vbulletin_css/style-81884d78-00003.css).
danik.js
04.02.2013, 11:47
GooD&BaD, полагаю ваш сервер имеет php-интерпретатор.
Погуглите на тему авторизация на php (https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&ie=UTF-8#hl=ru&newwindow=1&tbo=d&sclient=psy-ab&q=%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0 %D1%86%D0%B8%D1%8F%20%D0%BD%D0%B0%20php&oq=&gs_l=&pbx=1&fp=db36189a834d209&ion=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.&bvm=bv.41867550,d.bGE&biw=1384&bih=653)
Как копировать я понял, но вот в чем прикол: нажал продолжить а оно фиг! Не врубаюсь че делать.
:) А загружаемый скрипт поправили на Вариант 2 из поста 22 ?
prestref
04.02.2013, 13:09
Ну поток посетителей ожидается небольшой, где-то 10 кг. в неделю.
Вот так лучше выглядит ))
HTML - > Разметка страницы
CSS -> Оформление
JScript -> Вдохнуть жизнь в станицу(ну я по крайней мере его так использую, можно проверить вводимые данные но нечего с ними не делать) + не надо заставлять пользователя постоянно перезагружать страницу дабы данные обновить, вообщем все специфично.
php -> Механика сайта.
(это один с многих вариантов написания сайта)
P.S. скинь сюда ссылку потом на свой сайт, будет чем заняться раде развлечения :)))
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot