cFosSpeed тепер в нових руках. Atlas Tech Solutions тепер володіє, розробляє та продає нові версії цієї програми
Новинка! Від розробників cFosSpeed: cFos EVSE

Стандартні скрипти cFos PNet

Сценарії, що постачаються з cFos PNet, можуть показати, як реалізувати функції сервера за допомогою JavaScript. Вони призначені для використання зі скриптами браузера на стороні клієнта, такими як jQuery. За домовленістю сценарії на стороні сервера використовують розширення .jss, в той час як сценарії на стороні клієнта використовують розширення .js. Тобто, cFos PNet *виконує* .jss файли, а браузеру відправляє .js файли.

Ви можете використовувати налагодження скриптів за допомогою Visual studio або Visual Web Developer. Для налагодження скриптів необхідна версія Visual Studio або Visual Web Developer з підтримкою віддаленого налагодження, тобто Visual Studio Professional Edition. Щоб включити налагодження скриптів, встановіть ключ enable_script_debugging=1 в розділі [param] файлу GLOBAL.INI в папці c:\programdata\cFos\cFosPNet папці.

Якщо у вас не встановлений відладчик скриптів, встановіть значення 0, інакше скрипти можуть зависати на деяких машинах. Ви також можете завантажити cfospnet.exe за допомогою -enable_script_debugging або -esd щоб увімкнути налагодження скриптів для запуску цієї програми.

Адміністрування та аутентифікація користувачів на основі сценаріїв

У папці pub знаходиться підпапка users з підпапкою для кожного користувача, який має обліковий запис на вашому сервері cFos PNet. Пароль користувача або інші необов'язкові дані профілю зберігаються у хеш-списку з назвою PROFILE.TXT. Це забезпечує швидкий і кешований доступ для вбудованої в cFos PNet HTTP-аутентифікації. У загальній папці також є підпапка www з підпапкою для кожного користувача. Ця папка може містити завантажувані файли цього користувача. Скрипт file_op.jss також дозволяє користувачеві завантажувати файли в цю папку.

Скрипти виконують аутентифікацію згідно з відповідними .htaccess налаштувань. Тому потрібні відповідні облікові дані користувача, якому належить каталог.

Ось короткий опис скриптів. Вам варто зазирнути у вихідний код, щоб зрозуміти, як вони працюють.
makedir2.jssЯкщо ні index.htm або index.html у запитуваному каталозі немає файлів, cFos PNet запускає цей скрипт для генерації списку каталогів.
Сценарій використовує FileSystemObject для збору інформації про вміст поточного каталогу. Потім він завантажує файл шаблону XML, аналізує його і генерує HTML-сторінку з вмісту каталогу і фрагментів, наданих XML. Для зміни зовнішнього вигляду або функціональності списку каталогів необхідно змінити шаблон XML. Отриманий HTML-файл містить основні посилання для обслуговування файлів. Як адміністратор ви можете увійти в систему, використовуючи HTTP-аутентифікацію, і перейменовувати, видаляти файли або папки, завантажувати файли, а також створювати нові папки. Це підтримується jQuery на стороні клієнта, який в основному використовується для зручного надсилання Ajax-запитів до cFos PNet. Скрипт на стороні сервера file_op.jss виконує необхідну HTTP-аутентифікацію та обробляє операції з файлами.


file_op.jssВиконує файлові операції відповідно до вищевказаної аутентифікації. Операції з файлами - це rename, delete, mkdir створення папки та завантаження. Завантаження зазвичай потребує автентифікації. Оскільки браузер завжди спочатку надсилає весь завантажений файл на сервер, а потім отримує інформацію про автентифікацію, він надсилає файл двічі. Щоб спочатку надати браузеру інформацію про автентифікацію, скрипт file_op.jss скрипт підтримує передпольотну операцію завантаження. Браузер за допомогою Ajax-запиту запитує у сервера HTTP-відповідь про аутентифікацію (401), а потім автоматично використовує її для фактичного завантаження. Завантаженням займається функція в upload.jssяка використовує файловий об'єкт cFos PNet, що дозволяє завантажувати файли довільного розміру.

user_op.jssВиконує основні функції адміністрування користувачів create, delete, reset password та list. Користувач admin необхідний для аутентифікації.

list_op.jssОскільки хеш-списки відіграють важливу роль для cFos PNet, list_op.jss надає базові операції зі списком, доступні для запитів Ajax. Виконується така ж схема автентифікації, як описано вище. А саме: Залежно від місця розташування скрипту вибирається користувач, для якого потрібна автентифікація. Автентифікація виконується згідно з директивами у відповідних .htaccess файлах list_op.jss пропонує наступні операції:

get Отримати список значень в хеш-списку.
set Встановити список ключів до списку значень.
save Зберегти знімок на диск.
erase Стерти список ключів.
clear Видалити всі ключі.
remove Видалити список з пам'яті / диска.
size Повернути розмір списку.
list Перерахувати всі елементи хеш-списку.

Ajax у dyndns.htm використовує ці операції для налаштування конфігураційної інформації DynDNS.


dyndns.jssВиконує реєстрацію або зняття з реєстрації DynDNS, використовуючи дані конфігурації в хеш-листі dyndns.txt в приватній папці.
Може використовуватися при запуску та вимкненні сервера (див. розділ 1).


get_connections.jssВикористовується для відображення поточних HTTP-з'єднань. HTTP здійснюється через TCP. Щоб прискорити HTTP-запити, браузери намагаються повторно використовувати TCP-з'єднання для HTTP-запитів. Фактичний HTTP-запит - це лише коротке повідомлення та відповідь. Після цього браузер закриває TCP-з'єднання через кілька секунд. Таким чином, ви можете бачити користувача лише протягом короткого часу. Якщо аутентифікація пройшла успішно, ім'я користувача також повертається разом з його IP-адресою.

stretch.jssОскільки для веб-майстра завжди обтяжливо змінювати розміри зображень під формат, який використовується на веб-сторінці, ми реалізували невеликий скрипт, який використовує об'єкт зображення cFos PNet (GDI+). Він використовує ім'я файлу та параметри w (ширина) і h (висота) в рядку запиту URL-адреси. Якщо ваші зображення мають довільний розмір, вам слід використовувати лише один параметр, щоб зберегти співвідношення сторін зображення. makedir2.jss використовує посилання на цей скрипт для відображення мініатюр зображень, що зберігаються в поточній папці.

utils.jssЗбірник утиліт для спрощення написання скриптів на стороні сервера. Пропонує наступний функціонал:

- обгорнути об'єкт веб-сервера та його функції.
- розширити об'єкт JavaScript String декількома корисними функціями.
- виконання оцінки параметрів скрипта як з рядка запиту, так і з даних форми, що використовується з POST.
- завантаження, збереження та пересилання (поштою) невеликих файлів.
- дати rfc 1123, використовувані в файлах cookie.
- файли cookie.
- проста функція перетворення XML.

Якщо ви використовуєте cFos PNet для великих проектів, ви можете захотіти упакувати функціональні одиниці в модулі, замість простого включеного файлу сценарію. cFos PNet пропонує підтримку специфікації модулів ініціативи common.js.


cFos Personal Net документація

Документація включених стандартних скриптів cFos Personal Net