- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Controllo ip e confrondo con database MYSQL - URGENTE
-
Io vorrei evitare l'accesso di alcuni spammer nel mio sito quindi in questo caso quale devo usare per avere un qualcosa di efficiente e duraturo? $_SERVER['REMOTE_ADDR'] o $_SERVER['SERVER_ADDR']?
Poi c'è un codice per inserire nel database l'ip, il browser, il giorno e l'ora di chi visita una determinata pagina?
-
Devi utilizzare $_SERVER['REMOTE_ADDR'] come stai già facendo.
Puoi fare in modo di avere nel database tutti quei dati, ma considera che potrebbero essere inseriti moltissimi dati se le pagine vengono visualizzate da molti visitatori/bot, e potresti avere problemi.
-
La pagina in cui dovrò utilizzare quel codice sarà una pagina interna e disponibile solo ai registrati quindi nessun bot potrà entrare... ho scoperto il perchè di quell'ip "strano", è di cloudflare...
Comunque, che codice devo usare per memorizzare i dati? Non sono molto bravo a riguardo
-
Basta un semplice query INSERT, ma ovviamente devi creare la tabella prima, ad esempio:
mysql_query("INSERT INTO tabella(ip, ora)VALUES('".$_SERVER['REMOTE_ADDR']."', ".time().")");
-
Sto usando questo codice:
<?php$db_host="localhost"; $db_name="ips"; $db_user="root"; $db_password="****"; $db=mysql_connect($db_host,$db_user,$db_password); mysql_query("INSERT INTO ip(hostname, ora)VALUES('".$_SERVER['REMOTE_ADDR']."', ".time().")"); ?>
ma se vado nel database che si chiama ips e nella tabella ips non vedo aggiunto nessun ip.
-
Devi creare una tabella apposita, con la struttura necessaria
-
Ho creato un apposita tabella chiamata ipuser con dentro i campi: ip, ora ma continua a non salvare nulla
-
Bene, quella query però devi metterla in ogni pagina in cui vuoi che venga aggiunto il record nella tabella affinché funzioni come vuoi tu.
-
Si ma non salva nè ora nè ip
<?php
$db_host="localhost";
$db_name="ips"; $db_user="root"; $db_password="*****";
$db=mysql_connect($db_host,$db_user,$db_password);mysql_query("INSERT INTO ipuser(ip, ora)VALUES('".$_SERVER['REMOTE_ADDR']."', ".time().")"); ?>
Il db si chiama ips e la tabella ipuser
-
UP