Создание сайта для ОАО усмань табак
Автор: Пользователь скрыл имя, 10 Января 2012 в 22:18, дипломная работа
Описание работы
Бурное развитие информационных технологий и совершенствование компьютерной техники привело к глобальной интеграции их во все сферы человеческой деятельности. Не является исключением и сфера торговли.
В настоящее время очень велико разнообразие товаров и услуг в Internet. Для того, что бы организовать рекламную компанию в Internet, фирме необходимо иметь Web-страницу, где потенциальные клиенты смогли бы ознакомиться с фирмой, и узнать чем она занимается, интересны ли им предложения данной фирмы, задать (через форму обратной связи) интересующие их вопросы и т.д.
Цель данной работы является создание Web-сайта для компании ОАО «Усмань-табак». Необходимостью создания сайта ОАО «Усмань-табак» является, прежде всего, реклама продукции и услуг, которые предлагает данное предприятие. Интерактивная реклама – новый способ предложить товары и услуги потребителю. Интернет же являет собой наиболее динамично развивающуюся среду вещания. За последние пять лет кол-во пользователей сети Internet в России выросло в десятки раз, и на сегодняшний момент достигло 571 миллионов человек.
Работа содержит 1 файл
Диплом усмань-табак.doc
— 1,008.00 Кб (Скачать)}
При нажатии пользователем кнопки «Выход» (рис. 3.2), модуль получает от пользователя форму, с именем “action” и значением “exit”, производит завершение сеанса пользователя с очисткой cookies – процедура cookies_del и таблицы БД “Sessions” – процедура exit_session (см. листинг 3.8).
Листинг 3.8.
##############################
#
Удаляем Cookie
sub cookie_del(){
print "Set-Cookie:
$Session_id=; domain=$Domain_login; path=/;
}
##############################
#
Завершаем сессию
# exit_session($sid);
sub exit_session($){
my $id=esc_txt shift;
my $query="SELECT
user,addr,ctime,atime FROM Sessions WHERE id='$id'";
my $res=$::db->prepare($query);
$res->execute() or die "Error
$::DBI::err \"$::DBI::errstr\".";
my($user,$addr,$ctime,$atime)=
$res->finish();
if(defined($user)){
$::db->do(
or die "Error
$::DBI::err \"$::DBI::errstr\".";
$::db->do("UPDATE User SET laddr='$addr',
ltime=$atime,
stime=(stime+$atime-$ctime+10) WHERE user='$user'")
or die "Error
$::DBI::err \"$::DBI::errstr\".";
}
}
##############################
Во
время каждого обращения
Листинг 3.9.
$::db->do("DELETE FROM Sessions WHERE UNIX_TIMESTAMP()>etime");
Защита от брутфорса (метод «грубой силы» от англ. brute force) позволяет избежать подбора пароля по словарю или методом перебора. Идея защиты заключается в том, что пользователю дается определенное число попыток на ввод пароля. При каждом неправильном вводе пароля, в таблицах ‘IPBlock’ и ‘UserBlock’ нашей БД, срабатывает счетчик. При превышении счетчика заданного уровня (для каждой таблице свой), модуль авторизации перестает проверять соответствие паролей, выводя сообщение о блокировки. При этом значение блокировки логина пользователя должно стоять как минимум в 2,5 раза выше, чем блокировка по IP, т.е. атакуемый логин блокируется только тогда, когда “атака” идет с нескольких IP-адресов (к примеру, через анонимные proxy-серверы). Реализуется все относительно просто, добавляем проверку на блокировку перед авторизацией и увеличиваем счетчики блокировок если авторизация не удалась (см. листинг 3.10).
Листинг 3.10.
my $qBaddr="SELECT
etime,count,blocked,reason FROM IPBlock WHERE addr='$ENV{REMOTE_ADDR}'
AND UNIX_TIMESTAMP()<etime";
my $qBuser="SELECT
etime,count,blocked,reason FROM UserBlock WHERE user='$user' AND UNIX_TIMESTAMP()<etime";
my $res=$::db->prepare($qBaddr);
$res->execute() or die "Error
$::DBI::err \"$::DBI::errstr\".";
my($addr_etime,$addr_count,$
$res->execute() or die
my($user_etime,$user_count,$
$res->finish();
if(defined($addr_etime) && ($addr_count==
$addr_blocked=~s/\s+\[Bot\]$/<
if(wantarray){(
}else{
my $query="SELECT pass FROM User WHERE user='$user' AND
$res=$::db->prepare($query);
$res->execute() or die "Error
$::DBI::err \"$::DBI::errstr\".";
my($user_pass)=$res->fetchrow_
$res->finish();
if(defined($user_pass)){... Здесь код из
листинга 3.7 ...
my $val=
$val.="<br
/>Попытка взлома запротоколирована" if (defined($user_etime)
$user_count++;$addr_count++;
$query=
($UserBlock_timeout*60), $Logined_Bot [Bot]','Подбора пароля')";
$::db->do($query) or die "Error $::DBI::err
\"$::DBI::errstr\".";
block_log($user,'$Logined_Bot
[Bot]','Попытка
подбора пароля',
$UserBlock_timeout) if $user_count>=$UserBlock_count;
$query=
$addr_count,UNIX_TIMESTAMP()+(
'$Logined_Bot [Bot]','Попытка подбора пароля.')";
$::db->do($query) or die "Error $::DBI::err
\"$::DBI::errstr\".";
}
}
Полный листинг данного модуля можно посмотреть в листинге 2 приложения.
3.3 Расширение основного функционала сайта за счет дополнительных модулей расширения.
Мы можем расширить функционал сайта за счет модулей расширения, учитывая то, что система, при своей работе, предоставляет модулю подставить свои значения в хэшь %skin, модулю остается только подставить в данный хэшь сгенерированные данные и завершить свою работу.
В разработку уже мы уже включили два модуля расширения:
- search – модуль поиска по страницам сайта;
- sitemap – модуль создающий карту сайта.
Рассмотрим возможность расширения функционала на основе работы модуля создания дерева сайта (см. листинг 3.11).
Листинг 3.11
#
Модуль карты сайта
package mod::search;
#
Формируем заголовок
по умолчанию
$::skinСоздание сайта для ОАО усмань табак — дипломная работа='Карта
сайта';
$::skin{MENU}=&::menu($::
$::skin{CONTENT}="<ul><li><a
href=\"/\" title=\"$::pages->{0}->{title}
$::pages->{0}->{name}."</a>".&
"</li></ul>";
1;
Как видно из данного модуля все просто и легко. Для построения дерева сайта модуль использует процедуру main_menu(), представленной в листинге 3.5.
Глава 4. ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЭФЕКТИВНОСТИ ПРОЕКТА
4.1 Понятие экономической эффективности
Любое техническое или программное решение предполагает вложение финансовых средств, отсюда возникает вопрос рационального их применения и выбора из многообразных способов решения задачи наиболее эффективного. Эффективность – широкое социально-экономическое понятие, предполагающее наличие положительных результатов, полезного эффекта, отдачи от всех средств, вложенных в разработку и внедрение проекта.
Существует несколько видов эффективности, среди которых обычно выделяют:
- коммерческую (финансовую) эффективность, учитывающую финансовые последствия реализации проекта для всех участников проекта;
- бюджетную эффективность, отражающую влияние последствий внедренного проекта на бюджет предприятия, отрасли или региона;
- экономическую эффективность, учитывающую затраты и результаты, связанные с реализацией проекта.
Экономическую
эффективность (как и другие виды
человеческой деятельности) в самом
общем виде принято определять как
отношение планируемых
4.2 Оценка затрат при реализации проекта
4.2.1 Определение затрат на создание Web-сайта
Затраты на создание любого программного продукта или Web-сайта складываются из расходов по оплате труда разработчика программы и расходов по оплате машинного времени при отладке программы:
Зспп = Ззп + Змаш + Зобщ, (4.1)
где Зспп – затраты на создание программного продукта;
Ззп – затраты на оплату труда разработчика программы;
Змаш – затраты на оплату машинного времени;
Зобщ – общие затраты.
4.2.2 Расходы на оплату труда разработчика
Расходы на оплату труда разработчика сайта определяются путем умножения трудоёмкости создания сайта на среднечасовую оплату разработчика (с учётом коэффициента отчислений на социальные нужды):
Ззп = t × Tчас (4.2)
где t – трудоемкость создания сайта;
Тчас – среднечасовая оплата труда разработчика.
4.2.3 Расчёт трудоёмкости создания программного продукта
Трудоёмкость разработки программного продукта можно определить следующим образом:
t = tоп + tконц + tдиз + tстр+ tпрог + tинф + tотл (4.3)
где tоп – затраты труда на подготовку описания задачи;
tконц – затраты труда на поиск концептуальных решений сайта;
tдиз – затраты труда на разработку элементов дизайна сайта;
tстр – затраты труда на разработку структуры сайта и каркаса сайта;
tпрог – затраты труда на составление HTML-кода и Java-кода сайта;
tинф – затраты труда на информационное наполнение сайта;
tотл – затраты труда на отладку и тестирование сайта.
Составляющие затрат, в свою очередь можно вычислить через условное число операторов Q по формуле: