Tag Archives: веб

Дизайн интерьеров

Защита файла wp-config.php в nginx

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

В файле wp-config.php CMS WordPress хранит пароли и логины для доступа к базе данных. Это очень безопасная информация. Есть вероятность, что в момент отладки приложения или веб-сервера данный файл может быть доступен злоумышленникам, поэтому, рекомендуется защищать данный файл от доступа в веб-серверах.

Защита в веб-сервере Apache указывается в файле .htaccess:

Защита в веб-сервере Nginx:

Автор: Рудюк С . А. https://corp2.net

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Предметная визуализация

Как защитить контент? Подключаем «оригинальные тексты Яндекса»

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

Предположим, Вы создатель и владелец молодого сайта. Большая часть Вашего времени уходит на написание и оформление уникальных статей (оригинальных текстов), обзоров, фотографий, диаграмм и прочих материалов именуемых «контентом». Если Ваши труды действительно интересные и полезные для мира сего, то рано или поздно Вы столкнетесь с такой «чумой XXI» века, как «незаконное копирование контента»…

Зачем защищать уникальный контент на своем сайте?

Система плагиата проста и до недавнего времени была очень эффективна – в один прекрасный день Вы публикуете на своем ресурсе новую удачную статью. Если Вы успели раннее попасть в поле зрения «пиратов» (воров контента), то в большинстве случаев происходит следующее…

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

Если сайт вора трудится в Интернете уже довольно давно, имеет хорошие «пузомерки» (показатели тИЦ и PR), а также развитую систему аккаунтов в различных социальных сетях, то индексируется он намного быстрее новенького проекта. Поэтому в 99-ти случаях из 100 первой в индекс попадет Ваша статья со страницы с чужим адресом, где фигурирует его более «старое» доменное имя.

Затем проходит определенное время и в индексе появляется Ваша родная веб-страница с оригинальным текстом, опубликованная на Вашем собственном сайте… Однако статья эта, то оказывается уже и не оригинальная, и даже не Ваша! :( Так уж сложилось исторически и практически, что если на двух сайтах появляется одинаковый контент – предпочтение отдается тому, кто раньше попал в индекс.

В Интернете, как и в жизни – кто первый встал, того и тапки. В нашем случае: кто первый попал в индекс поисковой системы, тот и главный! ;)

А если попадание происходит практически одновременно – предпочтение все равно отдается более старшему ресурсу. Это означает, что в выдаче поисковых систем (особенно это касается более инертного Яндекса) Ваш проект окажется ниже, чем Ваша же украденная скопированная статья.

Как ни крути – выходит, что автор молодого сайта пасет задних при любом раскладе, а его уникальный текст трудится на благо владельца другого сайта. Печалька… но выход есть! Существует целая система конкретных действий, помогающая защититься от наглых воров. Первым и наиболее простым шагом станет подтверждение авторства в поисковых системах Google и Яндекс.

Если с заморским поисковиком мы уже разобрались (как настроить авторство в Гугл читайте здесь), то с отечественным сервисом до недавнего времени для начинающих веб-мастеров все было не так просто! Что изменилось за последние месяцы? Яндекс стал как минимум на шаг ближе к молодым сайтам и это хорошо!

Оригинальные тексты Яндекса – подтверждаем своё авторство

В панели Яндекса для веб-мастеров имеется замечательный сервис под названием «Оригинальные тексты». Суть его очень проста – Вы самостоятельно сообщаете российскому поисковику о появлении на Вашем молодом сайте уникального контента. Для этого предусмотрена специальная форма ввода оригинального текста.

Теперь не нужно так сильно переживать об индексации и нет необходимости молиться о попадании в выдачу раньше потенциальных воров. Достаточно самому предупредить Яндекс о готовящейся публикации в глобальной сети!

panel_web-mastera_Yandex

После добавления текста система «попытается» учесть Вашу заявку на авторство в своих алгоритмах ранжирования и присвоит Вам законное звание первоисточника. Обратите внимание, что ключевое слово здесь – «попытается». Система именно — попытается, разработчики честно предупреждают нас о том, что никаких стопроцентных гарантий на учет нашей заявки в работе поисковых алгоритмов НЕТ.

Гарантии в 100% на учет Яндексом Вашей заявки с оригинальным текстом нет. Российская поисковая система называют цифру – не ниже 80%!

Однако лучше так, чем никак! Напомню, что совсем недавно сервис «Оригинальные тексты» был вообще на стадии тестирования и был доступен для сайтов с тИЦ не менее 10. Возникал закономерный вопрос, как быть молодому еще не прокачанному сайту? Продолжать кормить плагиаторов своими трудами? Переворот в жизни блоггеров с их новоиспеченными сайтами случился совсем недавно…

Официальный старт системы «Оригинальные тексты» пришелся на 24 октября текущего года. Теперь воспользоваться услугами этого инструмента может любой веб-мастер с любым сайтом. Все ограничения (в том числе и по тИЦ) сняты!

Возможности сервиса Яндекса «Оригинальные тексты»

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

  1. Ограничения по тИЦ сняты полностью. Даже сайт, которому теперь день отроду может пользоваться всеми благами инструмента против плагиаторов;
  2. Требования к минимально допустимому тексту снижены до 500 знаков, а максимальный размер составляет внушительные 32000 знаков! Заниженный минимальный порог для текста (раньше он составлял недеццкие 2000 значков ;)) большой плюс для интернет-магазинов и им подобным, где главным критерием является уникальный контент в коротких описаниях к товарам;
  3. Яндекс реально использует базу данного инструмента в расчете ранжирования Ваших статей. Косвенно подача заявок с оригинальными текстами позволяет ускорить индексацию новых страниц на своём сайте;
  4. На данный момент алгоритмы поисковика отдают предпочтение присланным веб-мастерами уникальным текстам в 80% случаев. Вероятность стать законным первоисточником очень и очень большая!
  5. Не стоит печалиться, если в течение дня на Вашем проекте генерируется огромное число текстов и статей (например, таким «грешат» новостные сайты, интерет-магазины). Вручную вбивать каждую отдельную порцию контента не придется – в помощь придет автоматизация кропотливого процесса в лице приложений «API Вебмастера».

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

Давайте перейдем непосредственно к практической составляющей сегодняшней статьи. Для наглядности, в качестве примера я приведу скрин-шоты своих собственных пошаговых действий с инструментом «Оригинальные тексты». Подаваться моя авторская заявка будет как раз для данной статьи.

Как работать с инструментом «Оригинальные тексты» от Яндекса

Шаг 1. Заходим в свой личный кабинет «Яндекс. Веб-мастер». Я подразумеваю, что у Вас он уже есть и Ваш сайт добавлен в поисковую систему Яндекса. Если еще нет – исправьте это немедленно! Первым делом заведите почтовый ящик в Яндексе, затем добавьте в панели веб-мастера свой сайт и подтвердите права на него.

В разделе «Мои сайты» выбираем требуемый проект, на котором будет публиковаться новая оригинальная статья (текст).

Originalnie_teksti_Yandex_Shag_1

Шаг 2. После того как мы оказались в кабинете своего конкретного сайта – обратим свой взор на главное меню в левой части экрана. Нас интересует раздел «Содержание сайта» по нему и жмакаем!

Важно: Если Вы в этом разделе впервые, то ситуация на Вашем экране будет немного отличаться от моей… Чтобы получить тот же результат, необходимо проделать дополнительный шаг – выбрать среди предложенных инструментов в окне «Что Вы можете подключить» инструмент «Оригинальные тексты».
Originalnie_teksti_Yandex_Shag_2Шаг 3. Переходим непосредственно в инструмент «Оригинальные тексты». Советую тут же по горячим следам ознакомиться с советами от разработчиков, дабы в будущем избежать глупых ошибок при использовании этого сервиса!
Originalnie_teksti_Yandex_Shag_3Шаг 4. Как видно инструмент Яндекса «Оригинальные тексты» имеет очень простой и понятный интерфейс. Я выделил здесь такие важнейшие части: краткая инструкция от разработчиков с ссылкой на раздел помощи (Верхняя часть), кнопка для активации формы добавления уникального текста «Добавить новый текст» и список уже загруженных текстов (Нижняя часть страницы).

Originalnie_teksti_Yandex_Shag_4Шаг 5. Жмем кнопку «Добавить новый текст» и вставляем в выскочившую форму из буфера обмена свой оригинальный текст. Система тут же подсчитает количество знаков нашего писания. Ух… 10813 знаков не хило я сгенерировал, можно пойти даже печеньку скушать! ;)Если текст вставился целиком, можно смело отправлять его на проверку системы (кнопка «Добавить» в правой части под формой ввода).

Originalnie_teksti_Yandex_Shag_5

Шаг 6. Получаем подтверждение, что подача нашей заявки прошла успешно. Радуемся! ;)

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

Очень важный момент: добавлять оригинальный текст в инструмент Яндекса следует ДО публикации статьи, а не после. Иначе эффекта не будет никакого, по крайней мере, так утверждают сами разработчики!

Originalnie_teksti_Yandex_Shag_6

Важные особенности инструмента «Оригинальные тексты»

Вместо традиционного прощания, я предлагаю ознакомиться с некоторыми важными особенностями инструмента «Оригинальные тексты от Яндекса». Все пункты я сформировал на основе раздела «Ответы на часто задаваемые вопросы».

  • Для успешной заявки Ваш текст должен отвечать двум основным критериям: нет аналогов в Интернете (оригинальность) и подходящий размер (от 500 до 32000 знаков без учета пробелов);
  • Здесь действует правило – одна страница – один текст — одна форма. Не стоит в одну и ту же форму заливать разные текста с различных страниц, Яндекс учитывает только текст с одной страницы;
  • Если вдруг Ваш супермануал перешагнул за планку 32000 символов (хотелось бы увидеть такую статью, но читать бы не рискнул :)) разбейте текст на две части и последовательно введите его в основную форму;
  • В сервисе Яндекса действует ограничение – не более 100 оригинальных текстов для одного сайта в день!
  • В форму следует добавлять только чистый текст без различных тегов HTML-разметки.
Лично я пользуюсь для написания своих статей старым добрым текстовым процессором «Microsoft Office Word 2007» — и перечитывать уже напечатанное удобно, и слова считать со знаками параллельно можно, а еще полезно следить за грамотностью вместе с пунктуацией!После написания остается лишь скопировать текст в буфер обмена и закинуть его в сервис Яндекса «Оригинальные тексты». Затем можно публиковать на своем сайте.

На финише проделанной работы можно ненадолго откинуться в спинке кресла и отпраздновать свою маленькую победу — Вы обошли воров! Пускай плагиаторы теперь бьются головой об клавиатуру в бессильной злобе – законный автор и первоисточник текста – теперь только Вы! ;)

Спасибо за Ваше ценное внимание!

Автор: Сергей ГеркХард


Источник: GerkHard.com

Ссылка как кнопка

Сделайте ссылку, которая при наведении на неё курсора мыши меняла свой вид, как показано на рис. 1. Вверху показана исходная ссылка, внизу ссылка после наведения курсора.

54Решение:

 


Источник: http://htmlbook.ru/practical/ssylka-kak-knopka

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

3D визуализация и интерьер

Ajax — полезные ссылки

В процессе работы с Ajax накопилось некоторое количество полезных ссылок:

http://visualjquery.com/ — документация по JQuery в удобном виде.

http://getfirebug.com/ — помощник для отладки скриптов в firefox.

http://www.stilbuero.de/jquery/tabs/#fragment-27 — плагины для создания табов.
http://www.rsdn.ru/article/inet/jQuery.xml — Использование jQuery на рус. яз.
http://interface.eyecon.ro/demos/?page=demos — примеры различных эффектов.
http://code.google.com/p/gwt-ext/ — открытая библиотека различных эффектов.

http://www.ibm.com/developerworks/ru/library/j-ajax4/index.html?ca=drs-ru — статья Работа с Google Web Toolkit.
http://www.ajaxplanet.ru/google-web-toolkit-manual/ — не большое руководство по использованию Google Web Toolkit совместно с PHP.

http://www.miniajax.com/ — Ссылки с большим количеством разных Ajax — библиотек.

http://fancy.klade.lv/ — FancBox — библиотека для вывода больших изображений в Ajax-стиле.
http://ajaxian.com/archives/facebook-style-input-box — Мощные поля в Ajax-стиле. Так же, то сайт с огромным количеством библиотек на Ajax.

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Дизайн интерьеров

Дизайн интерьеров

Оптимизация веб-сервера

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

1. Оптимизация CMS-системы.

Как было показано опытами, которые я проводил несколько лет назад, наибольшая скорость загрузки и пропускная система — у статических файлов. Скорость cms-систем и статических файлов отличается в 1000-10 000 раз. Причем, это еще сильней сказывается при применении системы веб-сервера NGinx.

Зная это, я переработал систему кеширования в нашей cms-системе Корпорация 2 таким образом, чтоб генерировался статический сайт из динамического содержимого. Это дало значительный прирост скорости и значительное уменьшение нагрузки на сервере.

2. Оптимизация работы веб-сервера. Связка Apache-Nginx.

Мы давно практикуем систему 2-х уровневого веб-сервера. Эта система дает устойчивость к большому количеству посещений, и как результат — скорость работы веб-сервера.
3. Оптимизация работы базы данных. Связка PostgreSQL-PGBouncer.

Связка о которой многие забывают, но которая просто необходима при большом количестве работающих пользователей в online. Эта связка прекрасно себя проявила и сейчас реально у нас реально выдерживается более 500 пользователей в online. Причем, есть возможность выдерживать еще гораздо большие нагрузки!
4. Оптимизация работы с файлами Nginx.

Если не правильно настроить Nginx, то он будет загружать не нужной работой Apache. Поэтому, мы настроили Nginx так, чтоб он как можно реже переводил управление на Apache. В идеале — работая вообще без Apache!

5. Системы кеширования PHP. Остановились на xCache.

Значительное время веб-сервера тратится на компиляцию PHP-кода. Поэтому, я решил установить систему кеширования PHP-кода. Рассматривая ряд вариантов остановился на xCache. Но, ниже дам выдержки из статей для настройки нескольких разных систем кеширования php-кода. Может, в некоторых случаях, они будут более эффективны…

По настройке админки xcache, советую прочитать документацию: http://xcache.lighttpd.net/wiki/InstallAdministration

Установка и настройка xCache

Оптимизация работы вебсерверов, ускорение их работы тема очень интересная, возможности развернуться в этой области предостаточно, инструментов тоже хватает. XCache относится к средствам ускорения работы PHP. Устанавливается XCache как дополнительный модуль PHP и служит для кеширования результатов выполнения скриптов в шаред мемори. По сравнению с eAccelerator, XCache показывает более ощутимые результаты, но в проектах, где объемы кеша очень большие – не совсем подходит. Все таки оперативная память не бесконечна. Установим XCache из портов:

cd /usr/ports/www/xcache/
make install clean

При установке доступен диалог настройки сборки, с единственным пунктом Enable code coverage dumper, по умолчанию она включена и служит для определения.предотвращения переполнения памяти.
По окончании установки, нужно скопировать файл настройки xcache.ini в /usr/local/etc/php/:

cp /usr/local/share/examples/xcache/xcache.ini /usr/local/etc/php/

и немного исправить.
У меня получился такой файл настроек:

[xcache-common]
extension = xcache.so
#Включим админ интерфейс
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = «admin»
#В качестве пароля укажем md5 хеш, создать его можно с
#помощью команды md5 -s «ваш пароль»
xcache.admin.pass = «XXXXXX»

[xcache]
xcache.shm_scheme = «mmap»
#Выделим для кеша 128 мегабайт
xcache.size = 128M
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
xcache.var_size = 0M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Off
xcache.readonly_protection = Off
xcache.mmap_path = «/dev/zero»
xcache.coredump_directory = «»
xcache.cacher = On
xcache.stat = On
xcache.optimizer = On

[xcache.coverager]
xcache.coverager = On
xcache.coveragedump_directory = «»

Настройка самого XCache закончена, остается сделать доступным админ интерфейс. Для этого я у себя скопировал /usr/local/share/examples/xcache/admin в документ рут своего вебсервера www.hilik.org.ua
После этого админ интерфейс станет доступным по URL http://www.hilik.org.ua/admin/
Конечно через этот интерфейс доступна только статистика, но все равно, это полезная функция.
Да и авторизация определена вами в xcache.ini.

Взято на сайте http://www.hilik.org.ua
Установка Eaccelerator

PHP — язык интерпретируемый. Это значит, что каждый раз, когда происходит вызов скрипта на этом языке, запускается PHP-интерпретатор, который проводит полный анализ исходного кода. Причем, если спустя секунду произойдет второй запуск того же скрипта, вся процедура будет повторена заново. Это нерациональное использование ресурсов, поэтому мы применим инструмент под названием eAccelerator, который скомпилирует исходные тексты PHP в двоичное представление, оптимизирует их и будет бережно хранить в оперативной памяти для более быстрого доступа. Благодаря только этому скорость обработки PHP-скриптов вырастет в десятки раз (подтверждено тестами).

Пакета eAccelerator нет в репозиториях популярных дистрибутивов, поэтому его придется собрать самостоятельно. Сначала устанавливаем необходимые для сборки утилиты:

$ sudo apt-get install php5-dev build-essential

Далее получаем исходные тексты eAccelerator:

$ cd /tmp/
$ wget http://bart.eaccelerator.net/source/0.9.6.1/
eaccelerator-0.9.6.1.tar.bz2
$ tar xvjf eaccelerator-0.9.6.1.tar.bz2
$ cd eaccelerator-0.9.6.1
$ phpize
$ ./configure —enable-eaccelerator=shared
$ make
$ sudo make install

Создаем каталог для хранения кэша:

$ sudo mkdir -p /var/cache/eaccelerator
$ sudo chmod 0777 /var/cache/eaccelerator
И, наконец, подключаем eAccelerator к PHP (добавить в начало файла):
# vi /etc/php5/apache2/php.ini
[PHP]
; Подключаем расширение
extension = «eaccelerator.so»
eaccelerator.enable = «1»
; Максимальный размер дискового кэша (Мб)
eaccelerator.shm_size = «64»
; Каталог для хранения кэша
eaccelerator.cache_dir = «/var/cache/eaccelerator»
; Включаем оптимизатор кода
eaccelerator.optimizer = «1»
; Перекомпилировать модифицированные скрипты
eaccelerator.check_mtime = «1»
; Отключаем режим отладки
eaccelerator.debug = «0»
; Кэшировать все файлы (пустой фильтр)
eaccelerator.filter = «»
; Неограниченный размер кэша в памяти
eaccelerator.shm_max = «0»
; В случае отсутствия места в кэше удалять объекты старше
1 часа (3600 секунд)
eaccelerator.shm_ttl = «3600»
eaccelerator.shm_prune_period = «0»
; Кэшировать данные и в памяти, и на диске
eaccelerator.shm_only = «0»
; Сжимать кэшированные данные с максимальным уровнем компрессии
eaccelerator.compress = «1»
eaccelerator.compress_level = «9»

Установка APC

Статья по адресу: http://phpcoder.ws/2009-02/apc-setup.html

APC (Alternative PHP Caching – это Альтернативный ПХП Кешер, руководство по использованию на английском языке). Входит в число трех наиболее популярных способов кеширования опкодов для выполненных php скриптов. Его ближайшими конкурентами являются XCache и eAccelerator. О последнем я уже писал недавно на этом блоге, а статья об XCache, который имеет несколько очень существенных преимуществ перед конкурентами, будет опубликована здесь в ближайшее время. Короче говоря, APC это еще один способ повысить быстродействие вашего сайта в том случае если он расположен на вашем сервере, вы являетесь админом своего хостинга и вас волнуют вопросы быстродействия размещенных на нем сайтов…

Установка APC

Одним из основных преимуществ APC является его простота установки. Если вы являетесь пользователем Debian/Ubuntu, то вполне вероятно что для установки вам будет достаточно набрать в консоли команду sudo aptitude install php-apc или установить этот пакет через synaptic. Если вы используете другой дистрибутив, или по какой-то причине не можете установить “родной” deb-пакет, то у вас есть другой путь – установка из PECL. Для этого нужно набрать команду: sudo pecl install apc, которая скачает нужные архивы из сети, распакует, откомпилирует и установит полученный файл apc.so в нужную директорию.
Проверка установки APC

Во-первых, проверьте что строчка загрузки расширения extension=apc.so действительно прописалась в php.ini (или создан файл apc.ini с этой строчкой в папке с конфигами расширений php – зависит от вашего дистрибутива. Для Debian, например, этой папкой будет /etc/php5/apache2/conf.d/

Если строчка успешно найдена/добавлена, то перезапускаем сервер apache и переходим к проверке самого расширения. Для этого находим папку в которую было установлено расширение. В этой папке будет лежать файл apc.php (файл так же можно взять в архиве установки), копируем его в public директорию любого из сайтов на этом веб-сервере и заходим браузером по адресу http://сайт/apc.php. Если расширение было установлено корректно, то вы увидите на загруженной странице статистику по APC (скриншоты приведены ниже).
Общая информация об APC

Общая информация об APC
Подробная информация об APC

Подробная информация об APC
Информация о хосте

Информация о хосте
Замеры изменения производительности

Для проверки была выбрана CMS Joomla1.5.9 с демонстрационным набором данных после установки и с шаблоном дизайна по умолчанию. При тестировании производительности при помощи утилиты ab2 (было выполнено 1000 обращений к главной странице сайта в 5 потоков) скорость генерации страниц увеличилась на 40%
Недостатки APC

Объективности ради отмечу и недостатки APC…

* отсутствует поддержка FastCGI
* кеширование работает только с модулем apache mod_php (в режиме cli ускорения не будет)
* работает с версиями PHP<=5.2 С версией 5.3 отмечаются проблемы, а что касается 6.0 — будущее совсем туманно. Возможно какой-то механизм кеширования будет интегрирован в само ядро…

Заключение

По-моему стоит установить APC на своем веб-сервере и попробовать – подойдет ли оно именно вам. Несмотря на ряд описанных выше ограничений APC считается наиболее надежным из тройки основных реализаций кеширования для языка PHP…

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Предметная визуализация

Настройка веб-браузеров для работы с 1С

Настройка и использование веб-браузера Microsoft Internet Explorer

Особенности использования

Для работы с веб-клиентом в операционной системе Windows XP SP 2 требуется наличие системной библиотеки jscript.dll версии 5.6.0.8834 или выше.

Библиотека находится в каталоге system32 операционной системы. Если на вашем компьютере установлена более ранняя версия библиотеки, то возможно значительное замедление работы веб-клиента. Для обновления версии необходимо скачать пакет обновлений, находящийся по адресу http://support.microsoft.com/kb/942840/en-us.

При использовании Microsoft Internet Explorer 7 и Microsoft Internet Explorer 8 при включенных закладках, в том окне, где закладки есть, для переключения с помощью клавиатуры из главного (окно с закладками) в дочернюю форму (отдельное окно) следует использовать сочетания клавиш [Shift]+Ctrl+F6. Если закладки отключены, то для переключения можно использовать также сочетания клавиш [Shift+]Ctrl+Tab.

Особенности использования расширенных средств работы с файлами

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

Реализация для Internet Explorer требует установки специального ActiveX компонент «1С:Предприятие 8.2. Расширение работы с файлами для Internet Explorer (x86)», либо ее 64 разрядный вариант для 64 разрядного Internet Explorer. Компонент включен в платформу, но ее установка должна быть предусмотрена в конфигурации (должен быть реализован вызов метода УстановитьРасширениеРаботыСФайлами).

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

Для работы с файлами используется библиотека Microsoft Core XML Services (MSXML). Рекомендованные версии MSXML 6.0 и MSXML 4.0. В случае использования MSXML 3.0, возможны проблемы с передачей файлов большого размера с клиента на сервер.

Со списком версий модулей MSXML, ограничений и рекомендаций по установке можно ознакомиться на странице http://support.microsoft.com/kb/269238.

 

Настройки использования веб-браузера

Для использования веб-браузера необходимо выполнить настройку свойств обозревателя. Для этого

  • В меню Сервис (Tools) выберите пункт Свойства обозревателя (Internet Options) и выполните настройки:
  • Разрешите выполнение JavaScript скриптов:
    • на вкладке Безопасность (Security) для зоны Internet нажмите кнопку Другой (Custom level);
    • в разделе Сценарии (Scripting) для параметра Астивные сценарии (Active scripting) установите Разрешить (Enable) и нажмите кнопку «OK».
  • Разрешите всплывающие окна:
    • перейдите на вкладку Конфиденциальность (Privacy);
    • в разделе Блокирование всплывающих окон (Pop-up Blocker) снимите флажок Блокировать всплывающие окна (Block Pop-ups).
  • Разрешите использование cookies:
    • на вкладке Конфиденциальность (Privacy) с помощью регулятора выберите уровень использования cookies — не выше Умеренно высокий (Medium High).

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

  • на вкладке Безопасность (Security) нажмите кнопку Другой (Custom level);
  • в открывшемся окне необходимо установить Разрешить (Enable) для следующих параметров:
    • Запрос разрешения для ActiveX объектов (Automatic promting for ActiveX controls);
    • Загрузка подписанных ActiveX объектов с разрешения пользователя (Download signed ActiveX controls);
    • Работа с ActiveX объектам и плагинами (Run ActiveX controls and plug-ins);
    • Работа с объектами, помеченными как безопастные (Script ActiveX controls marked safe for scripting).

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

Для настройки языка ввода по умолчанию выполните следующие действия:

  • откройте настройки операционной системы «Язык и региональные стандарты» («Regional and Languages Options»);
  • на закладке «Языки» («Languages») в разделе «Языки и службы текстового ввода» («Text services and input languages») нажмите кнопку «Подробнее…» («Details…»);
  • в открывшемся окне на закладке «Параметры» («Settings») в разделе «Язык ввода по умолчанию» («Default input language») выберите нужный язык;
  • нажмите кнопку «OK».

При работе в Internet Explorer 8 в некоторых ситуациях при переходе к уже открытому окну из другого окна будет выдаваться диалог с текстом «Нажмите OK для перехода к окну» и кнопкой OK. После нажатия кнопки будет осуществлен переход к окну.

Настройка и использование веб-браузера Mozilla Firefox

Особенности использования

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

Настройки использования веб-браузера

Для подключения к информационным базам 1С:Предприятия 8 с помощью Mozilla Firefox нужно выполнить следующие настройки:

  • Откройте браузер, в меню Инструменты (Tools) выберите пункт Настройки (Options);
  • В открывшемся окне перейдите в раздел Содержимое (Content)
    • Снимите флажок Блокировать всплывающие окна (Block pop-up windows);
    • Установите флажок Использовать JavaScript (Enable JavaScript).
  • Перейдите в раздел Приватность (Privacy) установите следующие настройки:
    • Установите флажок Принимать cookies с сайтов (Assept cookies from sites);
    • Для детальной настройки приема или отклонения cookies щелкните кнопку Исключения (Exeptions) и следуйте пояснениям диалога настройки.

В случае если в качестве браузера используется английская версия Mozilla Firefox, то для правильной работы веб-клиента требуется выполнить следующую настройку (расположение настроек приведено для версии 3.5):

  • Откройте браузер, в меню Tools выберите пункт Options;
  • На закладке Contents в группе Fonts & Colors нажмите кнопку Advanced;
  • В параметре Default Character Encoding выберите Unicode.

Модификацию остальных параметров, которые могут потребоваться для работы с веб-клиентом 1С:Предприятия, можно осуществить с помощью команды «Сервис — Настройка веб-браузера». В окне выполняются настройки, которые можно также выполнить в настройках самого веб-браузера в диалоге запроса привилегий.

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

  • Разрешить работу с буфером обмена, расширением работы с файлами, внешними компонентами (signed.applets.codebase_principal_support) — для работы с буфером обмена, внешними компонентами и расширенной работы с файлами (значение true);
  • Разрешить использование в параметрах строки запуска нелатинских символов (network.standard-url.encode-query-utf8) — для использования нелатинских символов в адресной строке (значение true);
  • Разрешить использование клавиатуры для переключения между окнами приложений (dom.popup_allowed_events) — для разрешения навигации по окнам приложения с клавиатуры (добавляет к значению параметра событие keydown);
  • Использовать аутентификацию операционной системы (network.automatic-ntlm-auth.trusted-uris) — если установлен, то будет выполняться аутентификация операционной системы. Данная настройка изменяет только значение ключа network.automatic-ntlm-auth.trusted-uris. Для аутентификации операционной системы в конкретной конфигурации сети и веб-сервера, возможно, потребуется задание значений для ключей network.negotiate-auth.trusted-uris и network.negotiate-auth.delegation-uris. Дополнительную информацию см. в https://developer.mozilla.org/en/Integrated_Authentication.

Данные параметры можно также настроить вручную. Для этого необходимо в адресной строке веб-браузера набрать about:config, затем в строке фильтра набрать любое слово из имени параметра (например, principal) и поменять его значение в списке.

Рекомендуется выполнить настройку для сохранения файлов:

  • Откройте браузер, в меню Инструменты (Tools) выберите пункт Настройки (Options);
  • В открывшемся окне перейдите в раздел Основные;
  • Установите флажок Всегда выдавать запрос на сохранения файла.

Для ручной настройки аутентификации следует:

  • в адресной строке браузера набрать about:config.
  • затем на странице настроек в строке фильтра ввести название параметра.
    Данная настройка осуществляется для трех параметров:

    • network.automatic-ntlm-auth.trusted-uris,
    • network.negotiate-auth.delegation-uris,
    • network.negotiate-auth.trusted-uris.
  • далее задать список веб-серверов, через которые будет осуществляться работа с базой «1С:Предприятия».

Далее приведено описание, за что отвечают вышеприведенные параметры при разных способах аутентификации:

  • Веб-сервер поддерживает NTLM-аутентификацию.
    Если имя веб-сервера, к которому осуществляется попытка доступа, перечислено в списке имен, содержащихся в параметре network.automatic-ntlm-auth.trusted-uris, то будет осуществлена попытка автоматической аутентификации. Если же имени веб-сервера там нет, то браузер покажет диалог, в котором необходимо указать логин и пароль пользователя для доступа к веб-серверу.
  • Веб-сервер поддерживает Kerberos-аутентификацию.
    Для того, чтобы получить доступ к веб-серверу с данным типом аутентификации, в параметр network.negotiate-auth.trusted-uris нужно добавить имя этого веб-сервера. При работе с файловой информационной базой этого будет достаточно. В случае необходимости обеспечить автоматическую аутентифкацию пользователей веб-клиента при использовании клиент-серверного варианта «1С:Предприятия», необходимо добавить DNS-имя этого веб-сервера в параметр network.negotiate-auth.delegation-uris.
    В случае, если имя веб-сервера, к которому осуществляется доступ, не обнаружено в параметре network.negotiate-auth.trusted-uris, аутентификация производиться не будет, и пользователь увидит сообщение об ошибке 401 Unauthorized. Для информирования пользователя о действиях, которые ему необходимо предпринять, администратор может модифицировать страницу сообщения об ошибке 401 (см. документацию к используемому веб-серверу).

Особенности использования расширенных средств работы с файлами

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

Расширение для работы с файлами требует предоставления привилегии UniversalXPConnect. Веб-браузер Mozilla FireFox выполняет запрос привилегии интерактивно, но пользователь может запомнить решение для данного веб-сайта.

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

Описание, как найти папку профиля, находится здесь:
http://wiki.mozilla.ru/index.php/О профилях Mozilla Firefox (русскоязычная статья)
http://support.mozilla.com/en-US/kb/Profiles (англоязычная статья).

Далее нужно:
1. Завершить работу Mozilla FireFox.
2. Открыть prefs.js любым текстовым редактором
3. Найти в тексте строку UniversalXPConnect. Будет найден фрагмент текста следующего вида:
user_pref(«capability.principal.codebase.p.granted», «UniversalXPConnect»);
user_pref(«capability.principal.codebase.p.id», «»);
user_pref(«capability.principal.codebase.p.subjectName», «»);
либо
user_pref(«capability.principal.codebase.p.denied», «UniversalXPConnect»);
user_pref(«capability.principal.codebase.p.id», «»);
user_pref(«capability.principal.codebase.p.subjectName», «»);
где — любое число, а — это адрес нужного веб сайта. Если другой, то нужно продолжить поиск «UniversalXPConnect» по тексту.
4. Удалить найденные строки из текста.

Настройка и использование веб-браузера Apple Safari

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

Для этого откройте меню Настройки Safari (Safari Settings) выберите пункт Настройки (Preferences) и выполните настройки:

  • Разрешите выполнение JavaScript скриптов:
    на закладке Безопасность (Security) выберите Подключить JavaScript (Enable JavaScript)
  • Разрешите использование cookies:
    на закладке Безопасность (Security) в группе Принимать cookies (Accept cookies) выберите Только от посещаемых сайтов (Only from sites I visit);
  • Разрешите всплывающие окна:
    на закладке Безопасность (Security) снимите флажок Блокировать всплывающие окна (Block pop-up windows).

Рекомендуется выполнить настройку для сохранения файлов. Для этого:

  • В меню Настройки Safari (Safari Settings) выберите пункт Настройки (Preferences);
  • На закладке Основные (General) установите флажок Всегда выполнять запрос перед загрузкой (Always prompt before downloading).

Настройка и использование веб-браузера Google Chrome

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

Для этого откройте меню Инструменты (Tools), выберите пункт Параметры (Options), на закладке Расширенные (Under the Hood) нажмите кнопку Настройки содержания (Content settings) и выполните настройки:

  • Разрешите использование cookies:
    на закладке Файлы cookie (Cookies) выберите Разрешить сохранять локальные данные (рекомендуется) (Allow local data to be set (recommended)) или настройте исключения;
  • Разрешите выполнение JavaScript скриптов:
    на закладке JavaScript выберите Разрешить всем сайтам использовать JavaScript (рекомендуется) (Allow all sites to run JavaScript (recommended) или настройте исключения;
  • Разрешите всплывающие окна:
    на закладке Всплывающие окна (Pop-ups) выберите Разрешить всплывающие окна для всех сайтов (Allow all sites to show pop-ups) или настройте исключения.

Рекомендуется выполнить настройку для сохранения файлов. Для этого:

  • Откройте меню Инструменты (Tools), выберите пункт Параметры (Options);
  • На закладке Расширенные (Under the Hood) в разделе Загрузки (Downloads) установите флажок Запрашивать место для сохранения каждого файла перед загрузкой (Ask where to save each file before download).

Услуги программирования в 1С. Киев

3D визуализация и дизайн

Настройка клиент-серверного доступа к 1С через WEB-интерфейс

Пошаговая инструкция как настроить web-доступ к базам 1С.
Писал для себя как инструкцию чтобы не забыть в будущем. Может еще кому пригодится как инструкция.

Настройка клиент-серверного доступа к 1С через WEB-интерфейс

В этой статье изложена инструкция как организовать работу с конфигурацией 1С через Internet обозреватель.
Для статьи была использована настройка 1С для работы с базой MS SQL Server и в качестве web-сервера использовался Internet Information Services входящий в поставку операционной системы.
Перед началом установки должны быть установлена 1С с сервером приложений, SQL Server 2005 и выше, запущен Internet Information Services.
В качестве примера для описания статьи использовались следующие версии программного обеспечения:

 Параметр системы Название  Версия
 Операционная система  Windows 8.1 Proffesional  64 разрядная
 Платформа 1С  1С 8.3  8.3.5.1088
 Сервер БД  SQL Server 2012  SP1 x64
 Internet Information Services  Входят в поставку ОС Windows 8.1  8.1

Все описанные шаги могут работать как на старших релизах программ, так и на младших. Минимальные требования указаны на сайте 1С — http://v8.1c.ru/requirements/
Перед началом настроек, на компьютер должны быть установлены выше указанные в таблице продукты. При этом сервер 1С, сервер SQL могут находиться на разных физически или виртуальных компьютерах. Желательно чтобы Сервер 1С и Internet Information Services находились на одном физическом и логическом сервере (так будет меньше проблем с настройками).

Весь процесс настройки разбит на 5 шагов:
1 — Регистрация конфигурации и базы на серверах 1С и SQL
2 — Настройка IIS на сервере для публикации конфигурации
3 — Публикация WEB-приложения из 1С
4 — Настройка библиотек для работы в 64-х разрядной ОС
5 — Настройка прав доступа на папки и Брандмауэра Windows

Кроме того в статье содержится информация как зайти на опубликованный сайт
6. Доступ к опубликованной информационной базе

А также информация о используемых ресурсах
7. Используемые ресурсы

1. Регистрация базы на серверах 1С и SQL

1.1. Запустить Сервер 1С

После установки 1С необходимо убедиться что сервер 1С запущен. Автор обычно запускает сервер вручную. Но если вы уверены что сервер 1С запущен, то этот шаг делать не надо.

server01

1.2. Зарегистрировать кластер 1С

Запустить утилиту администрирования серверов 1С:

server02

В открывшемся окне зарегистрировать новый центральный сервер 1С предприятия:

server03

В появившемся окне ввести сетевое имя компьютера, на котором запущен 1С Сервер (или его IP-адрес):

server04

1.3. Зарегистрировать базу 1С на сервере SQL

Для начала регистрации базы необходимо запустить приложение 1С. В появившемся окне «Запуск 1С:Предприятия» регистрируем новую базу нажатием на кнопку «добавить»:

server05

Выбираем «Создание новой информационной базы»:

server06

В появившемся окне есть возможность создать базу из шаблона, или создать новую пустую базу (в последствии можно будет загрузить базу, загрузить конфигурацию или создать свою конфигурацию):

server07

Жмем кнопку далее, вводим название базы и тип расположения базы на сервере:

server08

жмем далее и заполняем поля:

server09

необходимо заметить, что поле «Имя базы данных» — это названия базы на SQL сервере. А поле «Имя информационной базы» — название базы на сервере 1С.
После чего выбираем вариант аутентефикации в 1С (Выбирать автоматически) и жмем кнопку «Готово»:

server10

1.4. Загрузить или создать конфигурацию 1С

Запустить конфигуратор с базой:

server11

Загрузить ранее выгруженную информационную базу:

server12

2. Настройка IIS на сервере

Для этого пункта информация была взята из статьи: http://infostart.ru/public/71480/

2.1. Проверка установленных компонент IIS

Для работы веб-клиента 1С:Предприятия необходимы службы IIS, которые небыли установлены по умолчанию при установке Windows 8.1 x64.
Для их установки следует перейти «Пуск — Панель управления — Программы и компоненты — Включение или отключение компонентов Windows». В появившемся дереве, в ветке «Службы IIS – Службы интернета — Компоненты разработки приложений» отметить все компоненты, как показано на рисунке. Затем нажать кнопку «Ок»:

server13

2.2. Разрешение 32-разрядных приложений в пуле приложений

Веб-клиент 1С:Предприятия 8.3 является 32-разрядным приложением. Поэтому для 64-разрядной ОС необходимо разрешить работу оных в пуле приложений сервера IIS. Для этого необходимо перейти «Пуск — Панель управления – Администрирование – Диспетчер служб IIS». В диспетчере служб выбрать «Пулы приложений – DefaultAppPool – Дополнительные параметры». В списке дополнительных параметров переменной «Разрешены 32-разрядные приложения» установить значение «True»:

server14

Установить значение в True для параметра «Разрешены 32-разрядные приложения»:

server15

2.3. Установка удостоверения пула приложений в качестве удостоверения анонимного пользователя

По умолчанию в качестве анонимного пользователя установлен пользователь IUSR, которого нет в системе. Дабы не создавать оного можно просто включить удостоверение пула приложений в качестве удостоверения анонимного пользователя. Для этого необходимо перейти «Пуск — Панель управления – Администрирование – Диспетчер служб IIS». В диспетчере служб перейти в «Проверка подлинности:

server16

На пункте «Анонимная проверка подлинности» вызвав контекстное меню «изменить»:

server17

В открывшемся диалоге отметить «Удостоверение пула приложений». Закрыть диалог, нажав кнопку «ОК».

server18

3. Публикация WEB-приложения из 1С

Для публикации приложения необходимо иметь полный доступ на папку проектов IIS. Есть 2 способа публикации приложения из 1С. 1 — сначала создать необходимую папку в каталоге «C:\inetpub\wwwroot\» в нашем случае это папка с названием «Base1C» и дать права текущему пользователю на полный доступ на эту папку. 2 способ зайти в 1С из под администратора а потом дать необходимые права на папку уже опубликованного приложения. В э статье описан второй путь.

3.1. Для публикации конфигурации на сервере IIS необходимо запустить 1С из под администратора:

Вызываем контекстное меню на ярлыке 1С и выбераем «Запуск от имени администратора»

server19

Выбираем базу и запускаем 1С в режиме конфигуратора:

server32

3.2. Запустить публикацию на web-сервере

Для начала публикации переходим в меню «Администрирование — Публикация на веб-сервере»:

server20

В появившемся окне указать имя публикации, указать веб-сервер и указать путь на веб-сервере.
1С позволяет публиковать на любой доступный веб-сервер в сети с помощью утиллиты webinst. В статье использовался пример публикации на локальный компьютер:

server33

Более подробную информацию по пунктам в окне публикации можно получить из 1С конфигуратора нажав на кнопку F1.

4. Настройка библиотек для работы в 64-х разрядной ОС

После публикации на веб-сервере из конфигуратора, в случае использования 64-х разрядной операционной системы на компьютере который используется в качестве сервера IIS, необходимо настроить работу с библиотеками 1С. Это делается каждый раз после публикации на веб-сервере.

Для настройки библиотек необходимо выполнить следующие действия.
Открываем через Панель Управления — Администрирование Диспетчер служб IIS.
В открывшемся окне раскрываем группу «Сайты» и наш сайт (в примере Base1C).
Нажимаем на «Сопоставление обработчиков» в группе IIS:

server22

В открывшемся окне ищем строку с именем «ISAPI-dll» и нажимаем пункт меню в действиях «Добавить сопоставление сценария…»

server23

В открытом окне «Добавление сопоставления сценария» в поле «Путь запроса» ввести символ * (звездочка, т.е. все). В поле «Исполняемый файл» выбрать библиотеку wsisapi.dll с каталога установленной 32-х разрядной версии 1С. В поле «Имя» можно задать любое имя (в примере Имя = 1С):

server24

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

server25

Нажать кнопку Ok.
На появившейся вопрос ответить «Да»:

server26

После чего необходимо перезапустить службу IIS. Для этого необходимо перейти в корень панели «Подключения» (на название сервера) и в меню действия справа выбрать «Перезапустить»:

server27

После чего можем проверить, работает ли подключенная библиотека. Для этого переходим в «Ограничения ISAPI и CGI»:

server28

И посмотреть, есть ли ссылки для необходимых обработчиков (dll):

server29

Еще раз следует отметить, что данную процедуру настройки библиотек следует делать каждый раз после публикации приложения из 1С.

5. Настройка прав доступа на папки и Брандмауэра Windows

5.1. Настройка доступов к папкам

Для правильной работы всех пользователей, а не только администраторов с опубликованным веб-приложениям необходимо настроить некоторые права на папки.
Для настройки прав на пакпи необходимо в проводнике Windows вызвать контекстное меню для необходимой папки и выбрать в контекстном меню пункт «Свойства» и перейти на закладку «Безопасность»

В данном случае речь идет о правах на 3 папки:
1. «C:\Program Files (x86)\1cv8\8.3.5.1088\bin\» (в этой папке находится библиотека wsisapi.dll) (номер релиза «8.3.5.1088» может быть другой)
2. C:\inetpub\wwwroot\Base1C (это созданная нами папка которая будет использоваться для доступа из интернет)
3. КаталогБазы (это база 1С, если используется файловый тип базы), в нашем примере база храниться на SQL сервере, поэтому каталога базы нет и доступа на него давать не надо.
Для всех папок (Пункты: 1,2,3) необходимо для пользователя IIS_IUSRS установить доступ «Полный доступ«:

server30

Для папки с нашей базой (Пункт 3) данных для пользователя Users, установить доступ «Изменение«.

5.2. Настройка доступов к портам в Брандмауэре Windows

Если планируется использовать web-доступ не только локально, то необходимо настроить Брандмауэр Windows для доступа с внешних ресурсов, указав порт доступа 80. Автор не использовал настроек брандмауэра, а просто отключил его:

server34

6. Доступ к опубликованной информационной базе

Для доступа к информационной базе надо зайти в обозреватель интернет (поддерживающий HTML5, например «многими любимый» Internet Explorer) и ввести в адресную строку:
http://localhost/Base1C
или по IP http://127.0.0.127/base1c

server35

7. Используемые ресурсы

Для подготовки статьи были использованы следующие ресурсы:
http://infostart.ru/public/71480/
http://infostart.ru/public/83562/
http://infostart.ru/public/185742/
Публикация баз данных «1С:Предприятия» 8.3 на веб-сервере IIS в Microsoft Windows Server 2008/2012 — http://tavalik.ru/nastrojka-veb-dostupa-k-bd-1spredpriyatie-na-iis/
Web-сервисы, механизм (Web Services, Mechanism) — http://www.v8.1c.ru/overview/Term_000000273.htm


Источник статьи: http://infostart.ru/public/295921/#

 

Услуги программирования в 1С. Киев