[GastForen Archiv Perl und CGI Verhinderung von zu großen Datenmengen bei POST/GET

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Archiv - Archivierte Foren
Themen
Beiträge
Moderatoren
Letzter Beitrag

Verhinderung von zu großen Datenmengen bei POST/GET

wastl
Beiträge gesamt: 25

19. Feb 2005, 16:15
Beitrag # 1 von 14
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe in NMS Formmail wie beschrieben nach 'use CGI;'
$CGI::POST_MAX = 1024 * 100;
definiert. Zum Test nur
$CGI::POST_MAX = 1024;
Dann habe ich wesentlich längeren Text im Formular abgeschickt, ohne daß dies zurückgewiesen wurde.
Hat jemand eine Idee, woran das liegt ?
Noch besser, hat jemand ein kleines Beispiel, wo es funktioniert ?
X

Verhinderung von zu großen Datenmengen bei POST/GET

oesi50
  
Beiträge gesamt: 2315

19. Feb 2005, 16:48
Beitrag # 2 von 14
Beitrag ID: #146155
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
[Zitat]
An attempt to send a POST larger than $POST_MAX bytes will cause param() to return an empty CGI parameter list. You can test for this event by checking cgi_error(), either after you create the CGI object or, if you are using the function-oriented interface, call <param()> for the first time. If the POST was intercepted, then cgi_error() will return the message ``413 POST too large''.

This error message is actually defined by the HTTP protocol, and is designed to be returned to the browser as the CGI script's status code.
[/Zitat]

hier ist ein Beispiel:

if (cgi_error()) {
print header(-status=>cgi_error());
exit 0;
}

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#146148]
(Dieser Beitrag wurde von oesi50 am 19. Feb 2005, 16:50 geändert)

Verhinderung von zu großen Datenmengen bei POST/GET

wastl
Beiträge gesamt: 25

20. Feb 2005, 16:01
Beitrag # 3 von 14
Beitrag ID: #146308
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Habe es versucht, aber in meiner weißen Weste bzgl. CGI
vermutlich etwas vergessen.
Mein Script-Anfang:

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config ...);
use CGI;
BEGIN
{
$DEBUGGING = 0;
......
$query = new CGI;
use CGI::Carp 'fatalsToBrowser';
$CGI::POST_MAX=1024;

if (cgi_error()) {
print header(-status=>cgi_error());
exit 0;
}
.......


Es kommt dann der Fehler:
feedback.pl: Undefined subroutine &main::cgi_error called at C:/apachefriends/xampp/htdocs/mycgi-bin/feedback.pl line 79., referer: http://localhost/mycgi-bin/kontakt.pl


als Antwort auf: [#146148]

Verhinderung von zu großen Datenmengen bei POST/GET

oesi50
  
Beiträge gesamt: 2315

20. Feb 2005, 16:14
Beitrag # 4 von 14
Beitrag ID: #146311
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
das muss natürlich so sein:

use CGI;

$query = new CGI;
$CGI::POST_MAX=1024;

if ($query->cgi_error()) {
print $query->header(-status=>$query->cgi_error);
exit 0;
}



Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#146148]

Verhinderung von zu großen Datenmengen bei POST/GET

wastl
Beiträge gesamt: 25

20. Feb 2005, 16:54
Beitrag # 5 von 14
Beitrag ID: #146314
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo oesi50,
danke für die schnelle Antwort.
Der Fehler ist jetzt weg, aber die Daten werden anstandslos übertragen ?!


als Antwort auf: [#146148]

Verhinderung von zu großen Datenmengen bei POST/GET

oesi50
  
Beiträge gesamt: 2315

20. Feb 2005, 17:22
Beitrag # 6 von 14
Beitrag ID: #146317
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
use CGI;
$CGI::POST_MAX=1024;

schreib das mal direkt nach 'use CGI;'

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#146148]

Verhinderung von zu großen Datenmengen bei POST/GET

wastl
Beiträge gesamt: 25

20. Feb 2005, 20:21
Beitrag # 7 von 14
Beitrag ID: #146352
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hat leider nichts verändert.
Ich gebs auf für heute.
Danke und schönen Abend noch.


als Antwort auf: [#146148]

Verhinderung von zu großen Datenmengen bei POST/GET

wastl
Beiträge gesamt: 25

22. Feb 2005, 11:05
Beitrag # 8 von 14
Beitrag ID: #146836
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo oesi50,
hast Du vielleicht noch eine Idee oder ein kleines komplettes Beispiel ?


als Antwort auf: [#146148]

Verhinderung von zu großen Datenmengen bei POST/GET

oesi50
  
Beiträge gesamt: 2315

22. Feb 2005, 12:10
Beitrag # 9 von 14
Beitrag ID: #146878
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das hier ist ein komplettes Beispiel.


#!/usr/bin/perl

use CGI;
$CGI::POST_MAX=1024;

$query = new CGI;

if ($query->cgi_error()) {
print $query->header(-status=>$query->cgi_error);
print "Zu viel Daten";
exit 0;
}
print "Content-type: text/plain\n\n";
print "alles ok";


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#146148]

Verhinderung von zu großen Datenmengen bei POST/GET

wastl
Beiträge gesamt: 25

25. Feb 2005, 18:57
Beitrag # 10 von 14
Beitrag ID: #148186
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wenn ich es so isoliert laufen lasse, funktioniert es bei mir auch, aber wenn ich es in mein NMS Formmail einbaue, klappt es nicht mehr. Da ich wenig Ahnung von Perl habe, weiß ich auch nicht
wo ich ansetzen soll !
Denn die Fehlermeldung
Unknown error at (eval 11) line 70
sagt mir gar nichts, insbesondere da auf line 70 gar kein Statement steht. Was bedeutet denn das eval 11 ?



als Antwort auf: [#146148]

Verhinderung von zu großen Datenmengen bei POST/GET

oesi50
  
Beiträge gesamt: 2315

25. Feb 2005, 19:07
Beitrag # 11 von 14
Beitrag ID: #148188
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
wo kann man dein Script mal im Quelltext sehen?

am besten, du speicherst es als .txt und postest hier die uri.


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#146148]

Verhinderung von zu großen Datenmengen bei POST/GET

wastl
Beiträge gesamt: 25

28. Feb 2005, 14:14
Beitrag # 12 von 14
Beitrag ID: #148648
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen


als Antwort auf: [#146148]

Verhinderung von zu großen Datenmengen bei POST/GET

oesi50
  
Beiträge gesamt: 2315

28. Feb 2005, 14:21
Beitrag # 13 von 14
Beitrag ID: #148650
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo Wastl,

lies mal deine persönlichen Nachrichten.


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#146148]

Verhinderung von zu großen Datenmengen bei POST/GET

wastl
Beiträge gesamt: 25

1. Mär 2005, 12:25
Beitrag # 14 von 14
Beitrag ID: #148908
Bewertung:
(3775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo oesi50,
danke es klappt !
Vielleicht kannst Du mir auch noch helfen, einen kleinen Schönheitsfehler zu korrigieren.
Die Übertragung zu großer Mengen wird zwar verhindert, es kommen
dann aber im Mail und im Antwortformulare keine der eingegebenen Daten.
Dies ist OK, schön wäre es aber, wenn ein Fehlerhinweis kommen würde.
Danke!


als Antwort auf: [#146148]
X