Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Оглавление

ВВЕДЕНИЕ. 3

ГЛАВА 1. СТРУКТУРА МАГАЗИНА «АВТОШИНЫ». 4

ГЛАВА 2. ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ.. 5

2.1 Задачи, выполняемые во время практики. 5

2.2 Локальный сервер Denwer 6

2.3 База данных MySQL. 7

ГЛАВА 3. ПРАКТИЧЕСКИЙ РАЗДЕЛ.. 8

3.1 Решение поставленных задач. 8

3.2 Защита от SQL-инъекций. 12

3.3 Административная часть сайта. 14

3.4 Локальная сеть. 17

3.5 Тестирование. 19

ЗАКЛЮЧЕНИЕ. 20

СПИСОК ЛИТЕРАТУРЫ.. 21

ВВЕДЕНИЕ

Производственно-технологическую практику проходил в магазине «Автошины» г. Рыбница.

Цель практики: реализация сайта для магазина «Автошины» с разделами предоставляемых товаров по категориям и тематических статей. А также установка локальной сети между 4 компьютерами.

В соответствии с поставленной целью были определены следующие задачи:

- Изучить предоставляемый магазином ассортимент и созданный ранее имидж;

- Разработать индивидуальный дизайн сайта, основываясь на специфике магазина;

- Разработать структуру базы данных, исходя из перечня товаров с разделением по категориям;

- Написать административную часть сайта с возможностью добавления, редактирования и удаления товаров и новостей;

- Отладить и протестировать созданный программный продукт;

- Сделать начальное наполнение базы данных.

ГЛАВА 1. СТРУКТУРА МАГАЗИНА «АВТОШИНЫ»

Магазин «Автошины» состоит из двух отделов с выставочными залами и складского помещения:

1.  Отдел шин, дисков, камер и аккумуляторов;

2.  Отдел автохимии, масел, комплектующих и аксессуаров.

Состав работников – 5 человек:

НЕ нашли? Не то? Что вы ищете?

Непосредственно, директор магазина, продавец-консультант в каждом из двух отделов, менеджер по работе с клиентами и менеджер по поставкам.

Линейная организационная структура основана на единоличном управлении магазином директором.

Организационную структуру можно представить в следующем виде:

Директор

Менеджер по работе с клиентами Менеджер по повставкам

Продавцы-консултанты

ГЛАВА 2. ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ

2.1  Задачи, выполняемые во время практики

Во время производственно-технологической практики мною была изучена структура магазина «Автошины». Был ознакомлен с персоналом и ассортиментом предоставляемых товаров. Позже руководителем практики были поставлены следующие задачи:

1.  Настроить рабочее место:

·  Установить локальный сервер Denwer, включающий в себя Apache, PHP, MySQL, Perl и т. д.

·  Установить WYSIWYG HTML-редактор компании Adobe «Dreamweaver CS5.5»

2.  Согласовать с руководителем и создать индивидуальный дизайн сайта;

3.  Разработать необходимый функционал и наполнить сайт.

2.2  Локальный сервер Denwer

Набор Web-разработчика Denwer – локальный сервер (Apache, PHP, MySQL,

PERL и т. д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет. Главная особенность Денвера — удобство при удаленной работе сразу над несколькими независимыми проектами и возможность размещения на Flash-накопителе.

Состав:

·  Инсталлятор (поддерживается также инсталляция на flash-накопитель).

·  Apache, SSL, SSI, mod_rewrite, mod_php.

·  PHP5 с поддержкой GD, MySQL, sqLite.

·  MySQL5 с поддержкой транзакций.

·  Система управления виртуальными хостами, основанная на шаблонах. Чтобы создать новый хост, вам нужно лишь добавить директорию в каталог /home, править конфигурационные файлы не требуется. По умолчанию уже поддерживаются схемы именования директорий многих популярных хостеров; новые можно без труда добавить.

·  Система управления запуском и завершением всех компонентов Денвера.

·  phpMyAdmin — система управления MySQL через Web-интерфейс.

·  Эмулятор sendmail и SMTP-сервера (отладочная «заглушка» на localhost:25, складывающая приходящие письма в /tmp в формате .eml); поддерживается работа совместно с PHP, Perl, Parser и т. д.

2.3 База данных MySQL

MySQL – свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

ГЛАВА 3. ПРАКТИЧЕСКИЙ РАЗДЕЛ

3.1 Решение поставленных задач

Во время прохождения производственно-технологической практики был создан каркас будущего рекламного сайта для магазина «Автошины» средствами стандартного языка разметки документов в сети интернет HTML и языка описания внешнего вида документа CSS, а также редактора изображений Adobe Photoshop (рис.1):

Рис. 1

На основании ассортимента товаров и необходимого функционала была создана база данных MySQL включающая 6 таблиц:

1.  Таблица goodies для хранения товаров:

Id – Уникальный идентификатор товара

Title – Название товара

Price – Цена

Image – Путь к изображению товара

Text – Описание

Meta_k – Ключевые слова, помогающие при поиске

Category – Категория товара

Subcategory – Подкатегория

Brand – Производитель

Date – Дата добавления

Nalichie – Наличие товара в магазине

Рис. 2 (goodies)

2.  Таблица news для хранения новостей и статей:

Id – Уникальный идентификатор

Title – Заголовок

Date – Дата добавления

Description – Описание в кратком представлении публикации

Text – Текст публикации

Meta_k – Ключевые слова

Image – Изображение

Рис. 3 (news)

3.  Таблица comments для хранения комментариев к опубликованным новостям и статьям:

Id – Уникальный идентификатор комментария;

Page_id – Идентификатор новости или статьи, к которой был написан комментарий

Name – Имя автора комментария

Email – E-mail автора комментария

Body – Текст комментария

Dt – дата и время добавления комментария

Рис. 4 (comments)

4.  Таблица navig для хранения значений, используемых при пагинации:

Id – Уникальный идентификатор

Str – кол-во элементов, выводимых на странице

Рис. 5 (navig)

5.  Таблица users для хранения данных о зарегистрированных пользователях:

Pk_user – Уникальный идентификатор пользователя

Email – E-mail пользователя

Flname – Имя пользователя

Password – Пароль

Country_code – код страны

Usr_ip – ip-адрес пользователя

Usr_nmb_logins – кол-во входов пользователя на сайт

Usr_signup_date – дата регистрации

Usr_userid – для запоминания при логине

Usr_confirm_hash – уникальный код для подтверждения email

Usr_is_confirmed – подтвержден ли email

Usr_resetpassword_hash – код для ссылки восстановления пароля

Usr_is_blocked – заблокирован ли пользователь

Usr_is_admin – есть ли привилегии администратора

Рис. 6 (users)

6.  Таблица country для хранения списка стран и их кодов, значения предлагаются при регистрации:

Country_code – сокращенное обозначение страны

Country_name – полное название страны

Рис. 7 (country)

3.2 Защита от SQL-инъекций

Внедрение SQL-кода (англ. SQL injection) — один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL-кода.

Внедрение SQL, в зависимости от типа используемой СУБД и условий внедрения, может дать возможность атакующему выполнить произвольный запрос к базе данных (например, прочитать содержимое любых таблиц, удалить, изменить или добавить данные), получить возможность чтения и/или записи локальных файлов и выполнения произвольных команд на атакуемом сервере.

Атака типа внедрения SQL может быть возможна из-за некорректной обработки входных данных, используемых в SQL-запросах.

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

Для таких значений как Id, используемых при просмотре публикаций или полной информации о товаре использовалась функция PHP preg_match(), проверяющая, соответствует ли значение переменной регулярному выражению. В данном случае числу:

if (!preg_match("|^[\d]+$|", $id))

{

exit ("<p>Неверный формат запроса! Толко числовые значения страниц!");

}

Для символьных значений переменных, таких как category (категория товара), subcategory (подкатегория товара), используемых для отображения необходимой группы товаров, а также keyword (ключевое слово) для поиска по сайту среди товаров было решено использовать проверку на вхождение в сроку ключевых слов из MySQL-запросов (SELECT, UPDATE, INSERT, DELETE, FROM, UNION, DROP, WHERE, ORDER и т. д.):

function escape_inj ($text) {

$text = strtolower($text); // Приравниваем текст параметра к нижнему регистру

if

(

!strpos($text, "select") && //

!strpos($text, "union") && //

!strpos($text, "order") && // Ищем вхождение слов в параметре

!strpos($text, "where") && //

!strpos($text, "char") && //

!strpos($text, "drop") && //

!strpos($text, "insert") && //

!strpos($text, "delete") &&

!strpos($text, "update") && //

!strpos($text, "from") //

)

3.3 Административная часть сайта

По условиям задания от руководителя практики административная часть сайта должна содержать раздел управления пользователями, раздел управления публикациями и раздел управления товаров.

Было решено привести панель администратора к следующему виду (Рис. 8):

Рис. 8

Для полей TEXTAREA использовался платформонезависимый Javascript HTML WYSIWYG (What You See Is What You Get) редактор на основе Web – TinyMCE (Рис. 9). Косновным характеристикам программы относятся поддержка тем/шаблонов, языковая поддержка и возможность подключения модулей (плагинов). TinyMCE используется в различных системах управления содержимым (CMS):

//Подключение редактора

<script type="text/javascript" src="tinymce/tinymce. min. js"></script>

<script type="text/javascript">

//Инициализация скрипта

tinymce. init({

//Подключение плагинов

plugins: "jbimages",

image_advtab: true,

paste_data_images: true,

selector: "textarea",

//Выбор темы

theme: "modern"

//Настройка панели инструментов,

toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image jbimages",

toolbar2: "print preview media | forecolor backcolor emoticons",

relative_urls: false

});

</script>

Рис. 9

3.4 Локальная сеть

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

В связи с наличием ADSL маршрутизатора с четырьмя LAN портами было решено использовать именно его.

Было изучено строение магазина «Автошины» и измерена необходимая длина сетевого кабеля RJ45 для проводных сетей:

1м+2м+8м+30м = 41м

Рис. 10

1  - Маршрутизатор

2, 3, 4, 5 - Компьютеры отделов

Для подключения компьютеров была использована использовалась сетевая архитектура, называемая «Звездой», при которой каждый из них подключается к маршрутизатору через RJ45 кабель.

На всех компьютерах была изменена рабочая группа на MSHOME, а также они все были переименованы для удобства распознания в сети. Маска подсети по умолчанию 255.255.255.0.

Для проверки функционирования устройств в локальной сети существует практичная утилита являющая практически стандартной для всех операционных систем. Это утилита ping. Ping позволяет посылать пакеты данных сетевому компьютеру и вычислять время отклика:

ping - t 192.168.0.1

ping - t 192.168.0.2

ping - t 192.168.0.3

ping - t 192.168.0.100

3.5 Тестирование

Для тестирования был выбран бесплатный хостинг сайта www. *****, с использованием субдомена www. autopmr. zz. mu. Файлы отправлялись на сервер с помощью ftp клиента FileZilla версии 3.7.3

Тестирование сайта проводилось в основных браузерах, таких как:

·  Internet Explorer 10;

·  Mozilla Firefox 24.0;

·  Opera 12.16;

·  Google Chrome 30.0.1599.101 m.

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

Функциональная составляющая работала во всех используемых для тестирования сайта браузерах одинаково.

При тесте системы регистрации была выявлена проблема с кодировкой отсылаемых на e-mail сообщений. Для ее решения была использована функция php iconv("UTF-8", "Windows-1251", $peremennaya).

ЗАКЛЮЧЕНИЕ

Производственно-технологическая практика длилась в течении 7 недель в магазине «Автошины».

На производственной практике была изучена структура магазина, был ознакомлен с работой отделов магазина. Был изучен предоставляемый спектр товаров. За время прохождения производственно-технологической практики был создан сайт с индивидуальным дизайном для магазина «Автошины», включающий в себя публичную часть с лентой статей/ новостей, списком товаров разбитых на группы и администраторскую с разделами управления пользователями, добавления, редактирования, удаления публикаций и товаров. Также была протянута локальная сеть между 2-мя отделами, включающими в себя 4-е компьютера.

СПИСОК ЛИТЕРАТУРЫ

1.  Обучающие материалы сайта [http://www. /]

2.  Статьи сайта [http://www. *****/]

3.  Справочник по PHP [http:///manual/ru/langref. php./]

4.  Harry Fuecks The PHP Anthology: Object Oriented PHP Solutions, Volume II; SitePoint Pty. Ltd. - Москва, 20c.

5.  PHP 5/6 и MySQL 6. Разработка Web-приложений. - 3е изд., перераб. и доп. – СПб,:БХВ-Петербург,2011. – 528 с.