Webprogrammierung

OP #4865419
Hallo zusammen,

auf einem Server laufen einige Dienstprogramme, die ich per Website 
konfigurierien möchte. Das ganze kann in einer einfachen Textdatei 
passieren. Jetzt fehlt mir leider ein bisschen der Überblick über die 
vielen verschiedenen Technologien.

Ich würde das gerne mit Node.js versuchen. Unter [1] ist beschrieben, 
wie ich auf das Dateisystem zugreife. Unter [2], wie ich einen Server 
starte. Mir fehlt nun irgendwie die Verbindung zwischen den beiden.

Ich nehmen an ich muss im HTML-File "irgendwie" die 
Javascript-Funktionen aufrufen, diese werden jedoch nicht gefunden.

Kann mir jemand einen Tipp geben?

Viele Grüße
Dennis

[1] https://www.tutorialspoint.com/nodejs/nodejs_file_system.htm
[2] https://www.tutorialspoint.com/nodejs/nodejs_web_module.htm
Gast #4865435
Du solltest dir erstmal klar werden wo du überhaupt was verändern willst 
- Client oder Server.

javascript ist Cientseitig.
Wenn du auf deinem Server irgendwas verändern willst ist her PHP oder 
ähnliches dein freund.
Gast #4865438
@Irgendwer
NodeJS ist serverseitig

@elito
schau dir mal express.js an - das ist eine Middleware für NodeJS die 
einem bei sowas helfen kann.

Generell muss du einen Controller für den HTTP Server schreiben, der die 
von dir gewünschten Aufgaben umsetzt. Hier ist auch die frage was du 
genau machen willst.
OP #4865445
Irgendwer schrieb:
> Du solltest dir erstmal klar werden wo du überhaupt was verändern
> willst
> - Client oder Server.
>
> javascript ist Cientseitig.
> Wenn du auf deinem Server irgendwas verändern willst ist her PHP oder
> ähnliches dein freund.

Im Prinzip soll es trotz Javascript auf dem Server verändert werden. 
Dank Node.js ist das ja auch machbar. Mir fehlt nur einfach die 
Verbindung zwischen den beiden Modulen ("Filesystem" und "Web Module").

Danke für deine Antwort.
OP #4865457
Okay, nochmal ein Nachtrag. Die Konsolen-Ausgabe ist
1
Server running at http://127.0.0.1:8081/
2
Request for / received.
3
{ Error: ENOENT: no such file or directory, open ''
4
    at Error (native) errno: -4058, code: 'ENOENT', syscall: 'open', path: '' }
#4865601
Verstehst du den Code? Entscheidend ist hierzu zunächst die Stelle:
1
   // Read the requested file content from file system
2
   fs.readFile(pathname.substr(1), function (err, data) {
Wenn du im Browser http://127.0.0.1:8081/ eingibst, dann enthält 
pathname '/'. pathname.substr(1) gibt pathname ohne das erste Zeichen 
zurück, also ''. fs.readFile versucht also im cwd (Current Working 
Directory) eine Datei mit Namen '' zu öffnen. Eine Datei ohne Namen kann 
nicht existieren, wird somit nicht gefunden, und du bekommst deine 
Fehlermeldung. Versuche im Browser http://127.0.0.1:8081/index.htm 
aufzurufen, und stelle sicher, dass du den Server in dem Verzeichnis 
gestartet hast, in welchem sich die index.htm befindet. 
pathname.substr(1) von '/index.htm' wäre dann 'index.htm' und es würde 
im cwd die datei index.htm ausgelesen.

Es sollte beachtet werden, dass url.parse den Pfad nicht normalisiert, 
mit telnet kann man so eigentlich immer Dateien abfragen, die Entwickler 
eigentlich nicht zugänglich machen wollten. z.B. könnte man hier mit 
telnet den Pfad //etc/passwd angeben, und das pathname.substr(1) würde 
zu /etc/passwd. Schon hätte ich die Benutzeraccounts. Dann noch 
//etc/shadow runterladen, und ich kann die Passwort hashs durchs 
Wörterbuch jagen. 
https://www.tutorialspoint.com/execute_nodejs_online.php?PID=0Bw_CjBb95KQMSFRoSUQ3cWt5SzQ

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.