http: Verbindung richtig ablehnen

Alles rund um die Software-Entwicklung: Programme, Skripte, Projekte etc.
Antworten
Benutzeravatar
Epfi
Admiral
Turtleboard Veteran
Turtleboard Veteran
Beiträge: 10520
Registriert: 08.03.2004, 11:02
Wohnort: Haus, das Verrückte macht
Kontaktdaten:

http: Verbindung richtig ablehnen

Ungelesener Beitrag von Epfi » 17.01.2010, 11:13

Moin!

Ich betreibe einen kleinen Downloaddienst und würde gerne verhindern, dass Menschen sich innerhalb von 10 Minuten hundertmal die gleiche Datei runterladen. Keine Ahnung, warum die das tun - aber es passiert doch ziemlich oft.

Der Download geschieht über ein php-skript, dass die gewünschte Datei ausliest und dem Benutzer zuschiebt. In diesem php-skript würde ich dann nachschlagen wollen, ob der Kollege die Datei schon hat und wenn er es übertreibt eine passende Fehlermeldung einblenden.

Nun gibt es ja sowas wie Downloadmanager, die so ein Verhalten auch an den Tag legen können - also hundert Downloadanfragen auf einmal rausballern. Da ich diese Programme nicht unnötig damit verwirren will, dass auf der ersten Verbindung die Datei liegt, auf der elften Verbindung aber plötzlich html mit einer Fehlermeldung, würde ich gerne eine passende http-Fehlermeldung per header() schicken. Laut wikipedia gibt es einen http-Fehler 421 There are too many connections from your internet address, der es meiner Meinung nach ziemlich gut trifft.

Spricht irgendwas dagegen, bei den übermütigen Downloadern eben jenen http-Fehler zu schicken? Vor allem mit Blick auf die Downloadmanager und auch allgemeine Konformität...

Besten Dank!
hartware.net - *** ****** ***, ** ************ **** **** *********** ****.

Leviathan
Captain
Turtleboard Veteran
Turtleboard Veteran
Beiträge: 872
Registriert: 08.03.2004, 17:09
Wohnort: Kiel
Kontaktdaten:

Re: http: Verbindung richtig ablehnen

Ungelesener Beitrag von Leviathan » 17.01.2010, 15:26

Ich würd sagen, das dürfte kein Problem geben. Downloadmanger müssten auch mit einer HTML-Fehlerseite zurechtkommen und diese entsprechend ignorieren (könnte mal im Bedarfsfall mal testen). Mach einfach und schau mal, wer sich beschwert. :)

Aber mit dem Status-Code 421 würde ich aufpassen - ich finde in keiner Spezifikation was darüber. Google spuckt auch nur Infromationen zu FTP-Staus-Codes aus. Scheint irgendwie nur die deutsche Wikipedia mit HTTP in Verbindung zu bringen...
Stattdessen könntest du aber 403 Forbidden verwenden.

Benutzeravatar
Epfi
Admiral
Turtleboard Veteran
Turtleboard Veteran
Beiträge: 10520
Registriert: 08.03.2004, 11:02
Wohnort: Haus, das Verrückte macht
Kontaktdaten:

Re: http: Verbindung richtig ablehnen

Ungelesener Beitrag von Epfi » 17.01.2010, 17:04

Jo, nen 421 habe ich in meinem Leben auch noch nie gesehen - hatte mich auch gewundert. Aber ein 403 ist natürlich auch grundsätzlich nicht schlecht, damit können Downloadmanager auf jeden Fall umgehen...
hartware.net - *** ****** ***, ** ************ **** **** *********** ****.

Benutzeravatar
quadpumped
Vice Admiral
Beiträge: 4736
Registriert: 16.03.2004, 15:15
Wohnort: 53757 Sankt Augustin
Kontaktdaten:

Re: http: Verbindung richtig ablehnen

Ungelesener Beitrag von quadpumped » 02.02.2010, 09:54

mit 421 muss der Download-Manager halt klar kommen, denke auch dass er das tun wird.
Probiers doch einfach aus.

Benutzeravatar
Epfi
Admiral
Turtleboard Veteran
Turtleboard Veteran
Beiträge: 10520
Registriert: 08.03.2004, 11:02
Wohnort: Haus, das Verrückte macht
Kontaktdaten:

Re: http: Verbindung richtig ablehnen

Ungelesener Beitrag von Epfi » 02.02.2010, 10:47

Wie soll ich denn sämtliche Frickelfox-Downloadmanager testen, ob die ihre HTTP-Meldungen de.wikipedia-Konform programmiert haben? Es gibt für den Fehler ja keine anderen Quellen...
hartware.net - *** ****** ***, ** ************ **** **** *********** ****.

stanglwirt
Fleet Captain
Turtleboard Veteran
Turtleboard Veteran
Beiträge: 1591
Registriert: 17.03.2004, 07:22

Re: http: Verbindung richtig ablehnen

Ungelesener Beitrag von stanglwirt » 02.02.2010, 11:41

letztenende ist es doch pupsegal. nimm einfach einen ablehnenden statuscode und fertig. hauptsache derjenige kann nicht so oft runterladen. wenn ein code ausgegeben wird mit dem ein download-manager nicht "klar" kommt, kann er ja trotzdem nicht runterladen.
sinn würde es eher machen, eine eigene fehlerseite zu erstellen auf der dem user dann mitgeteilt wird, wieso es nicht funktioniert.
MfG
everybody´s darling is everybody´s Arschloch. (c) Franz Josef Strauß

Benutzeravatar
Epfi
Admiral
Turtleboard Veteran
Turtleboard Veteran
Beiträge: 10520
Registriert: 08.03.2004, 11:02
Wohnort: Haus, das Verrückte macht
Kontaktdaten:

Re: http: Verbindung richtig ablehnen

Ungelesener Beitrag von Epfi » 02.02.2010, 11:49

Eine Fehlerseite will ich nicht, weil die Downloadmanager damit wiederum nichts anfangen können, sondern sich wundern, warum die Datei sich plötzlich geändert hat.
hartware.net - *** ****** ***, ** ************ **** **** *********** ****.

stanglwirt
Fleet Captain
Turtleboard Veteran
Turtleboard Veteran
Beiträge: 1591
Registriert: 17.03.2004, 07:22

Re: http: Verbindung richtig ablehnen

Ungelesener Beitrag von stanglwirt » 03.02.2010, 17:58

hä? du kannst doch parallell zum status-code im header auch ne entsprechende fehlerseite ausgeben.
würde jetzt auch nicht unbedingt soviel gewicht auf download-manager legen. imho kommt die mehrheit ohne downloadmanager daher.
Zuletzt geändert von stanglwirt am 03.02.2010, 17:59, insgesamt 1-mal geändert.
MfG
everybody´s darling is everybody´s Arschloch. (c) Franz Josef Strauß

Leviathan
Captain
Turtleboard Veteran
Turtleboard Veteran
Beiträge: 872
Registriert: 08.03.2004, 17:09
Wohnort: Kiel
Kontaktdaten:

Re: http: Verbindung richtig ablehnen

Ungelesener Beitrag von Leviathan » 04.02.2010, 20:58

Epfi hat geschrieben:Eine Fehlerseite will ich nicht, weil die Downloadmanager damit wiederum nichts anfangen können, sondern sich wundern, warum die Datei sich plötzlich geändert hat.
Nein, der Downloadmanager wird in dem Fall die Seite einfach verwerfen - weil sie nicht zum Rest passt, den er runterlädt.
Das zumindest mal ist meine schwere Vermutung, so würde ich zu mindest einen Downloadmanager programmieren.

Ist also wirklich nahezu egal, was du antwortest - Hauptsache, du gibts die Datei halt nicht raus. :)

Benutzeravatar
Epfi
Admiral
Turtleboard Veteran
Turtleboard Veteran
Beiträge: 10520
Registriert: 08.03.2004, 11:02
Wohnort: Haus, das Verrückte macht
Kontaktdaten:

Re: http: Verbindung richtig ablehnen

Ungelesener Beitrag von Epfi » 04.02.2010, 21:01

Alternativ glaiubt der Downloadmanager, die Datei hat sich geändert, verwirft alles und fängt von vorne an... Ich persönlich würde auch eher ne Fehlermeldung werfen oder die neue Datei ignorieren. Aber man muss ja irgendwie doch immer vom dümmsten Fall ausgehen...
hartware.net - *** ****** ***, ** ************ **** **** *********** ****.

Benutzeravatar
quadpumped
Vice Admiral
Beiträge: 4736
Registriert: 16.03.2004, 15:15
Wohnort: 53757 Sankt Augustin
Kontaktdaten:

Re: http: Verbindung richtig ablehnen

Ungelesener Beitrag von quadpumped » 19.02.2010, 17:26

sauberen Fehlercode liefern und evtl. eine Fehlerseite für einen menschlichen User sollte langen und wäre m.M.n. korrekt.
Ob der Client was damit anfangen kann sollte nicht deine Sorge sein, wer vernünftigen DL-Manager verwendet wird schon mitkriegen was los ist.
Zuletzt geändert von quadpumped am 19.02.2010, 17:26, insgesamt 1-mal geändert.

Antworten