Hallo,
Warum machst Du das Registrieren nicht serverseitig?
du meinst mit login und passwort? oder was ganz anderes?
sowas is schon davor, damit ich mitloggen kann, welcher user welche datei downloaded.
Ja, wozu brauchst Du den ganzen Rest?
aber es wäre schlecht, wenn jeder der sich nur die seite mit dem link ansieht gleich geloggt wird.
Wenn man sich eine Seite mit einem Link drauf ansieht, wird die Ressource hinter dem Link deswegen nicht gleich angefordert. Das passiert nur, wenn man dem Link folgt. Dann wird die Ressource per HTTP-GET angefordert. Diese Anforderungen musst Du protokollieren. Lass die Dateien einfach auch von einem Script ausliefern, welches bei Anforderung zunächst den LOG-Eintrag schreibt und dann im Response die Datei ausliefert. Die Links verweisen also nicht direkt auf die *.txp bzw. *.tar oder *.gz Datei, sondern auf ein pl-Script.
ich erklär mal kurz zum verständnis:
der user loggt sich einmal ein. dann kann er über links die verzeichnisse eines ftp-servers durchsuchen. wenn er ne datei haben will klickt er sie an. ein perl-script lädt die datei dann lokal auf den unix-server (andere maschine als ftp).
Dann könntest Du diesen Vorgang doch schon vom Perl-Script protokollieren lassen.
und der link der mitgeloggt werden soll zeigt dann auf diese kopie der datei.
Ja und die wird dann per HTTP-GET angefordert, was wiederum vom Web-Server ohnehin protokolliert wird. Wenn die Datei nicht direkt verlinkt wird, sondern z.B. als href="download.pl?file=test.txt", dann kann download.pl alles tun, was Du willst.
"Lösung" Deines Problems:
<a id='FILE' href='./test.txt' onmousedown="logDwonload('test.txt'); if(window.event && window.event.button==1) this.click();">here</a>
sry, wenn ich so dumm frage, aber was is wenn jemand ne text-datei mit 'ziel speicher unter' runterladen will? das sollte auf jeden fall auch gehen. soviel ich weiß kann man dem browser nicht sagen, welche dateitypen er runterlädt und welche er direkt öffnet?
Was hat das mit meinem Lösungsvorschlag zu tun? Bzw. warum sollte das mit meinem Lösungsvorschlag schlechter funktionieren als ohne? Der JavaScript-Zusatz ist IE-only. Der IE hat das beschriebene Problem nicht. Der FireFox hat das beschriebene Problem. Aber das hat er auch ohne meinen Zusatz nur durch das Fensteröffnen bei onmousedown alleine. Btw.: Opera feuert bei Rechtsklick onmousedown nicht, wird also Dein nächstes Problem.
Clientseitig wird das nichts!
viele Grüße
Axel