Java-пароль из Java-формы

Возвращаясь к статье "Защита страницы (JavaScript)" КГ от 30.11.1999, где рассмотрены простейшие примеры установки пароля на доступ к HTML-ресурсу, хотелось бы предложить еще один способ. В данном методе пароль находится в коде HTML страницы, но так как источник кода всегда доступен для просмотра, то этот метод становится, на первый взгляд, неэффективным. Я хочу предложить спрятать не пароль в коде источника, а закрыть доступ к источнику HTML. Правда, это приведет к не совсем стандартному отображению страницы браузером (все, что здесь описывается, было опробовано в IE4).
Исходя из свойств браузера IE4, можно выделить то, что исходник любой HTML страницы доступен для просмотра двумя способами (если кто знает еще, пожалуйста, сообщите):
1. Через правую кнопку мыши выбрать пункт "Просмотр источника".
2. В пункте меню "Вид" выбрать "В виде HTML".
В обоих случаях мы получаем код HTML, загруженный в NotePad. Итак, определив действия по просмотру кода, реализуем функции их блокировки, а затем, опишем пароль, предоставляющий дальнейший доступ, уже не опасаясь, что он может быть подсмотрен из источника страницы.
Для начала создадим index.htm, где опишем функцию полноэкранного режима работы браузера:
<!--- index.htm --->
<html>
<head><title>One Page</title>
<!- Full Screen function ->
<script>
<!-
function FullWin(){window.open("password.htm", "","fullscreen,scrollbars")}
//->
</script></head>
<body>
<button onClick="FullWin()">Кнопка полноэкранного режима</button>
</body>
</html>

Здесь, файл password.htm — это страница, где запрашивается пароль для дальнейшего доступа. Теперь, если вызвать функцию FullWin(), браузер загрузит password.htm в полноэкранном режиме без меню, строки статуса и т.п. Вызов проще всего провести тегом </button>. Таким образом мы закрыли возможность просмотреть исходник HTML из пункта меню.
Далее создадим файл password.htm, в котором после тега <body> опишем скрипт, блокирующий нажатие правой кнопкой мыши:
<!- AntiUser ->
<script language="JavaScript">
<!-
if (document.all)
document.body.onmousedown=new
Function("if (event.button==2||event.button==3)
alert('Введите, пожалуйста, пароль!')")
//->
</script>

После всех этих действий наш источник кода оказался закрытым от посторонних, и теперь можно реализовать функцию доступа, определив пароль в тексте кода.
Я предлагаю вводить пароль, используя форму, и обрабатывать ее простейшей функцией.
<!- Input Password Access 1_1 ->
<fieldset style="position:absolute; width:350; height:80">
<legend><font color="#000000" size=+1><b>Ввод пароля!</b></font></legend>
<form name="userpass">
<b>&nbsp;Введите пароль доступа</b>
<input type="password" name="pass">&nbsp;
<br>&nbsp;
<input type="button" value="Доступ" onClick="InPass()">
<input type="reset" value="Очистить">
<script language="JavaScript">
<!-
function InPass()
{
var p = document.userpass.pass.value;
if (p == null)
window.location ="badpassword.htm";
else if (p == "wolf")
window.location ="goodpassword.htm";
else
window.location ="badpassword.htm";
}
//->
</script>
</form>
</fieldset>
здесь wolf — пароль,
goodpassword.htm — страница, загружаемая при совпадении пароля,
badpassword.htm — страница, выводящая сообщения, что пароль не верен.
Следует помнить здесь только то, что все страницы будут загружаться в полноэкранном режиме, и их закрытие по alt-F4 приведет к закрытию браузера.
И напоследок замечу, что приведенный метод защиты страниц Вы можете увидеть на моем сайте по адресу http://menel.euro.ru .
Александр Янковский


Компьютерная газета. Статья была опубликована в номере 03 за 2000 год в рубрике программирование :: java

©1997-2024 Компьютерная газета