Autor |
Beitrag |
jakobwenzel
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Do 14.07.05 14:58
Auf meiner Homepage ist ein Programm zum Downloaden. Ich will jetzt, dass ich einen Counter habe, wie oft die Datei heruntergeladen wurde.
Das www.delphi-forum.de/...geCounter_45143.html funktioniert leider nicht, da mein Webspace-Anbieter nur Passwortschutz in .htaccess-Dateien unterstützt ( www.funpic.de).
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
Kussi
      
Beiträge: 28
|
Verfasst: Do 14.07.05 15:52
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| //counter.php | counter.txt <?php $file = "counter.txt"; // Dateizuweisung
$ftp = @fopen($file,"r+"); // Öffnet die Datei $count = (int)fgets($ftp,10); // Holt die ersten 10 Zeichen
$count++; // Addiert eine 1
rewind($ftp); // Setzt Zeige auf 0. Position
fwrite($ftp,$count); // Schreibt
fclose($ftp); // Schließt die Datei
header('Location: http://www.url.de/deinedownloaddatei.exe'); ?> |
das ist ein einfacher textcounter....
Beim Download gibst du dann einfach www.url/counter.php als Downloadlink ein...fertig!
Oder wenn du mehrere Dateien mit dem Counter zählen willst:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| <?php $file = "logs/" . $datei . ".txt"; // Dateizuweisung
$ftp = @fopen($file,"r+"); // Öffnet die Datei $count = (int)fgets($ftp,10); // Holt die ersten 10 Zeichen
$count++; // Addiert eine 1
rewind($ftp); // Setzt Zeige auf 0. Position
fwrite($ftp,$count); // Schreibt
fclose($ftp); // Schließt die Datei
header('Location: http://www.url.de/' . $datei); ?> |
Dann kannst du mit www.deineurl.de/counter.php?datei=test.exe zählen!
|
|
StefanH
      
Beiträge: 1144
Win XP
D5 Standard, D7 Pers, D2005 Pers
|
Verfasst: Do 14.07.05 17:25
aber auch nur, wenn RegisterGlobals an ist.. ich benutze prinzipiel $_GET['somefoo'];. Damit kann man auch keinen Mist bauen 
_________________ "Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
"Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
|
|
Kussi
      
Beiträge: 28
|
Verfasst: Do 14.07.05 19:45
ok, dann sieht das script zwangsläufig anders aus....ich hab register_globals immer auf on...wieso auch nicht....die sicherheit wird dadurch nur unwesendlich beeinträchtigt wenn du vernünftig mit deinen variablen arbeitest!
|
|
sango
      
Beiträge: 236
WinXP Home
Delphi 2005 Pro
|
Verfasst: Do 14.07.05 20:09
Kussi hat folgendes geschrieben: | ok, dann sieht das script zwangsläufig anders aus....ich hab register_globals immer auf on...wieso auch nicht....die sicherheit wird dadurch nur unwesendlich beeinträchtigt wenn du vernünftig mit deinen variablen arbeitest! |
hmm das ist so nicht ganz richtig, da es eine reihenfolge gibt welche der globals genommen werden kann es sein, das zum beispiel einer im get eine anderen user einträgt, und der z.b. im session übergebener überschrieben wird und schon ist man ein anderer user.
de3.php.net/manual/d...#ini.variables-order
deswegen sollte man immer auch bei register_globals on die $_GET["foo"] ... etc verwenden.
|
|
Kussi
      
Beiträge: 28
|
Verfasst: Do 14.07.05 20:14
ich hab ja gesagt, wenn du vernünftig mit deinen variablen umgehst...also bleibts doch dabei und deine
aussage ist unnötig!
|
|
sango
      
Beiträge: 236
WinXP Home
Delphi 2005 Pro
|
Verfasst: Do 14.07.05 20:28
1. ist keine aussage unnötig.
2. was meinst du mit vernünftig mit variablen umgehen?
register_globals on ist grundsätzlich eine tür, fenster, tor, welches man nicht absichert.
_________________ Never read the Off-Topic
|
|
Kussi
      
Beiträge: 28
|
Verfasst: Do 14.07.05 21:34
sango hat folgendes geschrieben: | 1. ist keine aussage unnötig.
2. was meinst du mit vernünftig mit variablen umgehen?
register_globals on ist grundsätzlich eine tür, fenster, tor, welches man nicht absichert. |
ja dann erklär mir mal wieso!!!!
|
|
StefanH
      
Beiträge: 1144
Win XP
D5 Standard, D7 Pers, D2005 Pers
|
Verfasst: Do 14.07.05 21:39
Kussi hat folgendes geschrieben: | ja dann erklär mir mal wieso!!!! |
www.php.net/manual/de/security.globals.php
_________________ "Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
"Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
|
|
sango
      
Beiträge: 236
WinXP Home
Delphi 2005 Pro
|
Verfasst: Do 14.07.05 23:39
danke, den link hab ich gesucht 
_________________ Never read the Off-Topic
|
|
Kussi
      
Beiträge: 28
|
Verfasst: Fr 15.07.05 13:03
das erklärt noch garnichts.....
|
|
sango
      
Beiträge: 236
WinXP Home
Delphi 2005 Pro
|
Verfasst: Fr 15.07.05 13:38
was willst du den noch mehr? wenn du globals on hast, kann jeder sich mit der in dem link gezeigte methode einloggen obwohl er keine rechte dafür hat.
vielleicht war das bei deinen scripten noch nie ein problem, aber bei uns wäre das ein mega problem!
sag uns lieber mal was du mit
Zitat: | wenn du vernünftig mit deinen variablen arbeitest! |
meintest.
_________________ Never read the Off-Topic
|
|
Kussi
      
Beiträge: 28
|
Verfasst: Fr 15.07.05 22:05
die probleme die in dem auf der seite gezeigten link auftreten zu umgehen!
|
|
MrSaint
      
Beiträge: 1033
Erhaltene Danke: 1
WinXP Pro SP2
Delphi 6 Prof.
|
Verfasst: Fr 15.07.05 22:24
*räusper* ich glaube ihr kommt grad etwas Off Topic 
_________________ "people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
|
|
sango
      
Beiträge: 236
WinXP Home
Delphi 2005 Pro
|
Verfasst: Fr 15.07.05 23:01
die art das zu umgehen ist globals OFF zu machen.
sag mir doch mal wie du das auf den seiten gezeigten scripts machen würdest um die sicherheitsprobleme zu umgehen?
ja das ist offtopic, aber sind ja auch im offtopic forum
das thema phpsicherheit ist aber auch schon oft genug besprochen worden so das es sogar extra welch wunder internet seiten zu dem thema gibt.
phpsec.org/
ich sag zu dem thema nix mehr, alles meiner meinung wichtige wurde gesagt, und solang da kein workaround für den sicheren umgang mit variablen bei globals on kommt bringt das auch nix.
its weekend, hf
_________________ Never read the Off-Topic
|
|
blackbirdXXX

      
Beiträge: 1077
Erhaltene Danke: 1
Ubuntu Dapper
|
Verfasst: Sa 16.07.05 00:01
Kussi hat folgendes geschrieben: | das erklärt noch garnichts..... |
Mal sehen:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| <?php
session_start();
$access_level = 0; $access_list = array( 'blackbird' => 255, 'someone' => 1 );
if (isset($login_username) && $login_username !== false) { if (isset($access_list[$login_username])) { $access_level = $access_list[$login_username]; } }
print $access_level;
?> |
nimm an, $login_username kommt von $_SESSION.
Aber es würde von $_GET überschreiben werden.
_________________ Klein, schwarz und ärgert Techniker? Jumper!
|
|
JayK
      
Beiträge: 1013
|
Verfasst: So 25.09.05 18:03
*ausgrab*
Wenn man das Script einfach nur zum Zählen von Downloads brauch, ohne irgendeine andere Statistik oder sonstwas zu erzeugen zu wollen, ist dann Kussis zweites Script aus dem 2. Post dieses Threads nicht okay?
Ich kann kein PHP und suche nach einer einfachen Lösung zum Zählen von Downloads... Das Script verstehe sogar ich annährungsweise. 
|
|
JayK
      
Beiträge: 1013
|
Verfasst: So 30.10.05 12:25
|
|
Onlinekatastrophe
Hält's aus hier
Beiträge: 6
|
Verfasst: So 30.10.05 12:29
ich denke online würd es gehen...ansonsten gibst du vorher noch nen anderen header mit!
OK²
|
|
JayK
      
Beiträge: 1013
|
Verfasst: So 30.10.05 13:27
Es is jetzt online, (Location Adresse durch die richtige ersetzt) und nu passiert überhaupt nix mehr von wegen öffnen oder gar download.
Zähler klappt wieder, aber weiter is nix.
Was denn für nen zusätzlichen header? Bitte Code, da ich von headern nich viel Ahnung habe! 
|
|