cFosSpeed is nu in nieuwe handen. Atlas Tech Solutions is nu eigenaar, ontwikkelaar en verkoper van nieuwe versies ervan
Bezoek ook onze cFos eMobility pagina voor onze elektromobiliteitsproducten, zoals cFos EVSE, cFos Charging Manager en cFos Wallbox Booster

De cFos PNet-standaardscripts

De scripts die bij cFos PNet worden geleverd, laten mogelijk zien hoe serverfuncties kunnen worden geïmplementeerd met JavaScript. Ze zijn ontworpen voor gebruik met client-side browser scripting, zoals jQuery. Volgens de conventie gebruiken server-side scripts de extensie .jss, terwijl client-side scripts de extensie .js gebruiken. Dat wil zeggen, cFos PNet *voert* .jss-bestanden uit, terwijl het .js-bestanden naar de browser verzendt.

U kunt script-foutopsporing gebruiken met Visual Studio of Visual Web Developer. Voor het debuggen van scripts heeft u een Visual studio- of Visual Web Developer-versie nodig met ondersteuning voor foutopsporing op afstand, dwz. Visual Studio Professional Edition. Om foutopsporing in scripts in te schakelen, stelt u de sleutel enable_script_debugging=1 in in de sectie [param] van het bestand GLOBAL.INI in de map c:\programdata\cFos\cFosPNet.

Als u geen script debugger hebt geïnstalleerd, stelt u dit in op 0. Anders kunnen scripts op sommige machines hangen. U kunt cfospnet.exe ook laden met -enable_script_debugging of -esd opdrachtregelomschakeling om foutopsporing in scripts in te schakelen voor het starten van dit programma.

Scriptgebaseerd gebruikersbeheer en authenticatie

In de pub bevindt zich een submap voor users met een submap voor elke gebruiker, die een account op uw cFos PNet-server heeft. Het gebruikerswachtwoord of andere optionele profielgegevens worden opgeslagen in een PROFILE.TXT naam PROFILE.TXT. Dit maakt snelle en gecachte toegangen mogelijk voor door cFos PNet ingebouwde HTTP-authenticatie. In de openbare map bevindt zich ook een submap www met een submap voor elke gebruiker. Deze map kan downloadbare bestanden van die gebruiker bevatten. Met het script file_op.jss kan de gebruiker ook bestanden naar deze map uploaden.

De scripts voeren authenticatie uit volgens de respectieve .htaccess instellingen. U hebt dus aangepaste gebruikersreferenties nodig voor de gebruiker waartoe de map behoort.

Hier een korte beschrijving van de scripts. Neem een kijkje in de broncode om te zien hoe deze werken.
makedir2.jssAls er geen index.htm of index.html bestand aanwezig is in de gevraagde map, start cFos PNet dit script om een directorylijst te genereren.
Het script gebruikt het FileSystemObject om informatie te verzamelen over de inhoud van de huidige map. Vervolgens laadt het een XML-sjabloonbestand, parseert het en genereert een HTML-pagina uit de mapinhoud en de fragmenten die door de XML worden geleverd. Als u het uiterlijk of de functionaliteit van de directorylijst wilt wijzigen, wijzigt u de XML-sjabloon. Het resulterende HTML-bestand bevat elementaire koppelingen voor bestandsonderhoud. Als beheerder kunt u inloggen met HTTP-authenticatie en hernoemen, bestanden of mappen verwijderen, bestanden uploaden en nieuwe mappen maken. Dit wordt ondersteund door jQuery aan de clientzijde, die in feite wordt gebruikt om Ajax-aanvragen gemakkelijk naar cFos PNet te verzenden. Het server-side script file_op.jss voert de nodige HTTP-authenticatie uit en zorgt voor de bestandsbewerkingen.


file_op.jssVoert bestandsbewerkingen uit volgens de bovenstaande authenticatie. Bestandsbewerkingen zijn rename, delete, mkdir om een map te maken en te uploaden. Upload vereist meestal authenticatie. Omdat de browser altijd eerst het hele geüploade bestand naar de server verzendt en vervolgens de authenticatie-informatie ontvangt, wordt het bestand twee keer verzonden. Om de browser eerst de authenticatie-informatie te geven, ondersteunt het script file_op.jss een upload vóór de vlucht. De browser vraagt met behulp van een Ajax-verzoek om de HTTP-authenticatiereactie (401) en gebruikt deze vervolgens automatisch voor de daadwerkelijke upload. Upload wordt afgehandeld door een functie in upload.jss, die het bestandsobject van cFos upload.jss gebruikt om bestanden met een willekeurige grootte te uploaden.

user_op.jssVoert basisfuncties voor gebruikersbeheer uit: create, delete, reset password en list. De admin-gebruiker is vereist voor authenticatie.

list_op.jssOmdat hash-lijst een belangrijke rol speelt voor cFos list_op.jss biedt list_op.jss basislijstbewerkingen die beschikbaar zijn voor Ajax-aanvragen. Hetzelfde authenticatieschema als hierboven beschreven wordt uitgevoerd. Dat wil zeggen: afhankelijk van de locatie van het script wordt de gebruiker gekozen waarvoor de authenticatie is vereist. De authenticatie gebeurt volgens de richtlijnen in de respectieve .htaccess bestanden. list_op.jss biedt de volgende bewerkingen aan:

get Haal een lijst met waarden in de hashlijst.
set een lijst met sleutels in op een zoeklijst.
save Bewaar een snapshot op schijf.
erase Wist een lijst met toetsen.
clear Wist alle toetsen.
remove Verwijder de lijst uit geheugen / schijf.
size Retourneer de lijstgrootte.
list alle elementen in de hashlijst weer.

De Ajax in dyndns.htm maakt gebruik van deze bewerkingen om DynDNS-configuratie-informatie in te stellen.


dyndns.jssVoert DynDNS-register uit of uit, met behulp van de configuratiegegevens in de dyndns.txt in de dyndns.txt.
Kan worden gebruikt bij het opstarten en afsluiten van de server (zie hoofdstuk 1).


get_connections.jssWordt gebruikt om de huidige HTTP-verbindingen weer te geven. HTTP wordt gedaan via TCP. Om HTTP-aanvragen te versnellen, proberen de browsers TCP-verbindingen opnieuw te gebruiken voor HTTP-aanvragen. Het werkelijke HTTP-verzoek is slechts een kort bericht en een antwoord. Daarna verbreekt de browser de TCP-verbinding na enkele seconden. U kunt een gebruiker dus maar kort zien. Als de authenticatie succesvol was, wordt de gebruikersnaam ook geretourneerd met het IP-adres van de gebruiker.

stretch.jssOmdat het voor de webmaster altijd een last is om het formaat van afbeeldingen te wijzigen naar het formaat dat op de webpagina wordt gebruikt, hebben we een klein script geïmplementeerd, dat het cFos PNet-afbeeldingsobject (GDI +) gebruikt. Het gebruikt een bestandsnaam en een parameter w (breedte) en h (hoogte) in de queryreeks van de URL. Als uw afbeeldingen van willekeurige grootte zijn, moet u slechts één parameter gebruiken om de beeldverhouding van de afbeelding te behouden. makedir2.jss gebruikt koppelingen naar dit script om miniatuurafbeeldingen weer te geven voor afbeeldingen die zijn opgeslagen in de huidige map.

utils.jssVerzameling van hulpprogramma's om scripting op de server te vereenvoudigen. Biedt de volgende functionaliteit:

- verpak het webserverobject en zijn functies.
- Breid het JavaScript String-object uit met enkele nuttige functies.
- voer een scriptparameterevaluatie uit van de queryreeks of de formuliergegevens die met POST worden gebruikt.
- laden, opslaan en verzenden (via mail) van kleine bestanden.
- RFC 1123-datums zoals gebruikt in cookies.
- cookies.
- een eenvoudige XML-transformatiefunctie.

Als u cFos PNet voor grotere projecten gebruikt, wilt u misschien functionele eenheden in modules verpakken in plaats van een eenvoudig inbegrepen scriptbestand. cFos PNet biedt ondersteuning voor de modulespecificatie van het common.js-initiatief.


cFos Personal Net-documentatie

cFos Personal Net-documentatieDe standaardscriptsDocumentatie van de meegeleverde standaardscripts van cFos Personal Net