Timo: Wie arbeitet ein Server?

Hi,

mir fallen gerade ein paar blöde Fragen ein, aber wissen möchte ich das mal.

Die meissten Webseitenersteller denken ja ein PHP/sonstwas-Script regelt alles was auf dem Server passieren darf. Aber dem ist ja nicht so.

Klar ich kann ein paar PHP.ini Einstellungen ändern, aber was ist eigentlich mit dem Server?

Wenn ich PHP erlaube maximal 5MB Files raufzuladen, heisst das doch lange noch nicht, dass der Server nicht mehr annimmt oder doch?

Überhaupt Formulare/Uploads, man denkst ja auch wenn ich kein Formular auf der Seite habe kann es auch keine Post-oder Files Requests geben. Das ist ja nun auf jeden Fall Quatsch. Nur, was macht de Server mit diesen Daten?

Im normalen Fall, also mit PHP/Form usw..., würde eine Datei erstmal in den tmp-ordner wandern.

Hier beim Forum gibts kein Upload, was wenn ich jetzt ein lokales Formular erstelle und action hierhin adressiere? Nimmt der Server die Daten trotzdem an und speichert sie irgendwo? Und falls er das tut, auch um sie danach zu löschen, ist das nicht eine Gefahr, denn dann könnte man ja jeden Server kurzfristig extrem zumüllen, bzw überlasten. Und nochmals, falls das so ist, gibt es keine Gegenmassnahme, also irgendwie alle Request die nicht ausdrücklich angefordert werden, direkt abbrechen?

Timo

  1. Hi,

    Wenn ich PHP erlaube maximal 5MB Files raufzuladen, heisst das doch lange noch nicht, dass der Server nicht mehr annimmt oder doch?

    Der kann natuerlich noch seine eigenen Limits konfiguriert haben.

    Überhaupt Formulare/Uploads, man denkst ja auch wenn ich kein Formular auf der Seite habe kann es auch keine Post-oder Files Requests geben. Das ist ja nun auf jeden Fall Quatsch.

    Natuerlich.

    Nur, was macht de Server mit diesen Daten?

    Nun ja, es muss ja eine Zieladresse angegeben werden. Findet er unter der nichts, gibt's 'nen 404, und fertich.
    Bei existierenden Ressourcen solltest du selber am besten wissen, ob und wie sie ggf. auf bspw. POST-Requests, File-Uploads etc. reagieren.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Hi Chris,

      Nur, was macht de Server mit diesen Daten?

      Nun ja, es muss ja eine Zieladresse angegeben werden. Findet er unter der nichts, gibt's 'nen 404, und fertich.

      Eine gültoge zieladresse ist ja nicht das Problem: zb. http://forum.de.selfhtml.org/

      Bei existierenden Ressourcen solltest du selber am besten wissen, ob und wie sie ggf. auf bspw. POST-Requests, File-Uploads etc. reagieren.

      Das verstehe ich nicht. Ein Script hat ja erst mal keinen Einfluss auf das was ankommt. Die Frage ist eher was macht der Server mit den Eingängen, belastet das schon in irgendeinerweise den Server, zb. mein Filebeispiel?

      Timo

      1. Hi,

        Das verstehe ich nicht. Ein Script hat ja erst mal keinen Einfluss auf das was ankommt. Die Frage ist eher was macht der Server mit den Eingängen,

        Zum Beispiel fuer Ressourcen, die aus .htm(l)-Dateien generiert werden, ist es beim Apachen Standard, dass er gar keine POST-Requests auf diese zulaesst.

        belastet das schon in irgendeinerweise den Server, zb. mein Filebeispiel?

        Wie gesagt, Limits hinsichtlich Requestgroesse lassen sich auch konfigurieren.

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“
  2. Hallo Timo,

    Wenn ich PHP erlaube maximal 5MB Files raufzuladen, heisst das doch lange noch nicht, dass der Server nicht mehr annimmt oder doch?

    Zunächst muss man da wohl unterscheiden, wie ein Interpreter mit dem Server kommuniziert. PHP kann ja einmal als Modul laufen, dann hat es ohnehin sehr viel Einfluss auf Abläufe im Server oder per CGI aufgerufen werden.

    Im Falle von CGI kommen alle Daten über einen Kanal STDIN (im Modul-Fall wird das ähnlich sein, aber ich kenne die Apache-API nicht).
    Der Server leitet die Daten da mehr oder weniger direkt durch. In dem Moment, indem der Kanal geschlossen wird, wird der Server sicher auch die Verbindung abbrechen. Damit kann ein Script kontrollieren, wie viele Daten gelesen werden. (Abgesehen von den Daten, die vielleicht schon in irgend welchen Puffern liegen).

    Grüße

    Daniel

  3. Hi,

    Die meissten Webseitenersteller denken ja ein PHP/sonstwas-Script regelt alles was auf dem Server passieren darf. Aber dem ist ja nicht so.

    diejenigen, die das denken, kommen in der Regel nicht mal auf die Idee, dass es neben PHP noch ein "sonstwas" geben könnte, geschweige denn hunderte.

    Wenn ich PHP erlaube maximal 5MB Files raufzuladen,

    Du meinst sicher "anzunehmen". Das Heraufladen vollzieht der Client, ein Server empfängt die Daten nur.

    heisst das doch lange noch nicht, dass der Server nicht mehr annimmt oder doch?

    Es ist zumindest wahrscheinlich, dass er - je nach Kontext - mehr annimmt.

    Überhaupt Formulare/Uploads, man denkst ja auch wenn ich kein Formular auf der Seite habe kann es auch keine Post-oder Files Requests geben. Das ist ja nun auf jeden Fall Quatsch. Nur, was macht de Server mit diesen Daten?

    Das selbe wie mit jedem Request: Er versucht die Weltherrschaft an sich ... äh ... Nee. Was ich meinte ist: In HTTP steht jeder Request für sich. Es gibt kein "von". Ob also auf irgend einer Seite irgend etwas ist oder nicht ist, spielt weder Rolle noch Geige - der Server erhält einen Request, den er bearbeitet.

    Im normalen Fall, also mit PHP/Form usw..., würde eine Datei erstmal in den tmp-ordner wandern.

    Im normalen Fall, also ohne Form, passiert nichts anderes. Wenn ein tmp-Ordner verwendet wird, hat das übrigens PHP gemacht.

    Hier beim Forum gibts kein Upload, was wenn ich jetzt ein lokales Formular erstelle und action hierhin adressiere? Nimmt der Server die Daten trotzdem an und speichert sie irgendwo?

    Wenn etwas die Daten entgegen nimmt, was auf diese Weise reagiert: Ja. Wenn nicht, dann nicht.

    Und falls er das tut, auch um sie danach zu löschen, ist das nicht eine Gefahr, denn dann könnte man ja jeden Server kurzfristig extrem zumüllen, bzw überlasten.

    Denial of Service ist ein sehr allgemeines und umfassendes Thema.

    Und nochmals, falls das so ist, gibt es keine Gegenmassnahme, also irgendwie alle Request die nicht ausdrücklich angefordert werden, direkt abbrechen?

    *Kein* Request wird ausdrücklich angefordert. Es wird darauf gewartet.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes