Hallo, ich habe hier einen Apache-Server laufen, auf dem Studenten Programmier-Aufgaben einreichen, und diese dann automatisch kontrolliert werden. Ich verwende hierzu eine Serie von html-Formen zusammen mit cgi-Skripten (in C++). Ich habe nun von verschiedenen Seiten Widerspruechliches darueber gehoert, ob es ein "Doppel-Klick"-Problem gibt oder nicht: Wenn ein Student zweimal hintereinander schnell auf das Submit-Feld klickt, kann es dann passieren, dass (unbeabsichtigt) die gleiche Form zweimal an den Server geschickt wird?! Da die Anzahl der Einreichungen begrenzt ist pro Student, habe ich, um solche Fehler auszuschalten, eine Sperre eingerichtet, so dass zu keinem Zeitpunkt ein Student (identifiziert durch Studenten-Nummer) mehr als einen Prozess laufen hat.
Beim Warten des Programm-Systems frage ich mich nun, ob dieses Problem nicht vielleicht doch ein eingebildetes ist?! Ist es Aufgabe des Browsers, sicherzustellen, dass wenn man einmal die Submit-Taste betaetigt hat, dass dann die Form inaktiv ist?!?! In den Buechern, die ich zu html usw. habe, habe ich kein Wort darueber gefunden, was denn wirklich passiert (bzw. passieren sollte), wenn man eine Form abschickt. Eine damit verbundene Frage ist, wo ich denn am besten (unter Suse 8.0) die Zeile RLimitNPROC 1 1 eintrage, die ja wohl obiges Problem in jedem Falle loest. (Ich verstehe dies hoffentlich richtig, dass damit die Anzahl der Prozesse pro Klient beschraenkt wird?! In "Apache The Definite Guide" (na ja) heisst es, dass damit die Anzahl der Prozesse pro "user" beschraenkt wird --- welcher user ist denn damit gemeint?!) Im allgemeinen traegt man derartige Direktiven wohl in /etc/httpd/httpd.conf ein, aber um die automatische Konfiguration von Suse nicht abzuschalten, darf man wohl diese Datei nicht von Hand konfigurieren. Ist nun die richtige Methode die, in /etc/sysconfig/apache eine entsprechende Datei in die (noch leere) Liste HTTPD_CONF_INCLUDE_FILES="" einzutragen, wobei diese Datei dann die Zeile RLimitNPROC 1 1 (plus etwaige andere Direktiven) enthaelt?!?! Fuer Hinweise waer ich sehr dankbar! Oliver
