Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]time(), czy mozna ustawic czas serwera nie uzytkownika
fate
post
Post #1





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Czy mozna jakos ustawic zeby funkcja time() korzystala z zegara na serwerze a nie po stronie uzytkownika? chodzi o to zeby przestawienie czasu nie powodowalo bledow w moich skryptach np antyflood..
moze jakies inne rozwiazanie? nerdsmiley.png


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


http://php.net/manual/en/function.localtime.php

Ten post edytował CuteOne 19.11.2012, 11:26:41
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Przecież to jest czas serwera, a nie użytkownika, no chyba że skrypt odpalasz na localhost, wtedy jedno pokrywa się z drugim.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
fate
post
Post #4





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


witam no niestety sprawdzilem time() na serwerze zewnetrznym i zmiana czasu na kompie pozwalala mi na floodzik
funkcja date() korzysta z czasu na serwerze i moglbym ja wpasowac ale sprobuje zastosowac $_SERVER['REQUEST_TIME'] na localtime jest za glupi albo za leniwy bo nie obczailem wstydnis.gif



--------------------
Go to the top of the page
+Quote Post
CuteOne
post
Post #5





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Niemożliwe.... time() zwaraca czas serwera(Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)) i komp użytkownika ma do niego tyle co ja do Kaczyńskiego

Ten post edytował CuteOne 19.11.2012, 12:37:26
Go to the top of the page
+Quote Post
!*!
post
Post #6





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat(fate @ 19.11.2012, 12:20:29 ) *
witam no niestety sprawdzilem time() na serwerze zewnetrznym i zmiana czasu na kompie pozwalala mi na floodzik

Ciekawe jakim sposobem, skoro time() działa po stronie serwera. Pokaż kod.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
fate
post
Post #7





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Zawrzało widzę, więc trzeba to wyjaśnić:

kodzik jest prosty:
  1. $cooks = time();
  2. setcookie ('antyflood', $cooks, time()+30);

a zaraz potym to ale raczej bez znaczenia:
  1. $czas = date("Y/m/d H:i:s");
  2.  
  3. $htap = file($path);
  4. $id = count($htap);
  5. $addnew = '<div class="feedback"><p id="'.--$n.++$id.'">'.$autor.' '.$_SERVER['REMOTE_ADDR'].'<br />'.$czas.'<br />'.$tresc.'</p></div>'."\r\n";
  6. ++$n;
  7. $add = fopen($path, 'a+');
  8. flock($add, 2);
  9. fseek($add, 0);
  10. fwrite($add, $addnew);
  11. flock($add, 3);
  12. fclose($add);


na koniec
  1. else {
  2. $tajm = time()-30;
  3. $timeleft = $_COOKIE['antyflood'] - $tajm;
  4. echo 'Moşliwość dodawania kolejnych komentarzy zostanie odblokowana za <strong>'.$timeleft.'</strong> sekund.';}


wiem ze troche spaghetti ten kod

dodam ze na serwie ustawiony jest date_default_timezone_set ale chyba to bez znaczenia

http://naoq.pl/index.php?show=view&art...055253&id=6

ostatnie 2 komentarze dodano w odstepie 12 sekund (w trakcie ktorych zmienilem date i godzine w przod na WINDOWS7):
Gość 84.40.247.50
2012/11/19 12:14:55
fgfghfghvfv fgfh fg hf fg hfg hfgh fghf

Gość 84.40.247.50
2012/11/19 12:15:07
fgfghfghvfv fgfh fg hf fg hfg hfgh fghf

data i godzina zapiswyana jest z funkcji date()

Może ktoś wytłumaczy, co nie zmienia faktów moich zamiarów przeróbek i tak


--------------------
Go to the top of the page
+Quote Post
!*!
post
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


  1. $config['antyflood']['time'] = 10;
  2.  
  3. $time = date('Y/m/d H:i:s');
  4. $text = 'blebleble '.$time.'fooo'."\r\n";
  5.  
  6. if(isset($_COOKIE['send_message']))
  7. {
  8. echo 'odczekaj '.$config['antyflood']['time'].' sekund';
  9. }
  10. else
  11. {
  12. echo 'wiadomość wysłana';
  13. setcookie('send_message', 'foo', time() + $config['antyflood']['time']);
  14. file_put_contents('./file.txt', $text, FILE_APPEND | LOCK_EX);
  15. }


Tu nie ma wielkiej filozofii.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #9





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


To nie ma żadnego związku z date, tylko z czasem żywotności ciasteczka. A więc wszystko odbywa się po stronie przeglądarki. O ile przestawiasz tą datę? A na ile ustawiłeś ciasteczko?


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
fate
post
Post #10





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


czas zywotności time() + 30 sekund (chyba powinienem tu uzyc czasu z zapisanej wczesniej zmiennej) i blad mysle ze znikne sprawdze pozniej

data 4 dni do przodu godzina kilkanascie minut do przodu

!*! mam tam podobnie tak jak to pokazales ale wplatane jest w to mnostwo innego kodu dlatego pokazalem tylko czesci

Ten post edytował fate 19.11.2012, 14:50:49


--------------------
Go to the top of the page
+Quote Post
CuteOne
post
Post #11





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


  1.  
  2.  
  3. $time = time();
  4.  
  5. if(isset($_SESSION['lastActive'])) {
  6.  
  7. if($_SESSION['lastActive'] + 30 > $time) {
  8.  
  9. // dodaj post
  10. $_SESSION['lastActive'] = $time;
  11. }
  12. else {
  13.  
  14. // nie dodawaj
  15. }
  16. }
  17. else {
  18.  
  19. // dodaj post
  20. $_SESSION['lastActive'] = $time;
  21. }


Ten post edytował CuteOne 19.11.2012, 15:01:28
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 12:30