Стандартні скрипти 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 запускає цей скрипт для генерації списку каталогів. |
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 пропонує наступні операції: |
dyndns.jss | Виконує реєстрацію або зняття з реєстрації DynDNS, використовуючи дані конфігурації в хеш-листі dyndns.txt в приватній папці. |
get_connections.jss | Використовується для відображення поточних HTTP-з'єднань. HTTP здійснюється через TCP. Щоб прискорити HTTP-запити, браузери намагаються повторно використовувати TCP-з'єднання для HTTP-запитів. Фактичний HTTP-запит - це лише коротке повідомлення та відповідь. Після цього браузер закриває TCP-з'єднання через кілька секунд. Таким чином, ви можете бачити користувача лише протягом короткого часу. Якщо аутентифікація пройшла успішно, ім'я користувача також повертається разом з його IP-адресою. |
stretch.jss | Оскільки для веб-майстра завжди обтяжливо змінювати розміри зображень під формат, який використовується на веб-сторінці, ми реалізували невеликий скрипт, який використовує об'єкт зображення cFos PNet (GDI+). Він використовує ім'я файлу та параметри w (ширина) і h (висота) в рядку запиту URL-адреси. Якщо ваші зображення мають довільний розмір, вам слід використовувати лише один параметр, щоб зберегти співвідношення сторін зображення. makedir2.jss використовує посилання на цей скрипт для відображення мініатюр зображень, що зберігаються в поточній папці. |
utils.jss | Збірник утиліт для спрощення написання скриптів на стороні сервера. Пропонує наступний функціонал: |
Документація включених стандартних скриптів cFos Personal Net