Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zabezpieczyć przed wielokrotnym wykonaniem skryptu wywołanego zdalnie, Licznik wyświetleń
markonix
post
Post #1





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Kod HTML:
  1. <iframe src="http://example.com/count.php" width="1" height="1"></iframe>
  2. <iframe src="http://example.com/count.php" width="1" height="1"></iframe>
  3. <iframe src="http://example.com/count.php" width="1" height="1"></iframe>


Kod PHP:

  1. <?php
  2.  
  3. if (time() - $_SESSION['last_vistit'] <= 10) {
  4. die();
  5. }
  6.  
  7. $_SESSION['last_vistit'] = time();
  8.  
  9. mysql_query('INSERT INTO `test` SET `value` = "'. $_SESSION['last_vistit'] .'"');


W jaki sposób zabezpieczyć skrypt count.php aby zapobiec dodaniu do bazy 3 wierszy?
Jak widać zabezpieczyłem skrypt przez zbyt szybkim wywołaniem, jak odświeżę stronę to zabezpieczenie działa.
Ale gdy wczytam stronę z ramkami iframe to dodają się od 1 do 3 razy - co ciekawe nie ma normy.

Ten post edytował markonix 4.03.2016, 20:11:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
KsaR
post
Post #2





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


Na sesji nie rob bo to glupota...

  1. <?php
  2. $time = file_get_contents('./time.txt', false, stream_context_create(array('http'=>array('ignore_errors'=>true))));
  3. if ($time == false) {
  4. $time=time();
  5. file_put_contents('./time.txt', ($time+10));
  6. }
  7. elseif ($time-time()>0) {
  8. }
  9.  
  10. mysql_query('INSERT INTO `test` SET `value` = "'. $time .'"');

Chyba że musisz oddzielnie dla każdego użytkownika to wtedy możesz jak wyżej tylko zamiast IP to ID (IMG:style_emoticons/default/tongue.gif)

Ten post edytował KsaR 4.03.2016, 22:22:17
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 13:07