PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HILFE Cookietime HILFE



FaWeY
14-11-2001, 20:13
Also ich habe da son lustiges Gäste buch gebastelt

Gästebuch (http://fawey.dyndns.org/newnotiz)

Nun is mein prob das ich da ne sperre reingemacht habe per cookie
das wenn einer postet erst nach einer stunde wieder posten darf

( is zwar leicht zu umgehen is aber egal)

nun meine Frage

wie kann ich auslesen wie lange ein cookie noch hält (lifetime)

weil sonst da steht "sie dürfen in einer stunde erst wieda posten" obwohl schon 50 minuten um sind hoffe jemand kann mir helfen

THX im VORRAUS

Mfg

<_-=FaweY=-_>

JoelH
15-11-2001, 07:13
ka. ob das geht, aber warum legst du den Cookie nicht mit der akuellen Zeit ab dann kannste beim Auslesens des Cookies bestimmen wieviel Zeit noch bleibt, einfach den Timestamp mit ins Cookie packen und gut ist.

reno
15-11-2001, 08:45
Griaß Di FaWeY,

sieht ja schön bunt aus, dein Gästebuch. Läuft aber leider nicht mit Netscape 4.7. Außerdem können böse Gästebuchschreiber das Ding ziehmlich verunstalten. Z.B. unendlich lange Texte eingeben. Wenn man Javascript abschaltet kann man Einträge abschicken, ohne ein einziges Feld auszufüllen, und das auch noch beliebig oft wenn man Cookies deaktiviert hat.

Sorry, sollte nur ein konstruktiver Test sein. :cool:

philippmueller
15-11-2001, 08:56
Für Dein "Problem" würde zur Session-Funktionalität von PHP raten.

Mit den Sessions kannst Du dann wirklich einfachst Variablen auf dem Server hinterlegen. Damit brauchst Du sie nicht im Client hinterlegen und kannst bequem Deine Ausgabe darauf anpassen.

Sessions sind wirklich einfach, nur recht kompliziert dokumentiert.

Wenn Du eh mit Cookies arbeitest, gibt es wirklich keinen Grund auf Sessions zu verzichten.

Ich habe in meinem Projekt meine selbstgeschriebene Sessionverwaltung durh die von PHP ersetzt. Bin so von 70 auf 10 Zeilen Code zurückgekommen.

reno
15-11-2001, 09:15
Griaß Di philippmueller,

Sessions sind sehr praktisch. Allerdings können sie in diesem Fall nicht verhindern, daß sich ein User mehrmals innerhalb einer bestimmten Zeitspanne einträgt.

JoelH
15-11-2001, 09:22
dies lässt sich so oder so nicht verhindern, da ich zB. alle Cookies lösche wenn ich den Browser beende. Gegen Missbrauch ist kein Kraut gewachsen.

FaWeY
15-11-2001, 14:34
Also zum punkt wegen js abstellen isses egal
das is nur anch ausßen das man was eingeben muss wen man keinen text oder
usernamen angibt sagt das script sofort geh weg *g*

is ne if schleife drinnen die guckt ob die beiden felder ausgefüllt sind

hmm mit sessions
hab das ma auf meinem windoof getestet da macht ern fehler mitm tmp verzeichnis weil das mein apache irgendwie nett blickt
aufm linux apache läufts aber er speicher die session nicht kp wieso
aber die session is nur solange da wie der browser geöffnet is
wegen dem cookie wahrscheinlich mach ich noch ne 1std ip sperre rein
aber das bringt nix wenn man über nen proxy geht also fast alles is umgänglich

SERS

by

<_-=FaWeY=-_>

FaWeY
15-11-2001, 14:36
Hmm da habe ich doch die scheiß if anweisung rausgenommen *g*

bau ich wieder ein *g*

:D

by

<_-=FaWeY=-_>

philippmueller
15-11-2001, 15:27
Original geschrieben von FaWeY
hmm mit sessions
hab das ma auf meinem windoof getestet da macht ern fehler mitm tmp verzeichnis weil das mein apache irgendwie nett blickt

Dann ist das nur eine Einstellungssache.


aufm linux apache läufts aber er speicher die session nicht kp wieso
aber die session is nur solange da wie der browser geöffnet is

Jepp, das Cookie bleibt nur so lange gültig, wie der Browser offen ist.
Auch löscht er es spätestens nach einem Tag.
Aber wo ist hier das Problem? Mehr wolltest Du doch garnicht.


wegen dem cookie wahrscheinlich mach ich noch ne 1std ip sperre rein
aber das bringt nix wenn man über nen proxy geht also fast alles is umgänglich
Das mit dem Proxie ist schmarrn. Sorry, die Cookies werden im Browser gespeichert oder gar nicht (ob durch Proxie gefiltert oder vom Browser abgelehnt ist egal).

Generell:
Du willst doch ein Forum, wo die Leute anonym was posten können. Sofern sie anonym sind, sind sie anonym und Du kannst sogesehen den "Mißbrauch" nicht verhindern.
Die einzige Alternative dazu wäre mit Anmelden (Username, Paßword, etc.). Dann sind die Poster nicht mehr anonym und Du kannst Mißbrauch größtenteils verhindern.
-> So funktioniert nunmal das Internet :)

FaWeY
15-11-2001, 20:07
Wer lesen kann is im Vorteil *g*



wegen dem cookie wahrscheinlich mach ich noch ne 1std ip sperre rein
aber das bringt nix wenn man über nen proxy geht also fast alles is umgänglich




das cookie hat damit nix mehr zutun,
war nur das es mit ip sperre auch assi is
weil man über proxy geht

Das cookies aufm pc gespeichert werden war mir auch klar
und dass man es zeiten vorgeben kann wie lange es drauf bleiben soll

Ps.: Ich habe mich noch NIE mit Sessions beschafft deshalb wusste ich nicht ob session nun nur solange bleibt wie man drauf is oder ob man einstellen kann wie bei cookies das sie länger gespeichert werden


Trotzdem Danke für dienen Post *g*

Mfg

<_-=FaWeY=-_>

wegen meiner eigentlich frage ich denk ich mach ne zweite variable ins ccokie und lass davon die zeit abziehen

FaWeY
15-11-2001, 22:04
also
nun werden mich alle umbringen *g*

Ich habs egschafft aber wie :D




Das hier is fürs cookie

$lifetimeh = date('H', time());
$lifetimei = date('i', time());
$lifetimes = date('s', time());
$newlife = ($lifetimeh * 3600) + ($lifetimei * 60) + $lifetimes;



$post_stop = "ja";
setcookie("post_stop", $post_stop, time() + 3600 );
setcookie("newlife", $newlife, time() + 3600 );





und das hier fürs ausrechnen
$llifetimeh = date('H', time()); //aktulle zeit in stunden
$llifetimei = date('i', time()); //aktulle zeit in minuten
$llifetimes = date('s', time()); //aktulle zeit in sekunden
$newllife = ($llifetimeh * 3600) + ($llifetimei * 60) + $llifetimes; // alles zusammen in Sekunden
$timell = $newllife - $newlife; // Aktuelle Zeit minus der zeit die im cookie steht
$timel = 3600 - $timell; // 3600 durch die sekunden die mit &newllife geliefert werden
$aktime = bcdiv($timel,60,0); // die sekunden Durch 60 und er soll 0 kommastellen schrieben





blickt zwar keiner und is bestimmt ewig kompliziert
und es gibt bestimmt ne totasl einfache lösung
aber wieso einfach wenns auch kompliziert geht

Nun kann man nimmer das JS umgehen weil es nun auch im php is das man was ausfüllen muss osnt macht er NÜX



VIEL SPASS

Mfg

by

<_-=FaWeY=-_>

FaWeY
15-11-2001, 22:14
*genervt ins bett geh*

Hmm irgendwas is da doch falsch

wieos kennt mein linux php
nicht

bcdiv
obwohl das hier im manual steht

(PHP 3, PHP 4 >= 4.0.0)

habe es nun als demo zweck nur teilen lassen das man sieht das es geht

das mit dem das er die kommastellen weglassen soll ( wie oben beschrieben) funzt irgendwie nicht auf meinem linux aber auf meinem windoof obwohl beide die gleiche php version haben *mit kopf gegen wand renn*

ALsi nicht meckern wenn da z.B.: 46.916666666667
das is nur weil bcdiv nett geht *grml


GB (http://fawey.dyndns.org/newnotiz)