» Dokumentacja cFos Personal Net, Podstawowe skrypty

Standardowe skrypty cFos PNet

Skrypty dostarczane razem z cFos PNet mogą pokazać jak zaimplementować funkcje serwera za pomocą Javascript. Są zaprojektowane do użycia po stronie klienckiej ze skryptami, takimi jak jQuery. Zgodnie z zasadami skrypty po stronie serwera posiadają rozszerzenie .jss podczas gdy skrypty po stronie klienta posiadają rozszerzenie .js. To jest, cFos PNet *wykonuje* pliki .jss, wysyłając jednocześnie pliki .js do przeglądarki.

Możesz użyć debugowania skryptu za pomocą Visual studio lub Visual Web Developer. W celu debugowania skryptu potrzebujesz wersji Visual studio lub Visual Web Developer z obsługą zdalnego debugowania, np. Visual studio Professional Edition. Aby włączyć debugowanie skryptu, ustaw klucz enable_script_debugging=1 w sekcji [param] pliku GLOBAL.INI w katalogu c:\programdata\cFos\cFosPNet.

Jeśli nie masz zainstalowanego debugera skryptów, ustaw ten parametr na 0. W przeciwnym wypadku skrypt może się zawiesić na niektórych komputerach. Możesz także uruchomić cfospnet.exe z opcją -enable_script_debugging lub -esd w linii poleceń aby włączyć debugowanie dla tego programu tsratowego.

Zarządzanie i uwierzytelnianie użytkownika bazująca na skryptach

W katalogu pub znajduje się podkatalog users z podkatalogiem dla każdego użytkownika, który posiada konto na twoim serwerze cFos PNet. Hasło użytkownika lub inne opcjonalne dane profilu są przechowywane w liście hashowej, o nazwie PROFILE.TXT. To pozwala na szybki i podręczny dostęp za pomocą wbudowanego w cFos PNet mechanizmu uwierzytelniania HTTP. W publicznym katalogu jest także pod katalog www z podkatalogiem dla każdego użytkownika. Ten katalog może zawierać pobieralne pliki danego użytkownika. Skrypt file_op.jss pozwala ponadto użytkownikowi wysyłać pliki do tego katalogu.

Skrypty wykonują uwierzytelnianie bazując na odpowiednich ustawieniach .htaccess. Więc musisz zawłaszczyć poświadczenia użytkownika do którego należy katalog.

Oto krótki opis skryptów. Powinieneś zajrzeć do kodu źródłowego, jeśli chcesz poznać jak działają.
makedir2.jss Jeśli plik index.htm lub index.html nie jest obecny w żądanym katalogu, cFos PNet uruchamia skrypt generujący listing katalogu.
Skrypt używa FileSystemObject do zebrania informacji o zawartości bieżącego katalogu. Następnie ładuje plik szablonu XML, przetwarza go i generuje stronę HTML na podstawie zawartości katalogu i fragmentów dostarczanych przez XML. Aby zmienić wygląd lub funkcjonalność listingu katalogu zmodyfikuj szablon XML. Wynikowy plik HTML posiada wbudowane podstawowe linki obsługi pliku. Jako administrator możesz się zalogować używając uwierzytelniania HTTP i zmieniać nazwę, kasować plik lub katalogi, wysyłać pliki a także tworzyć nowe katalogi. Jest to wspierane przez jQuery po stronie klienckiej, który jest w zasadzie używany aby w dogodny sposób wysyłać żądania Ajax do cFos PNet. Skrypt po stronie serwera file_op.jss wykonuje niezbędne uwierzytelnianie HTTP i obsługuje operacje plików.

file_op.jss Wykonuje operacje plikowe zgodnie z powyższym uwierzytelnianiem. Operacje plikowe to rename, delete, mkdir do tworzenia katalogu i wysyłu. Wysyłanie danych zwykle wymaga uwierzytelniania. Ponieważ przeglądarka zawsze najpierw wysyła cały przesłany plik do serwera i później dostaje informacje o uwierzytelnianiu, dane pliku są przesyłane dwukrotnie. Aby najpierw przesłać informacje o uwierzytelnieniu przeglądarce To give the browser the authentication information first, skrypt file_op.jss operacje wysyłu w locie. Przeglądarka używając odwołań ajax, pyta serwer odpowiedź uwierzytelniająca HTTP (401) i wówczas automatycznie używa jej do bieżącego wysyłu. Wysył dokonuje się za pomocą funkcji w pliku upload.jss, który używa pliku cFos PNet w celu zezwolenia wysyłu plików o dowolnym rozmiarze.

user_op.jss Wykonuje podstawowe czynności administracyjne: twórz, kasuj, resetuj hasło i lista. Do uwierzytelniania wymagane jest konto administratora.

list_op.jss
Ponieważ lista hashowa odgrywa ważną rolę w cFos PNet, list_op.jss udostępnia podstawową listę operacji dostępnych dla żądań Ajax. Wykonywany jest identyczny schemat uwierzytelniania jak opisano powyżej. To znaczy: W zależności od lokalizacji skryptu wybierany jest użytkownik dla którego wymagane jest uwierzytelnianie. Uwierzytelnianie jest przeprowadzane według ustawień dyrektywy PNet_limitPut w .htaccess. list_op.jss oferuje następujące operacje:

get Pobiera listę wartośći w liście hashowej.
set Ustawia listę kluczy listą wartości.
save Zapisuje migawkę na dysk.
erase Kasuje listę kluczy.
clear Czyści wszystkie klucze.
remove Usuwa listę z pamięci / dysku.
size Zwraca rozmiar listy.
list Listuje wszystkie elementy listy hashowej.

Ajax w dyndns.htm korzysta z tych operacji w celu ustawienia informacji konfiguracyjnej DynDNS.

dyndns.jss Wykonuje rejestrowanie i wyrejestrowanie DynDNS używając danych konfiguracyjnych w liście hashowej dyndns.txt w prywatnym katalogu.
Może być użyty podczas startu i zamykania serwera (patrz Rozdział 1).

get_connections.jss Używany do wyświetlanie bieżących połączeń HTTP. HTTP jest wykonywane poprzez TCP. Aby przyspieszyć zapytania HTTP, przeglądarki próbują używać ponownie tych samych połączeń TCP dla zapytań HTTP. Właściwe zapytanie HTTP to tylko krótka wiadomość i odpowiedź. Następnie przeglądarka zamyka połączenie TCP po kilku sekundach. Więc widzisz użytkownika tylko przez krótki czas. Jeśli uwierzytelnianie się powiodło zwracana jest także nazwa użytkownika razem z jego adresem IP.

stretch.jss Ponieważ zmiana rozmiaru grafik do formatu używanego przez stronę jest zawsze dodatkowym obciążeniem dla webmastera, zaimplementowaliśmy mały skrypt, który wykorzystuje obiekt graficzny cFos PNet (GDI+). Używa parametry filename oraz w (szerokość) i h (wysokość) w łańcuchu zapytania URL. Jeśli obrazy są bezwzględnych rozmiarów, powinieneś użyć tylko jednego parametru aby zachować format obrazu. makedir2.jss używa linków do tego skryptu w celu wyświetlania miniatur dla obrazów przechowywanych w bieżącym katalogu.

utils.jss
Zbiór funkcji narzędziowych aby ułatwić pisanie skryptów po stronie serwera. Oferuje następującą funkcjonalność:

- opakowanie obiektów serwera sieciowego i jego funkcji.
- rozszerzenie obiektu Javascript String o kilka przydatnych funkcji.
- wykonywanie analizy parametrów w łańcuchu zapytania lub danych formularza przesyłanych metodą POST.
- wczytywanie, zapisywanie i wysyłanie (za pomocą mail) małych plików.
- daty rfc 1123 takie jak używane w ciasteczkach.
- ciasteczka.
- prosta funcja przekształcenia XML.

Jeśli używasz cFos PNet w większych projektach, możesz chcieć zapakować jednostki funkcjonalne w moduły, zamiast prostego dołączanego pliku skryptowego. cFos PNet oferuje wsparcie specyfikacji modułu w inicjatywie common.js.

Dokumentacja cFos Personal Net

Powered by cFos Personal Net Web Server
Practice random kindness and senseless acts of beauty