Autor Beitrag
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: 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
ontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 28



BeitragVerfasst: Do 14.07.05 15:52 
ausblenden 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:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1144

Win XP
D5 Standard, D7 Pers, D2005 Pers
BeitragVerfasst: Do 14.07.05 17:25 
user profile iconKussi hat folgendes geschrieben:

Dann kannst du mit www.deineurl.de/counter.php?datei=test.exe zählen!


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
ontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 28



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 236

WinXP Home
Delphi 2005 Pro
BeitragVerfasst: Do 14.07.05 20:09 
user profile iconKussi 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
ontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 28



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 236

WinXP Home
Delphi 2005 Pro
BeitragVerfasst: 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
ontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 28



BeitragVerfasst: Do 14.07.05 21:34 
user profile iconsango 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1144

Win XP
D5 Standard, D7 Pers, D2005 Pers
BeitragVerfasst: Do 14.07.05 21:39 
user profile iconKussi 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
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 236

WinXP Home
Delphi 2005 Pro
BeitragVerfasst: Do 14.07.05 23:39 
danke, den link hab ich gesucht :)

_________________
Never read the Off-Topic
Kussi
ontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 28



BeitragVerfasst: Fr 15.07.05 13:03 
das erklärt noch garnichts.....
sango
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 236

WinXP Home
Delphi 2005 Pro
BeitragVerfasst: 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
ontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 28



BeitragVerfasst: Fr 15.07.05 22:05 
die probleme die in dem auf der seite gezeigten link auftreten zu umgehen!
MrSaint
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 236

WinXP Home
Delphi 2005 Pro
BeitragVerfasst: 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

ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1077
Erhaltene Danke: 1

Ubuntu Dapper

BeitragVerfasst: Sa 16.07.05 00:01 
user profile iconKussi hat folgendes geschrieben:
das erklärt noch garnichts.....


Mal sehen:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1013



BeitragVerfasst: So 25.09.05 18:03 
*ausgrab* :mrgreen:
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. :rofl:
JayK
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1013



BeitragVerfasst: So 30.10.05 12:25 
user profile iconKussi hat folgendes geschrieben:
ausblenden 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);
?>

Das Script funzt bei mir auf meinem Localserver nicht :(
Der Zähler funzt, aber das "redirecten" mit header(...) klappt nich (natürlich hab ich url.de durch meine Localhost-Adresse ersetzt ;)) --> meine EXE-Datei wird im Browser geöffnet statt zu downloaden (also sehe ich vieeeel kryptisches Zeuch im Browser). :(
Liegt das nur daran, dass es aufm localhost is, und wenn ich es ins Inet stelle, geht's? Oder was muss ich im Script ändern, damit er es downloaded? BTW: Ich bin ein blutiger Anfänger in PHP also wünsche ich mir auch Code und nicht nur: versuch mal <befehl> ;)
Onlinekatastrophe
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 30.10.05 12:29 
ich denke online würd es gehen...ansonsten gibst du vorher noch nen anderen header mit!

OK²
JayK
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1013



BeitragVerfasst: 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. :cry:
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! :flehan: