![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Benutzer Registriert seit: 23.09.2005
Beiträge: 35
|
Hallo, ich habe mir ein download script programmiert, das auch schon funktioniert. Jetzt wollte ich zum schutz meines Traffics noch eine Sperre mit cookies einbauen. Leider funktioniert die abfrage ob der cookie existiert (isset) nicht. Die Links sehen ungefähr so aus: "..../download.php?file=Eine Datei" hier is mal das komplette script: die download.php PHP-Code: PHP-Code: download.php: PHP-Code: Danke für die Hilfe im vorraus |
| | |
| | Nach oben #4 |
| Gast
Beiträge: n/a
|
übrigens hast du ein typisches register-globals-problem... wenn ich den URL mit &cookie=0 (und register-globals=on) aufrufe, hab ich deinen counter bereits umgangen. immer wieder das selbe: ELSE macht sinn. und dein 'problem' liegt eigentlich nur daran, dass du nicht korrekt eingerückt hast und damit nicht korrekt nachvollziehen kannst, wie die ausführungsreihenfolge des codes ist. halte dich an eine der beiden regeln: http://www.dagbladet.no/development/...tandard/#brace ... und du wirst sehen, dass es gar nicht am $_COOKIE lag. 1. hinweis: netscape-user werden in deinem skript bevorzugt behandelt. 2. hinweis: strings werden in php in einfache oder doppelte anführungszeichen gepackt. 3. hinweis: guck dir ganz genau an, was unter http://us2.php.net/stristr steht: testing if a string is found or not - zähl mal die gleichzeichen. viel spaß Geändert von axo (23.02.2006 um 00:03 Uhr). |
|
| | Nach oben #6 | |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.183
| Zitat:
einzige effektive lösung für sowas ist es dass user sich anmelden müssen. | |
| | |
| | Nach oben #7 |
| Benutzer Registriert seit: 23.09.2005
Beiträge: 35
|
Hallo, @axo, danke für die Hinweise, aber könntest du etwas genauer werden? Und warum werden die Netscape Benutzer bevorzugt, es ist klar das die einen "Rechtsklick" Link bekommen, aber das muss so sein, denn die Videos werden sonst im Browser aufgerufen (mit Zahlen. Buchstaben...) ohne das ein Download Fenster erscheint. Ich habe jetzt alles ein bisschen eingerückt. Aber leider seh ich immer noch nicht wo der Fehler ist. PHP-Code: PHP-Code: PHP-Code: P.S. Es geht mir nicht darum, den Download 100% zu beschränken, sondern nur das ein nicht so erfahrener User wie ihr, nicht gleich mehrfach den Dowload aufruft. @robo47, anmelden finde ich für meine zwecke unnötig und nur zeitaufwendig. |
| | |
| | Nach oben #8 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
kleiner tipp: Einrücken geht in etwa so: PHP-Code:
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #11 | |
| Johannes Schlichenmaier Registriert seit: 26.08.2005 Ort: Mannheim
Beiträge: 398
| Zitat:
Wenn der Cookie schon gesetzt ist, wird die Meldung angezeigt und wenn nicht, wird überprüft, ob der Browser Netscape ist. Und wenn das dann true ist, wird ein Download-Link angezeigt Den Download für andere ermöglicht er ja schon hier: PHP-Code: @Magicman Hast du schon mal debuggt? Versuch erstmal den Fehler mittels echo, print_r, var_dump und Konsorten einzugrenzen. Also finde heraus, an welcher Stelle bereits etwas schief geht. Ich denke du hast da wahrscheinlich irgend einen Semantikfehler drinne. //edit: Irgendwie find ich die Aufteilung recht verwirrend. Deshalb kanns sein, dass ich jetzt axos Beitrag völlig ungerechtfertigt kommentiert hab.
__________________ In the beginning was the word and the word was content-type: plain/text heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int Geändert von Jojo (23.02.2006 um 16:00 Uhr). | |
| | |
| | Nach oben #13 |
| Benutzer Registriert seit: 23.09.2005
Beiträge: 35
|
Jojo hat den Code schon richtig interpretiert Ich habe den Fehler auch schon mit variablen-ausgabe und so eingeschränkt und bin dabei auf das $_COOKIE[$cookiename] gestoßen. Wenn ich z.B. $cookie direkt auf "true" setzte (ohne cookie abfrage) funktioniert das script einwandfrei. |
| | |
| | Nach oben #14 |
| Johannes Schlichenmaier Registriert seit: 26.08.2005 Ort: Mannheim
Beiträge: 398
|
moment. Lass mich mal nachdenken. Du hast mit einberechnet, dass ein gesetztes Cookie nich so ohne weiteres im selben Script abgerufen werden kann, in dem es gesetzt wird? Aber wie ich das sehe, nutzt du diesen Umstand sowieso aus, damit man die Datei einmal runterladen kann. Hast du mal den Namen des Cookies beim Erstellen und beim Abrufen verglichen? Grüße, Jojo
__________________ In the beginning was the word and the word was content-type: plain/text heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int |
| | |
| | Nach oben #15 |
| Benutzer Registriert seit: 23.09.2005
Beiträge: 35
|
Da mann ja dann auf die download.php (im ordner mit der datei) weitergeleitet wird, hat sich ja das problem mit dem im gleichen script gesetzten cookie erledigt. Die Namen der cookies stimmen auch (ich habe es auch ohne md5 verschlüsselung versucht). Ist das so ein komisches script |
| | |
| | Nach oben #16 |
| Johannes Schlichenmaier Registriert seit: 26.08.2005 Ort: Mannheim
Beiträge: 398
|
also liegt dein Problem hier? PHP-Code: Hast du mal statt 'isset()' mal 'array_key_exists()' probiert? Denn isset liefert dir false, wenn das Element null ist, obwohl der Index existiert? Grüße, Jojo
__________________ In the beginning was the word and the word was content-type: plain/text heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int |
| | |
| | Nach oben #18 | |
| Johannes Schlichenmaier Registriert seit: 26.08.2005 Ort: Mannheim
Beiträge: 398
| Zitat:
Die Pfade müssen gleich sein, oder der auslesende muss innerhalb des gesetzten liegen. Am einfachsten gibts du dem set_cookie ein Pfad '/' mit. Grüße, Jojo
__________________ In the beginning was the word and the word was content-type: plain/text heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int | |
| | |
| | Nach oben #20 |
| Johannes Schlichenmaier Registriert seit: 26.08.2005 Ort: Mannheim
Beiträge: 398
|
jo, hast recht. die Funktion heißt auch setcookie. k.a. wie ich auf set_cookie komme. Zu deiner Frage: rtfm, ne? Grüße, Jojo
__________________ In the beginning was the word and the word was content-type: plain/text heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Probleme mit Strato / Arcor? | MrNiceGuy | Plauderecke | 15 | 28.12.2006 23:35 |
| Caching mittels dbm-Dateien, Probleme mit dba_popen() | Ben | PHP-Programmierung | 4 | 27.07.2006 13:23 |
| Probleme mit Anhängen | Ben | Archiv | 0 | 16.06.2006 16:13 |
| Layout Probleme | VipViper2000 | Desktop-Applikationen und Grafik | 8 | 13.09.2005 22:35 |
| 2 Probleme: Serververbindung /if-Abfragen beim Streamempfang | Javaner No.1 | Allgemeine Java-Programmierung | 2 | 28.01.2005 01:07 |