Anzeige - [Interessiert an einer Anzeige?]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> Nur ein Download pro IP
nitrit
Geschrieben am: Sa 17.05.2008, 10:50
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 246
Mitglied seit: 8.08.2007


Hallo Ayomler,

ein Kunde wünscht ein recht ausgereiftes Filehosting-Script, mit etwas "mehr" als die anderen.
Im Grunde kein Problem, doch leider macht mir eine Standardfunktion Sorgen, die man so nicht mit PHP lösen sollte (können schon, so wie hier, aber es ist ersichtlich warum das nicht in Frage kommt denke ich: http://www.jonasjohn.de/snippets/php/dl-speed-limit.htm ).

Fakt:


Ich suche eine Speed-Begrenzung mit der ich regeln kann, dass ein _nicht_-Premium-User nur eine bestimmte Geschwindigkeit zur Verfügung hat (z.B. max 50 kb/s).

Viel wichtiger ist aber noch, dass nur 1 _gleichzeitiger_ Download pro IP möglich sein soll. Wenn also jemand bereits eine Datei herunterläd und eine zweite Anfrage beginnen möchte, soll er eine Fehlerseite erhalten wie "momentan laden Sie bereits...".

Diese 2 Dinge bereiten mir Kopfschmerzen, da ich mir recht sicher bin, dass sie nicht auf absoluter PHP-Basis zu lösen sind.

Ich hoffe man kann mir weiterhelfen smile.gif


--------------------
Top
PMEmail Poster
Top
 
 
Dachs
#2 Geschrieben am: Sa 17.05.2008, 11:44 (+00:54)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 207
Mitglied seit: 15.12.2007


Ich bin zwar kein wirklicher Coder, aber das mit der IP könnte man ja so lösen, dass man die IP des Benutzers in einer Datenbank speichert, wenn er auf "Download" geklickt hat. Alle IPs werden nach einem bestimmten Zeitraum gelöscht (bei Rapidshare z.B. ist das nach einer Stunde), wer noch innerhalb der Stunde nochmal laden will, wird ja nochmal auf "Download" klicken und dann prüft das Script ob die IP schon in der Datenbank ist, falls ja, gibt er eben den Text aus. Vielleicht hast du dir das auch so gedacht, aber ich verstehe nicht ganz, wieso man kein php benutzen sollte.

Premiumuser müssen sich ja einloggen, daher sollte man bei nichteingeloggten Usern einfach die Downloadgeschwindigkeit begrenzen. Sollte mit if-Tags gehen, fraglich nur wie das mit der Geschwindigkeit klappt.


--------------------
...
Top
PMEmail Poster
Top
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#3 Geschrieben am: Sa 17.05.2008, 12:28 (+00:43)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2308
Mitglied seit: 4.02.2006


Du wirst das wohl nur mit so einer Funktion

QUOTE (nitrit @ Sa 17.05.2008, 10:50)
Im Grunde kein Problem, doch leider macht mir eine Standardfunktion Sorgen, die man so nicht mit PHP lösen sollte (können schon, so wie hier, aber es ist ersichtlich warum das nicht in Frage kommt denke ich: http://www.jonasjohn.de/snippets/php/dl-speed-limit.htm ).


lösen können. Denn es mag zwar serverweite Konfigurationsmöglichkeiten geben, aber die wirken dann immer für alle Nutzer. Die Information, daß jemand Premiumnutzer ist, steht in der Datenbank und ist per PHP abfragbar - also muß auch auf dieser Ebene die Reglementierung erfolgen. Dann fällt für den Premiumnutzer das Sleep weg.

IP ist banal - mit Zeitstempel eintragen und kontrollieren.

Abgesehen von meiner PHP-Unkenntnis: Was spricht gegen das obige Script?


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung.
Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - die Datenbank funktioniert.
Top
PMEmail PosterUsers Website
Top
 
nitrit
#4 Geschrieben am: Sa 17.05.2008, 12:33 (+00:05)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 246
Mitglied seit: 8.08.2007


@Dachs: Naja, danke für den versuchten Ansatz aber so kommen wir nicht weiter, denn:

Was ist wenn der User abbricht? Dann steht seine IP noch drin als "lädt".
Und was ist wenn der Download länger als 1h geht? Dann kann er nach 1h 2 Dateien laden.

QUOTE
aber ich verstehe nicht ganz, wieso man kein php benutzen sollte


das oben genannte Script kann den Speed bei einem Download per PHP limitieren. Dazu muss aber das Script dauerhaft mitlaufen und irgendwann wird dadurch die Seite überlastet sein, bzw. die PHP-Execution-Time überschritten sein.

Also brauchen wir eine PHP-unabhängige Methode mit der wir dauerhaft den Speed limitieren können (insofern Free-User).
Wir können es aber nicht generell limitieren, also als Standard setzen, da wir dann ja auch Premiumuser limiteren würden...

Ausserdem brauchen wir eine Methode um rauszufinden, ob _momentan_ der User eine Datei lädt. Schätzungen wären hier unangebracht...


--------------------
Top
PMEmail Poster
Top
 
nitrit
#5 Geschrieben am: Sa 17.05.2008, 12:36 (+00:03)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 246
Mitglied seit: 8.08.2007


@jAuer:

genau vor diesem Problem stehe ich auch. Sollten wir das obige Script benutzen wäre die download-kontrolle natürlich ein leichtes...

Wir tragen in der while-schleife also während der ausgabe einfach immer wieder den Zeitstempel nach und können das dann bei einer zweiten Download-Anfrage überprüfen, das stimmt. (oder denke ich da anders als du?)

QUOTE
Denn es mag zwar serverweite Konfigurationsmöglichkeiten geben, aber die wirken dann immer für alle Nutzer.

Korrekt...


--------------------
Top
PMEmail Poster
Top
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#6 Geschrieben am: Sa 17.05.2008, 17:51 (+05:14)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2308
Mitglied seit: 4.02.2006


QUOTE (nitrit @ Sa 17.05.2008, 12:33)
QUOTE
aber ich verstehe nicht ganz, wieso man kein php benutzen sollte


das oben genannte Script kann den Speed bei einem Download per PHP limitieren. Dazu muss aber das Script dauerhaft mitlaufen und irgendwann wird dadurch die Seite überlastet sein, bzw. die PHP-Execution-Time überschritten sein.


Bei so etwas setze ich einen eigenen Server mit entsprechenden Konfigurationsmöglichkeiten voraus. Ansonsten dürfte das eher aussichtslos sein.


QUOTE (nitrit @ Sa 17.05.2008, 12:33)
Was ist wenn der User abbricht? Dann steht seine IP noch drin als "lädt".
Und was ist wenn der Download länger als 1h geht? Dann kann er nach 1h 2 Dateien laden.


Das ist beides eher technischer Kleinkram. Zeitspalte dazu und überprüfen, nach ein paar Stunden ist die IP wieder frei. In .NET gibt es eine IsAlive - Methode, die true zurückgibt, wenn die Verbindung zum Client noch existiert. Etwas ähnliches wird es in PHP geben.

Es gäbe einen ganz anderen Ansatz: Zwei Subdomains einrichten, entweder eigener Apache-Dienst oder entsprechend konfiguriert, einer für free mit Begrenzung, einer für Premium mit höherer Kapazität. Auf der Hauptdomain einen Zufallswert in die Datenbank schreiben, den Nutzer auf eine Url der Subdomain mit dem Zufallswert weiterleiten (als SID), die Subdomain prüft, ob der Wert mit passendem Flag (free/Premium) in der Datenbank ist.

Es könnte zwar auch da notwendig sein, den eigentlichen Download über ein PHP-Script abzuwickeln. Aber dann kann man bsp. für die verschiedenen Subdomains die Limits unterschiedlich setzen. Bei einem 1-Stunden-Download kommt jede Konfiguration an Grenzen -> Uploads einschränken.


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung.
Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - die Datenbank funktioniert.
Top
PMEmail PosterUsers Website
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/24447

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
"Game Download"-Verkauf über Ebay Chr1977 243 5 Sa 6.09.2008, 17:37
Word file download und im (IE)-Word öffnen spaceman007 136 2 Do 7.08.2008, 16:55
usenet-download.net von PR2 auf PR0 ? snoopys bruder 246 1 Sa 1.03.2008, 17:34
Usenet Download Portal www.usenet-download.net snoopys bruder 741 8 Fr 22.02.2008, 03:04
[S] Fotolia-Bild Download nitrit 223 6 Mi 13.02.2008, 15:02
Download von eps Dateien Xavier 522 7 Fr 8.02.2008, 10:36
Zwangsvoting vor dem Download zerowebmaster 118 2 Fr 25.01.2008, 10:58
DVD Shop CD-Verkauf, Download oder Member alex72 537 4 Mo 12.11.2007, 18:15




Anzeige - [Interessiert an einer Anzeige?]



Anzeigen


[Interessiert an einer Anzeige?]