falschen header senden an den client...
Alain
- perl
Hallo,
ich hab mir da was geschrieben in meinem login script.
Beim aufruf des scriptes wird eine datenbank geöffnet,welches die zeit vom vorherigen aufruf überprüft,wenn die zeit schneller war als 1 sekunde wird der nächste zugriff blockiert durch den eintrag deny from IPadresse in die htaccess,die im cgi-bin verzeichniss liegt.
Ich möchte jetzt aber nicht darüber diskutieren,ob das sinnvoll ist nach IP zu sperren(sie ist es),sondern darum ob man statt einen header
wie dieser
print CGI::header(-status=>'204 No response');
einen anderen nehmen könnte damit der client bzw. das spider script
seine weiteren versuche abbricht.
Ich dachte dabei an sowas wie
print CGI::header(-status=>'404 Not Found');
,nur das scheint nicht zu gehen.
Wenn ich das login script löschen würde,dann würde der spider gar nicht anfragen können bzw. abbrechen.
Ich möchte das,weil mir die errorlog mit den denied einträgen zu gross wird,da es eben immer mehr deppen gibt,die ihr doofes script bei mir ansetzten und nicht merken,dass es kein sinn hat.
Gruss
Alain
Hallo Alain!
Ich möchte das,weil mir die errorlog mit den denied einträgen zu gross wird, [...]
Also meiner Ansicht nach wäre es am "korrektesten" nen Access Denied oder evtl. einen Forbidden zu schicken, aber das würde die Logdatei ja beides vergrößern.
Um das Error-Log klein zu halten kannst Du entweder das Error-Logging abschalten oder Dir vielleicht ein kleines Script schreiben, das Du per cron jeden Tag auf Deine Log-Datei losläßt und das Dir dann die Unsinnigen Beiträge rauslöscht.
MfG
Götz
Tag Alain.
[...] ob man statt einen header
wie dieser
print CGI::header(-status=>'204 No response');
einen anderen nehmen könnte damit der client bzw. das spider script
seine weiteren versuche abbricht.
Wie wäre es mit der Ausgabe einer einfachen Fehlerseite (ohne gefälschten Satuscode), das produziert keinen Eintrag in der Logdatei und beendet das Script auf saubere Art und Weise. Und jemand, der tatsächlich irrtümlicherweise zweimal geklickt hat (ja, es soll User geben, die auf einen Absendebutton doppelklicken), wird nicht unnötigerweise verwirrt oder gar ausgesperrt.
Siechfred
hi Siechfred,
print CGI::header(-status=>'204 No response');
einen anderen nehmen könnte damit der client bzw. das spider script
seine weiteren versuche abbricht.Wie wäre es mit der Ausgabe einer einfachen Fehlerseite (ohne gefälschten Satuscode), das produziert keinen Eintrag in der Logdatei und beendet das Script auf saubere Art und Weise. Und jemand, der tatsächlich irrtümlicherweise zweimal geklickt hat (ja, es soll User geben, die auf einen Absendebutton doppelklicken), wird nicht unnötigerweise verwirrt oder gar ausgesperrt.
das wäre zwar eine alternative die seite umzuleiten,würde aber den zweck nicht erfüllen.Der spider ignoriert solche umleitungen,kümmert ihn auch nicht und mir ist es wichtiger ihm den zugriff zu verweigern.
Ich möchte ja den spider zum abruch bringen,damit der gar nicht weiter sendet bzw. empfängt vom server.Doppel klick auf den button sollte nicht möglich sein,jedenfalls gehts bei mir genauso mit oder ohne doppelklick.Es ist fast nicht möglich als normaluser das script dazuzu bringen dass es zweimal in weniger als einer sekunde aufgerufen wird,ausser es sind grade zwei benutzer die grade gleichzeitig falsche daten eingegeben haben.Bei richtiger eingabe,wird die zeit nicht überprüft.
Gruss
Alain
Tag Alain.
das wäre zwar eine alternative die seite umzuleiten,würde aber den zweck nicht erfüllen.
Nein, ich meinte nicht umleiten, ich meinte Ausgeben einer Fehlerseite durch das Script.
Der spider ignoriert solche umleitungen,kümmert ihn auch nicht und mir ist es wichtiger ihm den zugriff zu verweigern.
Das tust du doch über htaccess, wenn ich dich richtig verstanden habe. Jedenfalls führen m.W.n. alle HTTP-Statuscodes 4xx und 5xx zu einem Eintrag im Fehlerprotokoll.
Ich möchte ja den spider zum abruch bringen,damit der gar nicht weiter sendet bzw. empfängt vom server.
Dazu müsstest du wissen, wie intelligent diese Spider sind.
Siechfred