Проект Порталус


AboutPC+
Реклама в журнале
 [скрыть меню]

Раздел "Веб-мастеру". Содержание:

Веб-мастеринг:

Вперед Ввод символов, которых нет на клавиатуре
Вперед Создание универсального выпадающего меню
Вперед Программы для начинающего вебстроителя
Вперед Красивый URL

Веб-кодинг:

Вперед Приемы сетевой обороны на PHP
Вперед Parser3 - сравнительный обзор

Раскрутка:

Вперед Обмен ссылками и кнопками
Вперед Как привлечь посетителя на ваш сайт

Новости:

Вперед РосНИИРОС оставляет свои функции

Раздел "Веб-мастеру". Рассылка от ведущего раздела:

 

Раздел "Веб-мастеру". Веб-мастеринг:

В конец страницы

Ввод символов, которых нет на клавиатуре

Учусь в институте на факультете математика-информатика. Информатика идет довольно легко, и в перерывах между выполнением заданий на паскале себе и другим, умудрился создать в HTML сборник учебников, советов и юмора на около компьютерную тематику. И как-то дал мой преподаватель задание - написать учебник, но уже связанный с математикой.

"Без проблем" - сказал я и удалился.

Ох, каким самонадеянным был я! Все упиралось в то, что символов типа: ∫, ≠, ∑ и т. п. на клавиатуре не было. А какая ж математика без них?! Пробовал вставлять картинками (в принципе, я рассуждал, каждый символ - это изображение). Ничего хорошего не вышло - файл разрастался, да и картинка выделялась среди текста (особенно при смене размера шрифта). Был и другой выход.

Как известно, все символьные обозначения букв, цифр, специальных знаков и иероглифов на самом деле представляют собой различные сочетания битов. Так, например, если отводить каждому символу по 8 бит, то из 8 битов, в различных комбинациях, теоретически может получиться 256 последовательностей, то есть из 8 битов может получиться 256 символов. Каждому такому символу присваивается свой код и из них составляется таблица - кодировка символов. Таких таблиц существует величайшее множество, так как в мире несколько тысяч языков и несколько десятков различных платформ. Понадобилось все свести к стандартам (своеобразная мировая азбука Морзе для компьютеров). Так ASCII (8 бит), содержит в себе практически все европейские нестандартные символы, а кодировка ISO 8859-5 является русской. В свою очередь, организация Unicode Consortium создала на основе 16-битового кодирования одноименную кодировку, в которую решено было вместить 65536 символов, каждый весом в два байта. Первые 256 символов Unicode в точности соответствуют ISO 8859-1, а саму кодировку компьютерное сообщество признало и использует все чаще, и если основной кодировкой в HTML раньше считалась ISO 8859-1, то с появлением HTML 4.0, основной кодировкой стала Unicode. Теперь, для создания многоязыкового HTML документа со специальными символами (которые мне и были нужны) можно воспользоваться мнемоническими ссылками на символы Unicode. Например, если в документ Windows-1251 вставить &#8721, то получим символ суммы, применяемый в математике. Иногда WYSIWYG-редакторы (старые версии) заменяют каждую букву русского текста такой ссылкой, что приведет к сильному увеличению объема в несколько раз.

В общем, выход был найден, осталось только найти таблицу символов. В Интернете таких таблиц полно, но они не полны (отображены наиболее часто встречающиеся). Пришлось делать свою - универсальную.

В течение часа изучив верхушки JavaScript (ну не учили нас ему) я получил следующий код:

<html>
<head>
<title>Sym</title>
<meta http-equiv="Content-Type" content="text/html">
</head>
<body>
<form name="Form1">
<button OnClick=myfunc()>Вывести символы</button> c
<input type="Text" value="8200" name="uk1"> по
<input type="Text" value="10000" name="uk2">
</form>
<script language="javascript">
<!--
function myfunc() {
var i=parseInt(document.Form1.uk1.value);
var j=parseInt(document.Form1.uk2.value);
var l=parseInt(1);
var s="";
while (i<=j) {
s="&#"+i+"-<small><small><small>"+i+"</small></small></small>";
if (l==15) {
var l=parseInt(1);
s=s+"<br>"
}
document.write(s);
i=i+1;
l=l+1;
}
}
//-->
</script>
</body>
</html>

Если не хочется набирать программу самим, воспользуйтесь формой ниже.

Конечно, вывод не аккуратный, но это уже просьба к гуру (сделайте в таблице, и чтобы вывод был на этой же странице - ниже кнопки и полей ввода).

Работая с "Генератором символов", не забывайте, что значения от 0 до 65535, а так же не стоит задавать выводить более 5000 символов.

Назад В начало страницы На главную страницу В конец страницы Вперед 

В конец страницы

Создание универсального выпадающего меню

Автор:Алексей Сивин aka IsleX
Сайт:MostInfo.net
E-mail:info@mostinfo.net

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

Что необходимо?

Для начала нам понадобится непосредственно сама страничка, куда мы будем вставлять меню и скрипт, который будет управлять отображением/скрытием будущего меню.

Для примера возьмем обыкновенную html страничку, с несколькими ссылками:

<HTML><HEAD><TITLE>Страница с универсальным выпадающим меню</TITLE></HEAD>
<BODY><table width=100%><tr><td align=center><a href="link1.htm">link1</a> | <a href="link2.htm">link2</a> | <a href="link3.htm">link3</a></td></tr>
<tr><td width=100%>Содержание страницы<br><br><br><br><br><br></td></tr>
</table></BODY></HTML>

Назовем получившуюся страницу 1.htm

И собственно код скрипта: <!--
function mouseOverPopup (obj) {
obj.style.backgroundColor='#74B3D3';
obj.className='';
}
function mouseOutPopup (obj) {
obj.style.backgroundColor='#fafafa'
obj.className='p_menu';
}
function MM_reloadPage(init) { if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
function MM_findObj(n, d) { var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function P7_autoLayers() { var g,b,k,f,args=P7_autoLayers.arguments;
var a = parseInt(args[0]);if(isNaN(a))a=0;
if(!document.p7setc) {p7c=new Array();document.p7setc=true;
for (var u=0;u<10;u++) {p7c[u] = new Array();}}
for(k=0; k<p7c[a].length; k++) {
if((g=MM_findObj(p7c[a][k]))!=null) {
b=(document.layers)?g:g.style;b.visibility="hidden";}}
for(k=1; k<args.length; k++) {
if((g=MM_findObj(args[k])) != null) {
b=(document.layers)?g:g.style;b.visibility="visible";f=false;
for(j=0;j<p7c[a].length;j++) {
if(args[k]==p7c[a][j]) {f=true;}}
if(!f) {p7c[a][p7c[a].length++]=args[k];}}}
}
//-->

Думаю, описание его не требуется, так как это, в принципе не главное :)

Назовем этот скрипт menu.js. После, чтобы его вызвать, следует прописать на будущей странице строку <SCRIPT language=javascript src="menu.js"></SCRIPT> сразу после тега </HEAD>

Что нужно делать дальше?

Теперь надо бы нам написать слой, внутри него - табличку, которая и будет отображаться при наведении курсора на ссылку, этим и займемся:

<div id=msa style="Z-INDEX: 9; LEFT: 400px; VISIBILITY: hidden; WIDTH: 80px; POSITION: absolute; TOP: 40px; HEIGHT: 45px">
<table width=115 border=0 bgcolor=#f1f1f1><tr><td><a href="podl1.htm">podlink_1</a></td></tr>
<tr><td><a href="podl2.htm">podlink_2</a></td></tr><tr><td><a href="podl3.htm">podlink_3</a></td></tr></table></div>

Таблица, которая находится внутри слоя (между <DIV></DIV>) изначально невидима за счет параметра VISIBILITY: hidden, и следует заметить, что у каждого такого слоя (их может быть несколько, для отображения нужного из нескольких, при наведении курсора на определенную ссылку) есть свой id. В нашем случае id=msa. Для остальных таблиц слоев писать id=msb, id=msc и т.д. в порядке возрастания по алфавиту. Теперь засовываем этот слой куда-нибудь вниз нашей страницы (лучше сразу перед тегом </BODY>).

Как же отобразить этот слой?

Чтобы отобразить нужный нам слой, следует в ссылке прописать параметр ONMOUSEOVER=P7_autoLayers(0,'msa','Closer'), где 'msa' указывает на id отображаемого слоя.

"Привяжем" к ссылке link1 наш слой:

<a href="link1.htm" ONMOUSEOVER=P7_autoLayers(0,'msa','Closer')>link1</a>

Теперь при наведении курсора мыши на link1 у нас будет появляться табличка!

А как сделать, чтобы табличка появлялась в нужном месте?

Для этого существуют параметры LEFT и TOP, которые указываются в стиле слоя. LEFT - отступ от левого края страницы, TOP - отступ от верхнего края страницы. Чтобы настроить отображение слоя в нужном месте, надо поэкспериментировать со значениями этих параметров и добиться желаемого эффекта ;) Также есть еще некоторые параметры стиля слоя: WIDTH - ширина слоя, HEIGHT - высота слоя.

Благодаря параметрам LEFT и TOP мы можем строить как горизонтальное, так и вертикальное выпадающее меню! Для этого нам необходимо просто указать нужные значения.

А как сделать, чтобы слой исчезал, когда курсор не на сссылке?

Для этого нам надо прописать новый параметр в ячейках таблицы, "окружающих" наши ссылки. Т.е. следует прописывать параметр onmouseover=P7_autoLayers(0) в теге <td> ячейки таблицы, которая находится слева/справа/сверху/снизу наших ссылок (за исключением ячейки, где собственно находятся ссылки). В итоге, при наведении курсора на ячейку, в параметрах которой прописано onmouseover=P7_autoLayers(0), слой будет исчезать! Пропишем этот параметр в нужных местах нашей страницы:

<td width=100% onmouseover=P7_autoLayers(0)>Содержание страницы<br><br><br><br><br><br></td>

Теперь, при наведении курсора на ячейку, где написано "Содержание страницы", слой, независимо какой у него id, будет исчезать!

А как сделать другие слои, чтобы они отображались при наведении курсора на другую ссылку?

Элементарно! А точней, аналогично :) Создаем новый слой с другим id:

<div id=msb style="Z-INDEX: 9; LEFT: 475px; VISIBILITY: hidden; WIDTH: 80px; POSITION: absolute; TOP: 40px; HEIGHT: 45px">
<table width=80 border=0 bgcolor=#f1f1f1><tr><td><a href="podl4.htm">podlink_4</a></td></tr>
<tr><td><a href="podl5.htm">podlink_5</a></td></tr></table></div>

И прописываем новый параметр в ссылке: <a href="link2.htm" ONMOUSEOVER=P7_autoLayers(0,'msb','Closer')>link2</a>

А если не для всех ссылок нужно подменю?

Тогда, чтобы слой, отображенный при наведении на другую ссылку, не оставался видимым кодга мы наведем курсор на ссылку, для которой подменю не требуется, следует прописать новый параметр скрытия всех слоев в свойствах этой ссылки:

<a href="link3.htm" onmouseover=P7_autoLayers(0)>link3</a>

Пример данного творения, а также его "скрипт-родитель" можно увидеть здесь.

Получившееся меню отлично работает (проверено лично!) в разных браузерах - Internet Explorer, Opera, Mozilla.

Ну вот, в принципе и усе :) Думаю, теперь проблема построения универнсального выпадающего меню отпадет! Если у Вас все же еще остались (или только возникли) какие-либо вопросы по поводу этого меню - пишите мне, отвечу на все вопросы!

Удачи в нелегком деле веб-мастера!

Сайт автора: MostInfo.net - WEB_Ежедневник РУнета.
Молодой, но уже привлекший к себе внимание проект. На сайте ежедневное обновление софта. Также много интересных статей по различным тематикам. Неплохая коллекция красивых шрифтов и просто таки огоромная база кодов к играм! Ждем Вас на Mostinfo.net >>>

Назад В начало страницы На главную страницу В конец страницы Вперед 

В конец страницы

Программы для начинающего вебстроителя

Автор:Роман Поликарпов
Сайт:WebStudent
Мыло:crystall@webstudent.net.ru

Главное в любом деле - инструмент, с которым было бы удобно работать. Для создания и поддержки сайтов тоже надо подготовить "рабочее место", чтобы потом проблем меньше возникало. Вот этим мы сейчас и займемся.

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

Редактор HTML

Во-первых, забудьте о Word. C помощью него писать код также неестественно, как подключаться к Интернет через телеграф. Он просто не предназначен для профессионального создания страниц. Код, создаваемый этим текстовым процессором, содержит много лишних тегов, переводов строки, пробелов и прочего "мусора". Не будем углубляться, просто помним, что к использованию он не пригоден.

Точно также не пригоден и приснопамятный Notepad в народе ласково именуемый Блокнотом. Да, можно в нем писать html, но вот вопрос, нужно ли? Без подсветки синтаксиса, без проверки тегов… Ну если уж так приспичило писать все ручками, то выбираем что-то блокнотоподобное типа Bred или Aditor.

Но для полного комфорта я рекомендую использовать специальный инструментарий. Что касается меня, то я совершенно случайно остановился на редакторе 1stPage. Это первое, что попалось мне под руку, содержащее все необходимые мне функции. (Код в нем пишется в основном ручками, но существует масса средств, позволяющая избавится от рутины.) Также, хороший редактор HomeSite, о нем многие говорили теплые слова, так что рекомендую ознакомится.

Любители WYSIWYG ("Что видишь, то и получаешь") выбирают FrontPage от мелко-мягких или Dreamweaver от макромедии . По их поводу долго распинаться не буду - в Сети полно материалов по каждому из них. Но помните, что используя такие вот средства визуального редактирования, вы опять же отягощаете свой код "мусором". Бытует мнение, что эти редакторы подходят новичкам, но я предпочитаю учится сразу всему "взрослому", а не терять время на всякий детский сад, чего и вам желаю. Визуальные средства больше подходят профессионалам, когда надо быстро набросать сайт для презентации клиенту. А учится вебстроительству с помощью WYSIWYG, по-моему, глупо.

Браузер (Browser)

Вообще в настоящее время имеется только три браузера, заслуживающих упоминания - это "Microsoft Internet Explorer", "Netscape Navigator" и "Opera". Для проверки внешнего вида Ваших страничек Вам придется использовать именно их. Причем на компьютере желательно иметь все три браузера (у меня стоит Microsoft Internet Explorer 6.0 и Netscape Navigator 6.0 и Opera 7.0). Нормальная (профессионально) выполненная WEB-страничка должна одинаково выглядеть в любом из браузеров. Это закон такой, если кто забыл. Хотя подгонять сайт под Оперу, к примеру, дело невеселое… Но кому сейчас легко?

FTP Менеджер (для закачивания файлов на сервер)

Total Commander v.6.3a - может и далек от совершенства, но зато привычен и удобен. Я пользуюсь именно им. Хотя на свете существует великое множество других, специальных инструментов, например CuteFTP. Тут рекомендация одна - зайти на крупный софт-архив и выбрать себе что-то по душе.

Графические пакеты

Собственно, тут выбирать особо нечего. Стандартом де факто для растровой графики признан Adobe Photoshop (ныне, насколько я знаю, последней является его седьмая реинкарнация). Именно в нем я создаю все графические элементы для сайтов. Программа обладает огромными возможностями, имеет кучу подключаемых фильтров и модулей и не так-то проста в эксплуатации. Ну чтож, такова цена уймы возможностей. Для овладевания некоторыми интересными приемами приглашаю всех в раздел "Уроки Photoshop" на моем сайте.

Для создания анимированных изображения я по старинке использую утилиту ImageReady из все того же комплекта Photoshop. Но рекомендую обратить внимание на программу Ulead GIF Animator v.5. - позволяет Вам создавать анимированные GIFы, обладает очень мощными средствами оптимизации и, в принципе, может заменять на начальном этапе всю работу с анимацией.

Для работы с векторной графикой используют Corel DRAW 11.0 или Adobe Illustrator 10 - они обе являются лидерами в своих областях… Это тоже программы "must have" для дизайнера.

Для работы с флешем используем Macromedia Flash v.6.0 - практически это стандарт для использования в Web векторных изображений, обладает собственной средой разработки и позволяет создавать отличную векторную анимацию.

Утилиты

Начнем с Adobe PageMaker (ну куда же без этого Adobe! Прям монополист...). Этот пакет представляет собой удобную штуку для профессиональной верстки, издательского дела и оформления документации. Не скажу, что программа первой надобности, но если будет возможность, заимейте.

Browser Sizer 1.03а утилита, с помощью которой можно проверить, как будет выглядеть та или иная web-страница на мониторах с различным экранным разрешением, без изменения параметров настройки монитора в Windows

Для оптимизации графики и HTML используем JPEG Optimizer, GIF Optimizer, HTML Optimizer соответственно.

Для проверки сайта на предмет "битых ссылок" (т.е неработающих) я использую утилиту Link Utility

Semonitor - это отечественная программа, разработанная для мониторинга поисковых систем. С ее помощью вы можете определять позиции своего сайта по заданным ключевым словам в таких популярных среди российских пользователей поисковиках, как Яндекс, Google, Rambler и Aport (всего же поддерживается около 20 поисковых систем со всего мира). Semonitor позволяет также вести историю вашего рейтинга, искать внешние ссылки на ваш сайт, проверять индексацию сайта в поисковых системах и многое другое. Все отчеты, создаваемые Семонитором, можно экспортировать в форматы HTML и Excel, а также распечатывать. Очень удобная и полезная вещь!

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

Назад В начало страницы На главную страницу В конец страницы Вперед 

В конец страницы

Красивый URL

Многие начинающие веб-мастера встречаются с проблемой обработки длинных адресов в строке браузера. Например, у вас есть динамическая страница, которая обрабатывает запросы на скачивание файлов, с адресом вида http://www.my-site.com.ua/cgi-bin/download/get-files.cgi. Для обработки файла нужно ввести категорию файла (к примеру, «мои файлы» — id=my-files) и название (допустим, name=My_Editor), после чего у нас получится что-то вроде http://www.my-site.com.ua/cgi-bin/download/get-files.cgi?id=my-files&name=My_Editor. Согласитесь, такой вид крайне неудобен для конечного пользователя, особенно если адрес ему приходится вводить вручную. Избежать подобных сложностей можно с помощью инструмента mod_rewrite из стандартного набора сервера Apache.

Он позволяет созданную выше конструкцию преобразовать в запись вроде http://www.my-site.com.ua/my-files/dn_pg=My_Editor. Или вот еще один пример. Допустим, вам надо вывести статистические данные о работе компании за каждый месяц. Если не использовать mod_rewrite, то страница будет иметь вид вроде http://www.my-site.com.ua/cgi-bin/statistic.cgi?year=2000?month=06. Но все это можно представить значительно проще: http://www.my-site.com.ua/stat/2000/06. Подобных примеров использования mod_rewrite можно привести уйму, поэтому не будем долго разглагольствовать о теории, а быстрее перейдем к практике.

Итак, приступим к созданию простых адресов. Для начала нужно выяснить, поддерживает ли ваш сервер mod_rewrite. Если вы пользуетесь платным хостингом, обратитесь в службу поддержки или к администратору сервера с просьбой уточнить этот момент и в случае чего добавить такую возможность. Если же вы используете бесплатный хостинг, то придется вас огорчить — наверняка у вас ничего не получится . Правда, есть и приятные исключения — «забугорные» http://hypermart.net/ и http://virtuave.net/.

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

Options ExecCGI FollowSymLinks Includes MultiViews
RewriteEngine on

Далее в каждой строке указывается правило перенаправления. Допустим, нам нужно сделать перенаправление с http://www.my-site.com.ua/cgi-bin/download/get-files.cgi?id=xxx&name=xxx на http://www.my-site.com.ua/xxx/dn_pg=xxx. Приписываем в .htaaccess такую строку:

RewriteRule ^/(.+)/dn_pg=(.+) /cgi-bin/download.cgi?id=$1&name=$2 [T=application/x-httpd-cgi,L]

Теперь давайте немного разберемся с синтаксисом построения указаний. Команда RewriteRule указывает серверу на перенаправление, ^/(.+)/dn_pg=(.+) — какой запрос перенаправлять, /cgi-bin/download.cgi?id=$1&name=$2 — реальный адрес перенаправления, наконец, [T=application/x-httpd-cgi,L] указывает на CGI/Perl-скрипт.

Теперь зададим правило для перенаправления по второму примеру:

Options ExecCGI FollowSymLinks Includes MultiViews
RewriteEngine on
RewriteRule ^stat/([0-9]+)/([0-9]+) /cgi-bin/statistic.cgi?year=$1&month=$2

Последняя строка задает формат, в данном случае цифры от 0 до 9 — ([0-9]+), — и перенаправляет каждую цифру на соответствующий адрес ($1,$2). Запись ([0-9]+) свидетельствует про обработку только цифр, то есть буквы затрагиваться не будут.

Также бывают ситуации, когда нужно сделать редирект со старой страницы на новую. Вот пример подобного сценария:

Options ExecCGI FollowSymLinks Includes MultiViews
RewriteEngine on
RewriteBase /my-files/ # задаем папку, в которой находился старый документ
RewriteRule ^old\.html$ new.html # перенаправляем со страницы old.html на new.html

Бывают такие ситуации, когда нужно, чтобы начальная страница запускалась с множеством параметров (это когда вы используете CGI- или PHP-скрипты и хотите, чтобы при первой загрузке сайта в них передавались какие-нибудь данные). Допустим, мы будем передавать данные с http://www.my-site.com.ua на http://www.my-site.com.ua/cgi-bin/index.cgi?topic=main&page=1. Чтобы организовать такой редирект, нам нужно прописать следующие строки:

Options ExecCGI FollowSymLinks Includes MultiViews
RewriteEngine on
RewriteRule ^$ /cgi-bin/index.cgi?topic=main&page=1 [T=application/x-httpd-cgi,L]

Теперь, когда пользователь набирает в строке браузера http://www.my-site.com.ua, то он перенаправится на http://www.my-site.com.ua/cgi-bin/index.cgi?topic=main&page=1, но в строке браузера по-прежнему будет значиться адрес http://www.my-site.com.ua. Если добавить в [T=application/x-httpd-cgi,L] параметр R, то перенаправление будет явным, а не скрытым.

Теперь давайте сделаем сложный перевод, например, чтобы первая страница (чаще всего это index.html) перенаправлялась на http://www.my-site.com.ua/home, а http://www.my-site.com.ua/home в свою очередь скрыто исполняла CGI-скрипт с параметрами http://www.my-site.com.ua/cgi-bin/index.cgi?topic=main&page=1. Для этого снова редактируем файл .htaccess, в котором пишем следующее:

Options ExecCGI FollowSymLinks Includes MultiViews
RewriteEngine on
RewriteRule ^$ /home [R]
RewriteRule ^index.html /home [R]
RewriteRule ^home$ /cgi-bin/index.cgi?topic=main&page=1 [T=application/x-httpd-cgi,L]
RewriteRule ^$ /home [R]

Сначала перенаправляем http://www.my-site.com.ua на home, далее index.html на тот же home (на тот случай, если кто-нибудь вздумает набрать в строке браузера http://www.my-site.com.ua/index.html) и в конце перенаправляем home на cgi-bin/index.cgi?topic=main&page=1. Хочу заметить одну важную деталь — если в строке браузера ввести http://www.my-site.com.ua/home/ (в конце добавим /), то пользователь получит ошибку. Это связано со спецификой компонента mod_rewrite. Поэтому для таких ситуаций нужно прописывать еще одну строку:

RewriteRule ^home/ /home [R]

Напоследок хочу сказать, что mod_rewrite можно использовать и для более сложных задач, например для поиска нужных файлов в разных каталогах, а также для виртуальных доменов.

P.S. Если вы неплохо владеете английским, то можете зайти на http://www.engelschall.com/pw/apache/rewriteguide, где найдете полное описание mod_rewrite.

Назад В начало страницы На главную страницу В конец страницы Вперед 

Раздел "Веб-мастеру". Веб-кодинг:

В конец страницы

Приемы сетевой обороны на PHP

Можно долго спорить, почему некоторым людям так нравиться гадить и ломать плоды трудов других людей, но так или иначе это факт, актуальный и для виртуального мира. Еще на заре зарождения домашних ПК, т.е. когда доступ к ним начали получать все желающие, началась эта чума. Был написан первый вирус, впервые взломан веб-узел... Cейчас таким уже никого не удивишь. Многие уже привыкли, время от времени видеть надписи типа "Тут был я супер-пупер хакер" и другие проявления компьютерного вандализма.

Большинство таких атак происходят в результате использования "дыр" в серверных скриптах. Именно о прикрытии этих самых лазеек для хакеров и будет рассказано в данной статье.

Итак, как было сказано, хакер может получить доступ к сайту через серверные скрипты (конечно, есть множество других возможностей, например, украсть пароль - трояном, снифером или даже нагло, с компьютера пользователя, но это уже отдельная тема). Почему именно серверные? Да потому что с клиентскими - теми, что исполняются на машине посетителя сайта, он ничего не поделает. Они не имеют никаких прав доступа к серверу, разве что могут получать от него информацию да и только, но не в коем случае, клиентские скрипты не смогут самостоятельно изменить что-то на сервере.

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

Прежде всего, хочу сказать, что представленные тут примеры не гарантируют на 100% того, что вас никто не взломает, такое просто невозможно. Всегда, даже в самых распространенных и совершенных системах есть узкие места, пример тому сенсация полугодовой давности, когда на сайтах по всему миру в запросах на всеобще признанном языке SQL (Structured Query Language - структурированный язык запросов) была найдена грубейшая ошибка, получившая название SQL Injection. Но при этом вы увидите самые частые фатальные ошибки в защите и сможете на должном уровне защитить себя от атаки не только любителя, но и профессионального хакера.

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

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

Для начала было бы неплохо ограничить длину имени и адреса e-mail. Это не только один из многочисленных методов частичной защиты, но и предохранение от шутников, которые думают что имя длиной в несколько сот символов очень забавно. Так что давайте в поле для ввода напишем, скажем, maxlength=25, например:

<input type=text name=user_email maxlength=25>

Таким способом никто не сможет ввести в данное поле более 25 символов. Однако это остановит только виртуальных вандалов-новичков ведь в адресной строке запросто можно написать что-то типа:

...guest.php?user_email=ha_ha_ha_slabaja_zashita_ha_ha_ha_tyt_bil_super_haker...

Что же, нанесем второй удар, написав в самом начале PHP скрипта примерно такое:

<?php
$user_email=$_POST['user_email'];
...

Т.е. значение переменной $user_email берем прямо из полей соответствующих значений POST массива. И так для каждой переменной. К стати, в таком случае нужно подправить и форму для отправки сообщений, явно указав метод передачи данных - method="post", например:

<form action="guest.php" method="post">

Сможет ли теперь хоть что-то сделать хакер? Сможет, сможет и несомнивайтесь.

Напомню, что при передаче данных на сервер при использовании метода POST, в отличие от метода по умолчанию - GET, данные передаются не через адресную строку в броузере, а вместе с пакетами данных, т.е. и POST можно подделать на чем угодно - начиная от стандартных программ из поставки Windows и заканчивая тем же Делфи - отослать запрос вида:

POST /guest.php HTTP/1.0
user_email=vetaki_ja_tebla_vzlomal...

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

Так что же делать? Паниковать! Нет, конечно же, шучу.

Если хакер попытается вот так нагло передать данные, мы можем остановить его следующим образом:

p><?php
$referer=getenv("HTTP_REFERER");
if (!ereg("^http://my.domain.com"))
{
echo "Hack off";
exit;
}
...

Как видите, мы проверяем, послан ли запрос с одной из наших страниц, открытых в броузере (наш домен - http://my.domain.com) если все верно - выполняем что надо, ну а если нет- выводим поздравление хакеру: "Hack off" и заканчиваем работу скрипта: exit;

Ну что, уже, ликуете? А зря. Напомню что переменная HTTP_REFERER формируется броузером посетителя, т.е. на стороне клиента (читать - хакера), а из всего этого получается, что и в ее подлинности мы не можем быть уверены. Подделать ее так же несложно, как и POST запрос.

Уже устали и не верите в свои силы против этих всемогущих хакеров? Не стоит. Враг хоть и не выдает себя, но уже окончательно устал, до данного этапа дойдут в лучшем случае 5-10% всех пытающихся. Так что, не будем разворачиваться у самого финиша, нанесем сокрушительный удар.

Всегда все верно говорят, что со стороны хакеров любая система имеет уязвимости. Но я еще ни разу почему-то не слышал чтобы говорили про обратное - ведь у любой системы есть места, где хакер уже беспомощен. Самое время применить специальное вооружение админов. А именно безысходность выполнения PHP сценария: как бы хакер не изощрялся, если стоит exit; - значит exit и точка.

Итак, допустим нам попался такой редкий хакер, что прорвался сквозь всю нашу предыдущую линию обороны и может спокойно посылать серверу переменные любой нужной длины, откуда хочет. Ну и пусть, а мы добавим сразу после проверки HTTP_REFERER и присвоения значения из массива (например, с POST) жесткую урезку строки:

$user_email=substr($user_email,0,25);

Теперь мы имеем переменную $user_email длиной в 25 символов (если ее исходная была больше, остальные ее символы были отброшены) и не один хакер не в силах этого поменять.

Так, но 25 символов все еще представляют опасность. Разумеется, только в том случае, если это вредоносные инструкции хакера, пожалуй, следует через дефис написать -неудачника, так как дальше мы их профильтруем и удалим/заменим спецсимволы или же вовсе заблокируем.

Какие символы следует блокировать? Это зависит от поля, например, в имени это могут быть все, кроме букв из алфавита, пробела, цифр, ну и пусть знака _ т.е. нам следует поступить, например, так:

...
if (preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/",$user_name))
{
echo "В имени есть запрещенные символы...";
exit;
}

Теперь имена в гостевой будут чистенькими и ровненькими.

Для адреса электронной почты следует разрешить собаку @ и точку, а пробелы и русские буквы запретить.

Для тела сообщения также < следует менять на &lt;, а > на &gt; например, так:

$message=ereg_replace("<","&lt;",$message);
$message=ereg_replace(">","&gt;",$message);

А знаки переноса строки на тег переноса <br>:

$message=ereg_replace("(\r\n|\n|\r)","<br>",$message);

Можно использовать и специальные функции PHP - htmlspecialchars(), nl2br() и другие, в общем, думаю, сами разберетесь, а то от темы уходим (а если не разберетесь - мыльте).

Также может быть уместна проверка на пустые сообщение или имя пользователя. Ее можно осуществить как стандартной функцией empty() так и просто проверив, не равна ли переменная "" например:

if (empty($message))
{
echo "Пустое сообщение оставлять не стоит";
exit;
}

или вот так:

if ($message=="")
{
echo "Пустое сообщение оставлять не стоит";
exit;
}

В общем, дело вкуса. Также, можно не просто выводить такие сообщения типа "Пустое сообщение оставлять не стоит" или "Hack off" можно и сохранять в файле на сервере/пересылать себе на почту IP адрес хулигана, явно получить его можно так:

$RIP=$GLOBALS['REMOTE_ADDR'];

Таким способом будет возможность и вычислить неудачника-взломщика или, скажем, ограничить попытки, не давая в сутки более, например 2 раз оставлять сообщения в гостевой книге. Но я бы не стал так делать. Причин много - начиная от прокси серверов (хотя можно без проблем обойти их и узнать реальный IP) и заканчивая тем, что диал-ап до сих пор господствует на просторах СНГ. К тому же вышеперечисленных мер защиты вполне достаточно, причем не только для гостевой книги.

Напоследок хочу обратить ваше внимание на честных пользователей, а ведь их более 99.99% из общего количества посетителей и из-за каких-то хакеров они недолжны страдать. О чем я говорю? Например, человек не знал, что мы запретили некоторые символы в имени и написал в поле имени что-то типа [NickName], а далее очень-очень долго писал слова благодарности или еще чего и в результате мы его грубо остановили, сказав, что имя не годится, возвращайся и делай все заново. Как вы думаете, он вернется? Возможно и вернется, но уже совсем с другими словами.

Что же делать? Писать возле каждой строки для ввода, что можно вводить, а что нет? Несерьезно. Можно, например, вместо блокировки таких имен, просто удалять заблокированные символы. Но я не думаю что и это лучший путь.

Лучше всего заранее предупредить пользователя о ошибке, еще до того как он отправит все на сервер. Как? С этой задачей с легкостью справляются клиентские скрипты, например технология JavaScript. Стоит лишь перед отправкой проверить введенные данные, в случае обнаружения ошибки, вывести соответствующее сообщение и попросить пользователя исправить ошибку. Вот как это можно реализовать для проверки корректности адреса почты:

<script language="JavaScript">
function checK(f) {
if (f.email.value=='') { alert("Укажите адрес почты."); f.email.focus(); return false }
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(f.email.value)) { return true }
alert('Неверный адрес почты.\nПопробуйте еще раз.'); f.email.select()
return false
}
</script>

<form name=f action="guest.php" method="post" onSubmit="return checK(this)">
<input type="text" name="email" value="введите ваш e-mail" onfocus="if (this.select) this.select()" onclick="if (this.select) this.select()" size=28>
<input type="submit" name="subscribe" value="Ок">
</form>

Как вы видите, после клика на кнопку Ок, данные, перед передачей скрипту guest.php, проверяются функцией checK, если введенный адрес пуст или содержит запрещенные знаки, пользователь получит сообщение: "Укажите адрес почты." или "Неверный адрес почты.\n Попробуйте еще раз." соответственно (\n - перенос строки) при этом обратите внимание, что сообщения будут в окне: alert() и никакой перезагрузки страницы даже и не произойдет: return false , а курсор выделит ошибочный ввод: f.email.focus(); или же f.email.select() что очень удобно для пользователя, особенно если на странице поле для ввода не одно.

Вы еще тут? Так и знал, уже побежали за компы защищать свои творения и дорабатывать юзабилити. Ну что же, мне остается лишь сказать, что в ближайшее время вы сможете прочитать в МК некое продолжение данной статьи в котором я опишу всевозможные виды авторизации пользователей, отслеживания сеанса и другие интереснейшие и полезные вещи. Если есть вопросы - смело пишите. До скорых встреч.

Назад В начало страницы На главную страницу В конец страницы Вперед 

В конец страницы

Parser3 - сравнительный обзор

Автор:Евгений
Сайт:WebStudent
Мыло:admin@klesh.com

Итак, что же такое Parser3? В этой статье я буду исходить из ситуации, в которой сам оказался около года назад, т.е. когда название Parser3 было для меня совершенно незнакомым, и буду отталкиваться от сравнения Парсера с его главным конкурентом - языком PHP.

Начнём сначала.

Парсер был создан в крупнейшей Российской студии web-дизайна - студией Артемия Лебедева, и позиционируется как язык скриптования сайтов. Инструмент позволяющий непрограммисту быстро и удобно создавать полнофункциональные динамические сайты.

Действительно, до этого некоторое время изучав PHP и Perl, я был приятно удивлен с какой простотой получилось в первый же день написать несложный динамический сайт, PHP-эквивалент которого был весьма более громоздким. Следующие пару месяцев я упорно занимался тем, что искал ту грань, где возможностей Парсера перестанет хватать и я спокойно продолжу изучать PHP. Были написаны галерея фотографий, мини-аналог Hotlog'а, предоставляющий пользователям графические счетчики посещений, форум, интернет-магазин. После написания поискового паука я наконец-то сдался и признал своё поражение в борьбе с Парсером.

Основные принципы.

Операторы языка Парсер, также как и в PHP вставляются прямо в html файлы, но есть принципиальное отличие, в котором, я считаю, победил Парсер. К примеру, чтобы вставить код на PHP в html файл надо проделать примерно следующее:

<b>Здесь идёт код на PHP.</b>Дважды два будет:
<?php
$a = 2 * 2;
echo $a;
?>
<i>Всё.</i>

Пример отвратительный, но рабочий. Сравните код на Парсере:

<b>Здесь идёт код на Парсере.</b>Дважды два будет: ^eval(2*2) <i>Всё.</i>

Парсер, по сути, является макроязыком, здесь вы не найдёте операторов print или echo и такая важная возможность, как шаблонизация сайтов изначально встроена в Парсер, против использования сторонних библиотек в PHP.

Следующей очевидно порадовавшей особенностью Парсера была легкочитаемость и простота синтаксиса, гораздо менее требовательного, против Си-подобных конструкция языков PHP и Perl. Т.е. вот такая сентенция не вызывает возражений Парсера:

<b>Ваш ip:</b> $env:REMOTE_ADDR^if(def
$env:HTTP_X_FORWARDED_FOR){/$env:HTTP_X_FORWARDED_FOR}

..тогда как в PHP при не закрытой точкой с запятой строке мы уже получим ошибку.

Ещё более приятные возможности Парсера я открыл после прочтения нескольких статей по безопасному программированию на PHP. Не секрет, что неопытному программисту поначалу довольно сложно контролировать ненадежные данные, т.е. данные пришедшие от пользователя, через форму или другим способом. Примерно до тех пор пока какая-нибудь добрая душа добавит тэг </table> в только что написанную гостевую книгу, или добавит пару кавычек в форму ведущую к sql-запросу, которые безнадежно поломают весь дизайн. Чтобы избежать этого, в PHP применяются специальные функции преобразования и проверки данных, такие как addslashes(), stripslashes(), doubleval() и т.д.

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

Ещё несколько великолепных возможностей открылись мне, когда я начал пробовать работать с базами данных.

Во-первых, Парсер имеет единый интерфейс для работы с разными серверами баз данных, таких как MySQL, Oracle, PgSQL, OBDC и прочих, тогда как в PHP используются свои наборы функций для каждого сервера.

Во-вторых, одной из удобнейших возможностей является наличие системного типа table (таблица). Вспомните работу с MySQL в PHP:

<?
@ $db = mysql_pconnect("localhost", "user", "password");
mysql_select_db("dbase");
$query = "select * from tbl";
$result = mysql_query($query);
$num_res = mysql_num_rows($result);
echo "<p>Количество записей: ".$num_res."</p>";
for ($I=0; $I <$num_res; $I++)
{
$row = mysql_fetch_array($result);
echo "<p>".($I+1).". Title: ";
echo htmlspecialchars( stripsplashes($row["title"]));
echo "</p>";
}
?>

Теперь то же самое на Парсере:

^connect[mysql://user:password@localhost/tbl]{
$tbl[^table::sql{select * from tbl}]
}
<p>Количество записей: ^tbl.count[] </p>
^table.menu{
<p>^tbl.offset[] Title: $tbl.title</p>
}

15 строк кода и 6 переменных на PHP, против 7-ми строк и 1 (одной!) переменной на Парсере. Это достигается за счет того, что системный тип table в Парсере содержит в себе результаты обработки запроса, в виде двухмерной таблицы, именно такой, как она содержится в БД, а PHP возвращает указатель на данные, и их приходится перебирать построчно.

Я не буду дальше углубляться в подробности, просто перечислю ещё некоторые возможности:

  • Встроенная поддержка UTF-8;
  • Полностью поддерживаются принципы объектно-ориентированного программирования;
  • Поддержка XML и XSL удобно реализована, сравнимо с реализацией работы с БД;
  • Встроенные функции кэширования;
  • Удобно реализована работа с т.н. ассоциативными массивами;
  • Поддерживаются т.н. "Perl-совместимые регулярные выражения" предоставляющие мощнейшие возможности по обработке строк;

Немного о возможностях установки Парсера.

Парсер поставляется в вариантах CGI скрипта и модулей для серверов Apache и IIS для ОС Win32, FreeBSD, RedHat, а также в исходных кодах. Т.е. поддерживается подавляющим большинством хостингов и устанавливается буквально за 5 минут.

Парсер поддерживает вызов внешних скриптов из своего кода, т.е. если у вас есть скрипт например на Perl, вы можете запустить его и вывести результаты его работы.

О недостатках Парсера.

Естественно, чтобы не показаться предвзятым я должен рассказать и о некоторых недостатках Парсера. Возможно здесь приведены не все недостатки, но эти я испытал на собственной шкуре:

  • Не поддерживается низкоуровневый доступ к файлам. Хотя мне этой возможности нехватало только при написании индексирующего поискового паука;
  • Не совсем полностью (пока) реализована встроенная работа с изображениями. Но эта возможность полностью и довольно просто реализуется при использовании сторонних библиотек, таких как ImageMagick. Мне это понадобилось при автоматического изменения размера изображения (предпросмотр) в галерее фотографий.

Будущее и перспективы технологии.

Моё личное и субъективное мнение я думаю вы уже поняли. Я считаю, что будущее за Парсером. По заявлению Студии Артемия Лебедева - Парсер используется в подавляющем большинстве проектов разрабатываемых крупнейшей в России студией web-дизайна, в чём можно убедиться зайдя в раздел "Парсер в действии" сайта http://www.parser.ru, содержащий ссылки на около сотни сайтов, включая таких гигантов как сайты компании МТС и сайты "Альфа-Банка".

Что надо, чтобы начать?

Самый простой путь для того чтобы попробовать Парсер в действии, это скачать и установить "Джентельменский набор Вэб-Разработчика Денвер". Он включает в себя вэб-сервер Апач, полную версию Парсера, MySQL, PHP с PhpMyAdmin'ом, интерпретатор Perl, sendmail и настраивается полностью автоматически. Но это уже совсем другая история...

Назад В начало страницы На главную страницу В конец страницы Вперед 

Раздел "Веб-мастеру". Раскрутка:

В конец страницы

Обмен ссылками и кнопками

Автор:Алексей Сивин aka IsleX
Сайт:MostInfo.net
E-mail:info@mostinfo.net

Данная рубрика создана для помощи веб-мастерам. Здесь публикуются объявления по поводу обмена ссылками/кнопками. Если вы хотите опубликовать свое объявление - заполните специальную форму, находящуюся на сайте mostinfo.net, и ваше объявление будет опубликовано не только в ближайшем номере Эбаута, но и на mostinfo.net и в рассылках этого сайта.

Название: ALLICQ-ВСЕ об ICQ
Описание: ICQ - Все об ICQ, защита, взлом Аси, Халявные ICQ UIN'ы, ICQ soft, настройка Аси, установка ICQ, работа с ICQ, ICQ UINs sale, proxy и многое другое
Посещаемость: ~ 40 чел. в день
Условия обмена: страница ссылок -не важно
Контактное лицо: Eugene 



Название: Все для вебмастера!
Описание: Информаионный портал для вебмастеров. Новости, статьи по вебстроительству, раскрутке и хостингу, каталог лучшего софта.
Посещаемость: 200 чел в день
Условия обмена: обмен на главнй страницах или на всех. Отбор партнеров.
Контактное лицо: Роман 


Название: TUMIN.NET - Портал для web-мастера и не только!
Описание: Ежедневное обновление, много программ, игр, фильмов, статей, скриптов, шаблонов и многого другого!
Посещаемость: 750-900 чел. в день
Условия обмена: На всех страницах
Контактное лицо: Валерий 


Название: Минское ВИЗРУ ПВО, факультет АСУ
Описание: Сайт выпускников факультета АСУ Минского ВИЗРУ ПВО, 1986 года
Посещаемость: 5-10чел. в день
Условия обмена: страница ссылок -
Контактное лицо: Юрий 


Название: Все о Macromedia Dreamweaver
Описание: В помощь всем веб-дизайнерам. Описание, обучение, помощь, форум, рейтинг - максимум информации о Macromedia Dreamweaver
Посещаемость: 100 чел. в день
Условия обмена: страница ссылок - http://dreamweaver.h10.ru/catalog/
Контактное лицо: Yura 


Название: Imaginations - Cool Wallpapers
Описание: Качественные обои и векторные логотипы. Вас ждет мир фантазии, поражающий воображение своей красотой и близостью. Причудливые картины природы, совершенство человеческого тела, дизайн суперсовременной техники
Посещаемость: 130чел. в день
Условия обмена: страница ссылок -
Контактное лицо: Юрий 


Название: Динамо Москва
Описание: Все о ФК Динамо Москва: новости, интервью, отчеты.
Посещаемость: 400чел. в день
Условия обмена: страница ссылок -
Контактное лицо: Игорь 


Название: Знакомства на сайте ZNAKOMKA.RU
Описание: Хочешь найти свою половинку, горячего поклонника, пылкую подружку, партнера для секса, брака? Тогда тебе сюда. Множество анкет с фотографиями, удобная система поиска, быстрая загрузка, возможность добавить свою анкету.
Посещаемость: 200-300 чел. в день
Условия обмена: http://znakomka.ru/link/index.php
Контактное лицо: Станислав 


Название: Инфоцентр UBA.RU
Описание: Сайт для бухгалтеров, юристов, финансистов и топ-менеджеров. Законодательство, пресса, семинары и многое другое
Посещаемость: 1000 - 1500 чел. в день
Условия обмена: страница ссылок -
Контактное лицо: Марина 


Название: WindowsXP.Оптимизация и настройка.1000 вопросов и ответов.
Описание: Оптимизация и настройка WindowsXP.Все о Реестре Windows.Вопросы и ответы.Статьи и полезные программы. Много другой полезной информации.
Посещаемость: 150-200 чел. в день
Условия обмена: страница ссылок -
Контактное лицо: Vladimir 


Название: All-Win.Ru
Описание: На сайте вы найдете: более 200 советов, около 200 статей на темы Windows 9x/Me/NT/2000/XP/2003
Посещаемость: 1500-2200 чел. в день
Условия обмена: Сайт с такой же посещаемостью, можно меньше, но на других условиях, которые обговариваются по e-mail
Контактное лицо: Гуйдя Сергей 


Название: PC4ever
Описание: PC4ever - это сайт о компьютерах. Статьи, журнал, книги, новости, программы и многое другое...
Посещаемость: 35-300 чел. в день
Условия обмена: Сайты схожей тематики, посещение не ниже 20-30
Контактное лицо: Дмитрий Неумывайченко Aka Wood_Elf 


Название: Вологодский информационный центр
Описание: Новости Вологды и Вологодской области
Посещаемость: 200-300 чел. в день
Условия обмена: Обязательное размещение ссылки на наш ресурс
Контактное лицо: Andrey 


Название: Анапа - санаторий Кубань
Описание: Анапа - отдых и оздоровление. Многопрофильный санаторий. Диагностика и лечение. Автоматическое добавление при условии размещения обратной ссылки http://sanatorium.org.ru/cgi-bin/post.cgi код ссылки там же
Посещаемость: 50 чел. в день
Условия обмена: Медицинские, туристические, рекламма сопутствующих товаров и услуг (туризм, медицина, косметология и т.п.). Расписания транспорт. Личные странички - рассказы о путешествиях. Софт для медицины...
Контактное лицо: Luba 


Название: Браво-Тур - до отдыха остался один клик!
Описание: Интересные предложения во все уголки мира. Индивидуальные и групповые туры по доступным ценам. VIP подход к каждому клиенту
Посещаемость: 50-100 чел. в день
Условия обмена: на сайте работает система автоматического обмена ссылками
Контактное лицо: Евгений 


Название: Компания "Разнотех"
Описание: Поставщик оборудования для кондиционирования и обогрева от ведущих мировых производителей.Выгодные условия работы для дилеров, оптимальные сроки поставки, тех. и информ. поддержка, совместные рекламные акции
Посещаемость: 30 чел. в день, тИЦ 375
Условия обмена: Взаимообмен
Контактное лицо: Ольга 


Название: Недвижимость. Вся Россия.
Описание: Покупка, продажа, аренда, сдача недвижимости по всей России! Специальное предложение для агентств недвижимости! Доска объявлений
Посещаемость: 30-40 чел. в день
Условия обмена: обязательна прямая ссылка на наш ресурс
Контактное лицо: Andrey 


Название: Переворот!
Описание: В данный момент основной темой сайта является английский язык и все, что с ним связано. Также на сайте присутствует большая коллекция афоризмов и авторские сочинения по литературе
Посещаемость: ок 100 чел. в день
Условия обмена: Сходая тематика, посещаемость не менее 70 в день
Контактное лицо: Екатерина 


Название: Раскрутка: все аспекты
Описание: Продвижение сайта в сети Интернет. Раскрутка сайта в поисковых системах и каталогах. Статьи и рекомендации веб мастеров мира. Маркетинг и реклама в сети Интернет. Нестандартные методы раскрутки
Посещаемость: 40 чел. в день
Условия обмена: Желательно с тематекой Web-дизайн
Контактное лицо: Шимченко Игорь 


Название: Offshore Corporations House
Описание: Регистрация оффшорных компаний и открытие банковских и брокерских счетов
Посещаемость: 50-100 чел. в день
Условия обмена: Только Прямые ссылки или кнопки. Ваш сайт ОБЯЗАТЕЛЬНО должен быть в каталоге Апорта ИЛИ Яндекса. Страница для обмена http://www.offshore-companies.co.uk/rus/interesting/obmen/
Контактное лицо: Мария Светлова 


Название: ООО Призма - проектирование и изготовление оборудования
Описание: ООО Призма - проектирование и изготовление оборудования : 1.Вакуумное оборудование 2.Водоочистное оборудование 3.Оборудование для очистки газов 4.Спецтехнологическое оборудование 5.Экологическое оборудование
Посещаемость: около 100 чел. в день
Условия обмена: Промышленные сайты
Контактное лицо: Елистратов Михаил 


Название: PULT.RU – популярный Интернет магазин аудио-видео, HI-FI и HI-END техники
Описание: PULT.RU – популярный Интернет магазин аудио-видео, HI-FI и HI-END техники, оборудования для домашнего кинотеатра. Профессиональная консультация, статьи и обзоры по выбору аудио и видео техники
Посещаемость: 1500 чел. в день
Условия обмена: любые
Контактное лицо: Галкин Евгений 


Название: RusCable.Ru – Единый Кабельный Центр
Описание: Полный спектр информации по кабельно-проводниковой тематике. Крупнейший кабельный ресурс СНГ и стран Балтии
Посещаемость: 1500-2000 чел. в день
Условия обмена: юбые сайты кроме порно и т.п. извращений
Контактное лицо: Марина 


Название: Найди Делового Партнера!
Описание: Вам нужны Деловые Партнеры:- Дилеры, Агенты, Дистрибьютеры, Представители, Оптовики для ваших товаров, услуг;- Поставщики, Партнеры с идеями или для продвижения ваших и т.д.;- Инвесторы в перспективный проект
Посещаемость: 100-200 чел. в день
Условия обмена: текстовыми ссылками с сайтами на деловую тематику
Контактное лицо: Ирина 


Название: Дизайн студия Scriptic
Описание: Создание сайтов любой сложности, разработка Интернет-магазинов, программиование, поддержка и обновление сайтов, оптимизация сайтов в поисковых системах. Создание баннеров, flash заставок, иконок
Посещаемость: 20-30 чел. в день
Условия обмена: Только бизнес сайты
Контактное лицо: Lidia 


Название: Электронные курсы "Как заработать в Интернете"
Описание: Электронные курсы "Как заработать в интернете" производят набор студентов.Курсы предназначены для начинающих пользователей сети Интернет и снабжены практическими занятиями, учебными материалами
Посещаемость: 100 чел. в день
Условия обмена: по договоренности
Контактное лицо: Дмитрий Владимирович 


Название: Аватары, Коллекция Аватаров - Avatar2K
Описание: Аватары, большая коллекция содержащая около 3000 аватар и еженедельно пополняется новыми аватарми
Посещаемость: 100 чел. в день
Условия обмена: Взамен размещения вашей ссылки на мойм сайте в каталоге вашего сайта. Непредлогать!
Контактное лицо: admin 


Название: Предприятие Новые технологии
Описание: Производство и поставка электротехнической продукции
Посещаемость: 50-150 чел. в день
Условия обмена: тИЦ=>10
Контактное лицо: самаков Евгений 


Название: Алга Компрессор
Описание: сайт предприятия-производителя компрессоров
Посещаемость: 20-50 чел. в день
Условия обмена: ---
Контактное лицо: Dmitry 


Название: детские товары
Описание: Кровати, коляски, манежи, стульчики, ходунки от ведущих производителей
Посещаемость: 200-300 чел. в день
Условия обмена: ---
Контактное лицо: Артур 


Название: Каталог программ Soft-info.ru
Описание: Каталог програмного обеспечения. ИЦ=30
Посещаемость: 1000-1200 чел. в день
Условия обмена: В каталог ссылок принимаются любые сайты, в раздел друзья- сайты с ИЦ>50 или PR>=5
Контактное лицо: Матвеев Александр 


Название: Softinka
Описание: Бесплатные компьютерные программы! Crack,Soft,Варез,Игры икоды к ним,мобильники,свежие драверы...
Посещаемость: 50-200 чел. в день
Условия обмена: Желательно сходная тематика
Контактное лицо: Valery 


Название: TIMEKILLER
Описание: TIMEKILLER the portal - убей свое время!
Посещаемость: 100 чел. в день
Условия обмена: любые развлекательные сайты кроме порно
Контактное лицо: Serge AV 


Название: Кросс-вопрос
Описание: Интеллектуальные игры каждую минуту.Подведение результатов в каждой игре.Проект " Это интересно" Интересные рассылки
Посещаемость: 200-400 чел. в день
Условия обмена: Без порнографии и домашних страниц
Контактное лицо: Василий

Назад В начало страницы На главную страницу В конец страницы Вперед 

В конец страницы

Как привлечь посетителя на ваш сайт

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

И так, где же взять посетителей? Для начала, нужно определить, как пользователи Интернет бороздят его просторы. Существует несколько мест, с которых начинает свой серфинг пользователь Интернета:

1. Поисковые машины. Они дают наибольший поток посетителей на ваш сайт. Пользователи заходят на поисковики, чтобы найти для себя нужную информацию.

2. Каталоги. В каталогах пользователи ищут узкоспециализированную или локальную информацию.

3. Избранное. Если посетителю нравиться ваш сайт, он заносит его в избранное, чтобы не искать его в следующий раз в поисковых машинах и каталогах.

4. Дружественные сайты. Все сайты, с которыми вы обменялись ссылками, считаются дружественными. При продуманном расположении ссылки и описании обмен ссылками может дать ощутимый трафик посетителей на ваш сайт.

5. Все остальные сайты. Хорошо продуманная баннерная реклама, удачная партнерская программа, хорошо написанная статья может дать качественный трафик посетителей на ваш сайт.

6. Оффлайн реклама. Реклама в прессе, на радио и телевидении, в общественном транспорте и в других рекламных местах.

7. Электронная почта.

Поисковые машины.

Самый большой приток посетителей на сайты дают поисковые машины, поэтому следует отбить этот приток у конкурентов и направить посетителей на свой сайт. Этого можно добиться только одним способом, если по нужному запросу ваш сайт будет выше конкурентов. Как это сделать? Сделать это можно одним способом, который состоит из двух частей.

Первая часть: добиться, чтобы ключевое слово встречалось на странице как можно больше раз. Вторая часть: обменяться ссылками как можно с большим количеством сайтов схожей тематики (не конкурентов).

Нижеприведенные методы являются не всегда чистыми, использовать их или не использовать решать вам:

1. Составляем название сайта:
а) с вкраплением в него ключевых слов.
б) исключительно из ключевых слов (10-200), а посетителю сайта показывать краткое название сайта.

Как сделать название сайта исключительно из ключевых слов? Между тегами вписать ключевые слова, а внутри странички вставить скрипт:
<SCRIPT language=javascript> //<!-- window.top.document.title="краткое название сайта"; //--> </SCRIPT>

2. Заполняем страницу ключевыми словами. В альтернативной подписи к рисунку обязательно вставляйте нужные вам ключевые слова: <img src="ваша картинка" border="0" width="468" height="60" alt="ваши ключевые слова">

3. Некоторые пишут ключевые слова вначале и/или в конце страницы мелким нечитаемым шрифтом. Бывает наказуемо поисковыми машинами.

4. Некоторые пишут ключевые слова цветом фона страницы, делает слова нечитаемыми для посетителя и читаемыми для поисковой машины. Бывает наказуемо поисковыми машинами. Можно написать ключевые слова близким к цвету фона страницы, или писать их внутри таблицы цветом фона таблицы, а не цветом фона страницы.

Мой совет: не используйте ключевые слова, которые не соответствуют тематике вашего сайта.

Каталоги

На счет каталогов, скажу, что в них нужно регистрироваться вручную. Выбрать наиболее нужные к вашему сайту ключевые слова. Придумать красивое и захватывающее описание страницы.

Почему нужно регистрироваться вручную? Чтобы быть уверенным, что сайт зарегистрировался, так как вам нужно и в той категории, где нужно.

Мой совет: избегайте фраз "самый лучший сайт", "заходи не пожалеешь", "вам нужно сюда зайти" и в том же духе.

Дружественные сайты.

Что касается дружественных сайтов, посмотрите какие сайты ссылаются на ваших конкурентов. Зайдите на эти сайты и поговорите об обмене ссылками с их владельцами. Также, можно договориться на взаимовыгодных условиях об исчезновении ссылки вашего конкурента с сайта или о позициях ссылок на ваш сайт и на ваших конкурентов. Также, сами ищите близкие по направленности сайты и обменивайтесь с ними ссылками.

Ошибочные точки зрения:
1. Некоторые думают, что страница с ссылками может быстро разрастись до огромных размеров и - это будет плохо. Я скажу, что теперь посетители будут заходить из-за качественно подобранного каталога ссылок. В настоящее время хорошо подобранный каталог узкой тематики, пользуется большим спросом среди профессионалов.

2. Состоит в том, что посетитель перейдет по ссылке на другой сайт и там уже останется. Чтобы не допустить этого, оформляйте ссылку следующим образом: <a href=https://library.by/index.php?ссылка на дружественный сайт target=_blank> Описание ссылки.</a>. Благодаря этому страница дружественного сайта будет открываться в новом окне.

Подберите к своей ссылке собственное описание с вкраплением в него ключевых слов, и требуйте от дружественных сайтов, чтобы они использовали ваше описание ссылки.

Мой совет: всегда описывайте ссылки на другие сайт, так, чтобы они открывались в новом окне.

Про партнерские программы смотрите здесь.
Про электронную почту смотрите здесь.
Про баннерную рекламу смотрите здесь.

Как можно удержать посетителей на сайте?

Чтобы удержать посетителя на сайте нужно, чтобы он на него попал, а не потерялся по дороге. Несколько причин, по которым пользователь Интернета не станет вашим посетителем:

1. Он не может дождаться загрузки вашей страницы. Ваша страница так перегружена графикой: картинками, баннерами, фотографии и т. д., что проходить значительное время перед тем, как ваша страница будет полностью загружена. Вам нужно срочно что-то предпринять: оптимизировать графику, убрать некоторые баннеры, в некоторых местах заменить графику текстом.

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

3. Пользователь не может попасть на вашу страницу. Ссылка сделанная на ваш сайт или вашу страницу содержала ошибку в адресе. Это может негативно сказаться на посещаемости вашего сайта.

И так, мы выполнили переход пользователя Интернета в посетителя вашего сайта. К вам на сайт заходит посетитель, и ужас что он видит, а видит он … ваш сайт. Ничего сейчас быстро подправим.

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

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

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

Если у вас на сайте всего лишь пара страниц, то о хорошей посещаемости нечего и говорить (замечание не относится к сайтам-визиткам). Постарайтесь, как можно максимально заполнить полезной информацией ваш сайт.

Где брать информацию?

1. Самому писать ее, если можете.

2. Если не можете, то наймите людей, которые напишут качественный контент для вашего сайта.

3. Если вас не устраивают два предыдущих варианта, то можно собирать информацию по крупицам в Интернете, оставляя источник информации.

Мой совет: не крадите статьи. Обязательно оставляйте источник и автора.

Если у вас все же остались какие-то недочеты, но вашему глазу они не видны, могу посоветовать два выхода:

1. Походить по хорошо посещаемым форумам для вебдизайнеров и в разделе "разборка сайтов" оставить ссылку на свой сайт. К критике нужно отнестись спокойно, не кричать: "попробуйте сами сделать!", а потихоньку исправлять недочеты.

2. Приобрести пару книг в разделе Книги и полностью проштудировать их.

Посетите пожалуйста каталог товаров и услуг wmz-shop.com.ua (сайт автора).

Назад В начало страницы На главную страницу В конец страницы Вперед 

Раздел "Веб-мастеру". Новости:

В конец страницы

РосНИИРОС оставляет свои функции

Автор:Лев Крыленков
Сайт:4user

Осталось менее года до того момента, когда 1 января 2005 года РосНИИРОС перестанет быть связанным договорными обязательствами "О регистрации и технической поддержке доменов второго уровня в зоне .RU".

Подобные договора РосНИИРОС перестал заключать еще в мае 2001 года. В настоящий момент регистраций доменов в зоне RU занимается организация под названием RU-CENTER - "Региональный Сетевой Информационный Центр". До определенного момента RU-CENTER был лишь представителем РосНИИРОС в вопросах регистрации доменов.

В настоящий момент в RU-CENTER можно заключать договора и на управление доменами.

За РосНИИРОС останутся лишь функции технического сопровождения системы регистрации и DNS-серверов зоны .ru, а также регистрация и техническая поддержка доменов третьего уровня в доменах общего пользования org.ru, net.ru, pp.ru, com.ru.

Тем, кто заключал договора еще с РосНИИРОС, необходимо до конца этого года передать свои домены в управление любой другой компании.

Назад В начало страницы На главную страницу В конец страницы Вперед 

 
design: ФуксЪ, Solmex 
Реклама в журнале


@ portalus.ru