[PHP] Conteggio click

Oswold

Utente Attivo
7 Ago 2013
81
0
6
Catania
Salve a tutti!

Non ho un vero e proprio problema con un codice, direi che più che altro è un problema concettuale, vi spiego la mia problematica.

Ho la seguente sezione di codice:

PHP:
if(isset($_POST['url'])) {
    $uid = $_POST['uid'];
    $click = mysqli_query($connessione,"UPDATE utenti SET view_caricati    = (view_caricati + 1) WHERE id = '".$uid."'");
    $destinazione = $_POST['url_file'];
    header("Location: $destinazione");
    exit;
}

In sintesi il codice deve incrementare un record all'interno della tabella utenti quando viene cliccato un pulsante. Essendo il numero di click conteggiati per un fattore economico devo essere sicuro (o quasi...) che i click non vengano fatti dallo stesso utente, più e più volte per far accrescere il contatore e guadagnare di più "truffando".

Ho pensato a una cosa del genere:

Salvo l'indirizzo IP di chi clicca sul bottone attraverso la funzione php

PHP:
$ip = $_SERVER['REMOTE_ADDR'];

Dopodiché salvo la variabile "$ip" all'interno di un file ".txt" ed ogni qualvolta che un utente clicca sul pulsante interessato confronto l'indirizzo IP utilizzato con quelli presenti nel foglio ".txt".

Naturalmente, aggiungerei all'interno del foglio ".txt" tutti gli indirizzi IP proxy maggiormente utilizzati per evitare eventuali "furbetti".

Secondo voi potrebbe funzionare? Esiste una metodologia migliore? Avete qualche consiglio da darmi o potete indirizzarmi verso qualche altra strada?

Grazie in anticipo!
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, io farei una tabella wiew a parte dove memorizzi l'idutente, l'ip, l'agent, la data e tutto quello che puoi recuperare dalla variabile $_SERVER. Prima di ogni click (UPDATE ) fai una query sulla tabella wiew ed effettui tutti i controlli che possono esserti utili.
 

Oswold

Utente Attivo
7 Ago 2013
81
0
6
Catania
Ciao, io farei una tabella wiew a parte dove memorizzi l'idutente, l'ip, l'agent, la data e tutto quello che puoi recuperare dalla variabile $_SERVER. Prima di ogni click (UPDATE ) fai una query sulla tabella wiew ed effettui tutti i controlli che possono esserti utili.
Secondo te qual'è la possibilità di trovare click falsi al pulsante con tale metodologia? Purtroppo non posso creare ulteriori tabelle in quanto i pulsanti sarebbero molti (dell'ordine dei 2000) e già sul database sono presenti molte tabelle, di conseguenza credo sia più efficiente andare a creare dei file di testo contenuti all'interno del server.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Basterebbe una sola tabella. Puoi controllare ad esempio che non ci siano click consecutivi dello stesso ip
PHP:
$query = "SELECT count(*) as tot FROM view WHERE ip = " . $_SERVER['REMOTE_ADDR'] . " && TIMESTAMPDIFF(SECOND ,data, NOW()) < 20";
in base a quello che memorizzi in tabella puoi fare qualsiasi controllo
 
Ultima modifica:
  • Like
Reactions: Oswold

Oswold

Utente Attivo
7 Ago 2013
81
0
6
Catania
Basterebbe una sola tabella. Puoi controllare ad esempio che non ci siano click consecutivi dello stesso ip
PHP:
$query = "SELECT count(*) as tot FROM view WHERE ip = " . $_SERVER['REMOTE_ADDR'] . " && TIMESTAMPDIFF(SECOND ,data, NOW()) < 20";
in base a quello che memorizzi in tabella puoi fare qualsiasi controllo

Grazie mille per le dritte!
 
Discussioni simili
Autore Titolo Forum Risposte Data
trattorino problema raccapricciante php conteggio query PHP 4
C [RISOLTO][PHP] Conteggio righe di una tabella PHP 4
F conteggio data come su facebook php/mysql PHP 7
IImanuII [Php] script per il conteggio delle mail inviate PHP 40
neo996sps conteggio dei pacchetti in ingresso ed in uscita con PHP PHP 3
M Conteggio ore/mese php .xls PHP 2
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Visualizzazione a video risultati query php PHP 0
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6

Discussioni simili