"Method Post not allowed" - aber nicht immer
Ed X
- webserver
Hi,
Ich bin mit einem Projekt auf einen anderen Server gezogen. Selbiger
(neuer Server) mag meine Scripts nicht. Ich habe statische HTML-seiten
mit Post-Formularen, die das Forum realisieren. Das funktioniert auch
bestens. Und ich habe seiten die aus Perlscripten heraus entstehen. Auch
in diesen gibt es Post-Formulare(um Adresseneinträge zu ändern etc.).
Wenn ich diese absende bekomme ich die Server-Fehlermeldung "Method post
is not allowed for (aufgerufenes script)".
Die Scripts für das Forum und die Adressenänderung liegen im selben Ver-
zeichnis und haben die selben Rechte(755). Meine Vermutung ist nun, dass
es daran liegt, dass die eine (aufrufende) Seite statisch ist und die
andere dynamisch erzeugt wird. Ich denke es müsste ein Eintrag in der http.conf sein, aber ich weis nicht welcher. Gibt es noch eine andere
Lösung?(ich bin nicht der Herr über den betreffenden Server)
bye eddie
Moin!
Und ich habe seiten die aus Perlscripten heraus entstehen.
"die aus Perlscripten heraus entstehen"? Was soll das heissen? Wird direkt an diese Perlscript gePOSTet, oder werden diese per SSI eingebunden (geht das ueberhaupt?), oder wie?
Die Scripts für das Forum und die Adressenänderung liegen im selben Verzeichnis
Die Scripts fuer die Adressenaenderung? Irgendwie habe ich ziemliche Verstaendnisschwierigkeiten bei diesem Posting.
Also sag mal im Klartext, welche statischen Dateien und welche Scripte hast Du wo liegen, wer ruft wen auf oder wer bindet wen ein? Was wurde Dir vom Provider bzgl. CGI-Scripts gesagt, also wo koennen welche ausgefuehrt werden? Und: Wird .htaccess unterstuetzt (Ja/Nein/teilweise (falls letzteres, zu *welchem* Teil))?
So long
--
Alle Verallgemeinerungen sind falsch.
Hi Calocybe,
"die aus Perlscripten heraus entstehen"? Was soll das heissen? Wird direkt an diese Perlscript gePOSTet, oder werden diese per SSI eingebunden (geht das ueberhaupt?), oder wie?
Ein Perl-script liest eine Vorlage ein (ich habe sie *.tmpl
genannt) und eine *.csv-Datei. Die aus der csv-Datei geparsten Daten
werden in der Vorlage eingesetzt per =~ s/// . Dadurch lese ich die
Adressen ein und gebe ein Formular zur Änderung mit aus. Wenn ich
jetzt Adressen ändere, wird dieser Datensatz mit method=post gesendet.
Die Scripts fuer die Adressenaenderung?
Siehe oben
Also sag mal im Klartext, welche statischen Dateien und welche Scripte hast Du wo liegen, wer ruft wen auf oder wer bindet wen ein?
innerhalb cgi-bin:
-adressen.tmpl ---> Vorlage für Adressenänderung (hauptsächlich html-code)
-adressen.csv ---> enthält die Adressen
-adrbuilder.pl ---> liest .tmpl und .csv, ersetzt bestimmte Stellen in .tmpl und gibt alles aus
-adrsaver.pl ---> nimmt Daten aus dem Form der von adrbuilder.pl generierten Ausgabe entgegen und schreibt adressen.csv neu
-forumneu.pl ---> erstellt neue htmldatei für neuen thread
-forumsaver.pl ---> hängt neues Posting an bestehenden thread
innerhalb des eigentliche Webverzeichnisses:
/forum
main.html ---> übersicht der threads und Form für neue Vorlage
/data
t1.html ---> Eigentlicher thread mit Form um Posting anzuhängen
Was wurde Dir vom Provider bzgl. CGI-Scripts gesagt, also wo koennen welche ausgefuehrt werden? Und: Wird .htaccess unterstuetzt (Ja/Nein/teilweise (falls letzteres, zu *welchem* Teil))?
Das ganze ist ein Uniprojekt also mit dem "Provider" kann man reden.
.htacess ist machbar. Über die Konfiguration des cgi-bin muss ich
sowieso nochmal mit dem Chef vom Rechezenrum reden. Zur Zeit kann ich
bei direktem Aufruf die *.pl dateien runterladen, kann mir auch das Verzeichnis listen lassen etc. was so natürlich nicht geht.
Danke für die Hilfe und ich hoffe das ist klarer.
bye eddie
Re!
Ein Perl-script liest eine Vorlage ein (ich habe sie *.tmpl
genannt) und eine *.csv-Datei. Die aus der csv-Datei geparsten Daten
werden in der Vorlage eingesetzt per =~ s/// . Dadurch lese ich die
Adressen ein und gebe ein Formular zur Änderung mit aus. Wenn ich
jetzt Adressen ändere, wird dieser Datensatz mit method=post gesendet.
Alles klar, also ein ganz normales CGI-Script, dass direkt aufgerufen wird und auf irgendeine Weise eine HTML-Ausgabe macht.
Das ganze ist ein Uniprojekt also mit dem "Provider" kann man reden.
.htacess ist machbar. Über die Konfiguration des cgi-bin muss ich
sowieso nochmal mit dem Chef vom Rechezenrum reden. Zur Zeit kann ich
bei direktem Aufruf die *.pl dateien runterladen, kann mir auch das Verzeichnis listen lassen etc. was so natürlich nicht geht.
Runterladen, also den *Sourcecode*, nicht etwa die generierte Ausgabe? Dann ist der Fall klar. Dein cgi-bin ist keins. Der Cheffe muss das cgi-bin mit der ScriptAlias-Direktive zum CGI-Verzeichnis machen (geht nur in der httpd.conf, nicht in .htaccess). Einstweilen kannst Du Dir evtl. folgendermassen behelfen (ungetestet, und .htaccess muss diese Direktiven erlauben!): .htaccess in das cgi-bin mit der Zeile
AddHandler cgi-script .pl
Options -Indexes
Die erste Zeile bezeichnet .pl-Dateien als CGI-Scripts (sowas funktioniert auch in anderen, ganz normalen Verzeichnissen). Die zweite verweigert die Erlaubnis, den Verzeichnisinhalt auflisten zu duerfen.
Der Fehler "Post is not allowed" kommt uebrigens, weil Deine Dateien wie jede andere statische Seite behandelt werden. Die kann man zwar runterladen, aber ein POST darauf macht keinen Sinn.
So long
--
Alle Verallgemeinerungen sind falsch.
Hi,
Danke erstmal für die Ausführungen.
Der Cheffe muss das cgi-bin mit der ScriptAlias-Direktive zum CGI-Verzeichnis machen (geht nur in der httpd.conf, nicht in .htaccess).
Jepp, morgen steh' ich auf der Matte.... ;-)
AddHandler cgi-script .pl
Nun bekomme ich statt "Method not allowed" die "offizielle" Uni-403 Seite :-\
Options -Indexes
damit wäre das Problem erledigt
Der Fehler "Post is not allowed" kommt uebrigens, weil Deine Dateien wie jede andere statische Seite behandelt werden. Die kann man zwar runterladen, aber ein POST darauf macht keinen Sinn.
Hm, warum aber funktioniert dann das Forum? Ich bin mir noch nicht so
sicher, ob ich damit nicht schon auf dem Weg zum Paranormalen bin... ;-)
bye eddie
Re there!
AddHandler cgi-script .pl
Nun bekomme ich statt "Method not allowed" die "offizielle" Uni-403 Seite :-\
Mmh, dass die Rechte stimmen, hattest Du ja schon geschrieben. *raetsel* Falls Du Zugriff auf das error log hast, kannst Du ja mal schauen, ob Du irgendwas findest, was auf das Problem hindeutet.
Der Fehler "Post is not allowed" kommt uebrigens, weil Deine Dateien wie jede andere statische Seite behandelt werden. Die kann man zwar runterladen, aber ein POST darauf macht keinen Sinn.
Hm, warum aber funktioniert dann das Forum?
Ach so, verdammt, das hab ich ganz uebersehen. Das Forum funktioniert ja. Dann duerfte meine vorherige Diagnose ziemlich falsch gewesen sein. Mir faellt aber auch nichts ein, was da noch sein koennte. Dass ein Script ausgefuehrt wird und das andere runtergeladen, die im selben (CGI-)Verzeichnis liegen, das ist schon wirklich komisch. Naja, mal schauen, was der Admin dazu sagt. (Nimm aber vorher besser wieder die AddHandler-Zeile aus der .htaccess raus.)
So long
--
Wenn Wahlen etwas ändern könnten, würden sie sofort verboten werden.