Contador que filtre IP Contador que filtre IP - Página 2


Página 2 de 2 PrimeroPrimero 12
Mostrando resultados del 11 al 14 de 14
  1. #11
    Registro
    01-julio-2017
    Ubicación
    Ecuador
    Edad
    25
    Mensajes
    892
    Cita Iniciado por proTests Ver Mensaje
    Código PHP:
    function mi_ip() {
        
    $ipaddress '';
        if (isset(
    $_SERVER['HTTP_CLIENT_IP']))
            
    $ipaddress $_SERVER['HTTP_CLIENT_IP'];
        else if(isset(
    $_SERVER['HTTP_X_FORWARDED_FOR']))
            
    $ipaddress $_SERVER['HTTP_X_FORWARDED_FOR'];
        else if(isset(
    $_SERVER['HTTP_X_FORWARDED']))
            
    $ipaddress $_SERVER['HTTP_X_FORWARDED'];
        else if(isset(
    $_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
            
    $ipaddress $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
        else if(isset(
    $_SERVER['HTTP_FORWARDED_FOR']))
            
    $ipaddress $_SERVER['HTTP_FORWARDED_FOR'];
        else if(isset(
    $_SERVER['HTTP_FORWARDED']))
            
    $ipaddress $_SERVER['HTTP_FORWARDED'];
        else if(isset(
    $_SERVER['REMOTE_ADDR']))
            
    $ipaddress $_SERVER['REMOTE_ADDR'];
        else
            
    $ipaddress 'UNKNOWN';
        return 
    $ipaddress;
    }


    function 
    setAndViewPostViews($postID) {
        
    $ip_actual mi_ip();

        
    $count_key 'views';
        
    $ips_key 'ips_contador';
        
    $count get_post_meta($postID$count_keytrue);
        
    $ips unserialize(get_post_meta($postID$ips_keytrue));

        if(   
    $count===FALSE   ){
           
    /* AUN NO EXISTE EL CONTADOR, ASI QUE LO INICIAMOS CON UN 1, Y AGREGAMOS LA IP */
               
    $count 1;
               
    $ips = array($ip_actual);

               
    update_post_meta($postID$count_key$count);
               
    update_post_meta($postID$ip_keyserialize($ips));
        }else{
            
    /* ya existe el contador, por lo que minimo ya debe existir una IP almacenada, asi que revisamos */
            
    if(   $ips!==FALSE   ) {
               
    /* SI EXISTEN IPS ALMACENADAS, AHORA BUSCAMOS QUE LA IP ACTUAL NO EXISTA */
               
    if(   $array_search($ip_actual$ips)!==FALSE   ) {
                 
    $count++;
                 
    array_push($ips$ip_actual);

                 
    update_post_meta($postID$count_key$count);
                 
    update_post_meta($postID$ip_keyserialize($ips));
               }
            } else {
                 
    /* NO EXISTEN IPS ALMACENADAS, ASI QUE AUMENTAMOS EL CONTADOR Y AGREGAMOS LA IP */
                 
    $count++;
                 
    $ips = array($ip_actual);

                 
    update_post_meta($postID$count_key$count);
                 
    update_post_meta($postID$ip_keyserialize($ips));
            }
        }
        return 
    $count;

    NO LO TESTIE!! PERO MAS O MENOS ASI DEBE DE FUNCIONAR
    Buen código!

  2. #12
    Registro
    23-enero-2015
    Ubicación
    location("Venezuela");
    Edad
    25
    Mensajes
    320
    lo mejor que puedes hacer es detectar las conexiones mediante el ip del usuario y hacer uso de esta guía para detectar si utiliza algún proxy
    Detectar conexiones desde proxy y la IP real |

    pero ojo hay que tener también en cuenta que algunos proxy garantiza total privacidad en la red.

    El uso de cookie es un segundo plano de seguridad. Como también puedes integrar otros datos "user agent"

  3. #13
    Cita Iniciado por kj2 Ver Mensaje
    El problema es que vas a bombardear los recursos de tu web con guardar y comparar tantas IP (sobre todo si usas un campo personalizado para gardar, extraer y comparar, veo una bola de nieve traga recursos ahí). Como tengas muchas visitas de golpe o con el paso del tiempo, el sitio se pondrá lento y terminará cayéndose a cada momento.

    Lo más sencillo es lo que te dijeron al principio de usar una cokkie, pero si quieres insistir en guardar todas las IP, mejor usa wpdb para alojar las IP en una tabla aparte en tu BD, para luego hacer la búsqueda de la IP de cadas visitante como una consulta SQL(sera mas óptimo).

    kj
    Exacto, eso me temo con el método de la IP al ser en varios post por separado. Como digo también me valdría algún tip para que el usuario no pudiera abusar del F5 o refrrescar la página y por lo que veo igual es mejor usar una cookie como comentas. Aún le estoy dando vueltas al problema antes de ponerme en manos de un experto en programación que me lo realize.
    Si esa información la conservan "por los siglos, de los siglos", si, es probable que pase eso, pero, yo tuve una situación similar y la resolví de la siguiente manera. Necesitaba un contador que contara las visitas únicas (el cliente no quiso ninguno de los gratis del mercado, así que le tuve que hacer uno), para ello guardo la dirección ip del visitante en una tabla (base mysql), luego, cuando viene una visita borro todo lo que ya tenga más de 24 horas de existencia (la tabla aparte del campo ip tiene un campo para la fecha de esa visita), así todo lo que hay es siempre lo que se ha visitado en ese día y si su ip ya está en la lista, ya no se agrega y por lo tanto el contador no aumenta.

    También al borrar todo lo que no sea del día no se hace una tabla gigantesca y hasta ahora no tengo el problema de que el acceso sea lento a la web por culpa de ese contado.

  4. #14
    Registro
    14-enero-2018
    Edad
    27
    Mensajes
    31
    Cita Iniciado por liukin Ver Mensaje
    Exacto, eso me temo con el método de la IP al ser en varios post por separado. Como digo también me valdría algún tip para que el usuario no pudiera abusar del F5 o refrrescar la página y por lo que veo igual es mejor usar una cookie como comentas. Aún le estoy dando vueltas al problema antes de ponerme en manos de un experto en programación que me lo realize.

    - - - Actualizado - - -



    Gracias proTest

    Le voy ha echar un ojo al código a ver si consigo adaptarlo a mi sitio.
    Cita Iniciado por Elias99 Ver Mensaje
    Buen código!
    Me alegra que les halla servidor brothers.

Página 2 de 2 PrimeroPrimero 12


Temas similares

  1. Contador para descarga o contador para acceder a pagina de descarga.
    Buenas, Alguien me puede ayudar ya que quiero ocultar un enlace de descargar, pero a su vez que cuando le den clic en el encale abra una nueva pagina...
    Respuestas: 1
    Último mensaje: 23-nov-2017
  2. Contador de clics
    Habar si me explico bien y alguien me puede ayudar: Estoy intentando implementar en uno de mis sitios un sistema de votación, y me gustaría que se...
    Respuestas: 8
    Último mensaje: 10-may-2013
  3. Adjal muestra los anuncios por IP o uno tiene que tener un adserver que filtre eso?
    Quisiera saber si adjal tiene su propio ad server que filtra que anuncios dar según la IP del visitante o uno tiene que usar un ad server que filtre...
    Respuestas: 0
    Último mensaje: 13-mar-2012
  4. Contador de post
    Hola, me gustaria saber si hay alguna forma de sacar el contador de post de los usuarios del foro. Directamente que no te muestre el numero de post...
    Respuestas: 2
    Último mensaje: 20-sep-2008
  5. Contador de mensajes.
    Hola a todos les comento mi problema, necesito añadir en mi foro la forma de que los mensajes de respuesta o reply no sumen pero si los post.(para...
    Respuestas: 6
    Último mensaje: 10-jul-2008

Normas de publicación

  • No puedes crear nuevos temas
  • No puedes responder mensajes
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •