Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #27, ФЕВРАЛЬ 2003 г.

TIPS OF THE WEB - Запугивание до заикания

Sevranty

Спецвыпуск Xakep, номер #027, стр. 027-106-1


(sevranty@deepdesign.ru, vsevolod.deepdesign.ru)

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

К сожалению, а может и к счастью, наш метод работает только на факин дырявом осле, поэтому необходимо отсортировать оперщиков.

TIPSA 1. Как почекать браузер?

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

<script LANGUAGE="JavaScript">

<!--

var ver = navigator.appVersion;

if (ver.indexOf("MSIE") != -1)

{

window.location.href="ie.html"

} else

window.location.href="bye.html"

-->

</script>

Это переводится так: получаем версию браузера; если это наш любимый и дырявый ослик ИЕ, то мы радуемся и переходим на страницу ie.html; если не ослик ИЕ, то прощаемся и посылаем ламера... куда? Конечно, на страницу bye.html с ласковым прощанием. Теперь про тех, кто в танке (не на ослике), забываем и больше не паримся.

TIPSA 2. Как убить контролзы?

Хорошо бы не дать пользователю тыкнуть на рабочий стол или в таскбар, для этого откроем мрачное окно во весь его экран. Далее создаем файл для ослика, в хедере которого кладем скрипт:

<script>

var windowW=screen.width // wide

var windowH=screen.height // high

var windowX = 0 // from left

var windowY = 0 // from top

var urlPop = "fullscreen.html"

var title = "SYSTEM busy"

var autoclose = false

s = "width="+windowW+",height="+windowH;

var beIE = document.all?true:false

function openFrameless(){

if (beIE){

NFW = window.open("","popFrameless","fullscreen,"+s)

NFW.blur()

window.focus()

NFW.resizeTo(windowW,windowH)

NFW.moveTo(windowX,windowY)

var frameString=""+

"<html>"+

"<head>"+

"<title>"+title+"</title>"+

"</head>"+

"<frameset rows='*,0' framespacing=0 border=0 frameborder=0>"+

"<frame name='top' src='"+urlPop+"' scrolling=no>"+

"<frame name='bottom' src='cmd_load.html' scrolling='no'>"+

"</frameset>"+

"</html>"

NFW.document.open();

NFW.document.write(frameString)

NFW.document.close()

} else {

NFW=window.open(urlPop,"popFrameless","scrollbars,"+s)

NFW.blur()

window.focus()

NFW.resizeTo(windowW,windowH)

NFW.moveTo(windowX,windowY)

}

NFW.focus()

if (autoclose){

window.onunload = function(){NFW.close()}

}

}

</script>

Коротко описать можно так: снимаем размеры экрана, указываем, какой мы файл открываем (fullscreen.html) в полном окне и другие параметры окна. Далее страхуемся от ребят, которые с упорством маньяка пытаются залезть не на ослике, и во весь экран открываем наш файл. Заодно у нас открывается еще и файл cmd_load.html (он понадобится потом). В нем мы загружаем необходимые нам графические файлы, чтобы ИЕ их закешировал и не грузил их больше, это нам снимет проблему постепенной подгрузки изображений. И теперь при загрузке ословой страницы ie.html на событие OnLoad вешаем запуск нашего скриптика.

Содержание  Вперед на стр. 027-106-2