Hacer una "lista negra" de Referers.

  • Autor Autor zcriptz
  • Fecha de inicio Fecha de inicio
PHP:
<?php
$host = '';
$blackList = array(      //SIN WWW
    'google.com',
    'youtube.com'
);

if(isset($_SERVER['HTTP_REFERER']))
    $host = str_replace('www.', '', parse_url($_SERVER['HTTP_REFERER'])['host'])
;

if($host != '' && !empty(array_search($host, $blackList)))
    echo "$host est&aacute; en la lista negra"
;else
    echo "$host no est&aacute; en la lista negra"
;

Si no hay referer dice que no está en la lista.

Espero te sirva @eddddd

Es un código simple, base para ir aprendiendo.

PD: Que se llame lista negra (blacklist) no significa que haya que detectarlas para algo "malo".
Wey, pero has un tutorial paso a paso..
Esto les puede servir a muchos..

Pero no todos saben de programación con PHP 👍
 
¿No sería mejor ponerlo en un archivo .env o .json en vez de estar editando el php a cada rato?
 
¿No sería mejor ponerlo en un archivo .env o .json en vez de estar editando el php a cada rato?
Podria ser, pero mejor aun, ponerlo en una tabla en la BD, de ese modo puedes administrarlo desde tu panel de control de tu sitio o desde un mini panel diseñado exclusivamente para ese motivo. Quiza digan que ahora es mas rollo crearse un panel solo para eso, pero en mi caso, para sitios con algo de trafico, la lista de refereres no deseados crecia dia con dia a tal grado que llega a ser algo completamente engorroso y estar actualizando archivos de muchos sitios como que no. Pero bueno, eso mas bien va a ir dependiendo de las necesidades del propio sitio y/o administrador.
 
Atrás
Arriba