Bloquear web para un pais

¿Cómo podría hacer que mi web no se viera en un país determinado?
Tal vez con programación PHP pudieras sacar el pais desde donde te visita y te mostrara una web distinta tipo: "Tu web no esta disponible en este pais", pero con un proxy solucionarian el problema.
como te ha dicho djmusikero cualquier cosa que hagas sera inutil, porque con un simple proxy se saltaran esa proteccion
Lo primero es lo que te dicen, se puede saltar, pero si lo necesitas por temas legales puedes tirar de esto: http://es.debugmodeon.com/articulo/geolocalizacion-en-tu-propia-base-de-datos-mysql
Bueno, ya he encontrado una solución aquí: http://www.countryipblocks.net/country- ... ny-format/ Que se salten la protección con un proxy no me preocupa por ahora.

Ahora, me gustaría haceros una pregunta para nota: ¿cómo podría mostrar la web en un idioma o en otro dependiendo del país del visitante?
con todo el respeto del mundo maikelnait, te digo que si no sabes eso mejor que no te metas en hacer una web

primero estudia el protocolo http, programacion html, php (o javascript) y mySQL como minimo. Y luego podras plantearte hacer una web

edit:
eso si la web la vas a hacer desde 0.
Si usas algun CMS (como joomla o wordpress) dinos cual usas
highfredo escribió:con todo el respeto del mundo maikelnait, te digo que si no sabes eso mejor que no te metas en hacer una web

primero estudia el protocolo http, programacion html, php (o javascript) y mySQL como minimo. Y luego podras plantearte hacer una web

edit:
eso si la web la vas a hacer desde 0.
Si usas algun CMS (como joomla o wordpress) dinos cual usas

La verdad es que mi idea era usar una plantilla, sin bases de datos. Me lo han propuesto y estoy viendo si puedo hacer algo decente sin tener que ponerme a estudiar, si no no lo hago.
Con el CMS "Joomla" hay un componente que te permite mostrar la web en varios idiomas y elegir el predeterminado y que un usuario pueda elegir el que quiera.
pues para que no te lo salten usando proxy, les metes un script que filtre los puertos que suelen usar los proxy o mejor aun, verifica el puerto 80 y el que no entre usando ese puerto lo mandas de vuelva a google, fijate si es facil y efectivo.

cualquiera dira que un proxy es la solucion para todo, lo que veo aqui es poca idea mas que conocimentos.

Se que es un poco viejo el tema peor seguro q a alguno la ida le puede valer.
maikelnait escribió:¿cómo podría mostrar la web en un idioma o en otro dependiendo del país del visitante?


Con PHP se puede hacer para depender del idioma del navegador (mejor que por el país), pero hace falta estructurar la web. Todos los textos deberían ser variables y deberían estar almacenados en diferentes archivos, uno para todos los textos en español, otro para todos los textos en inglés, etc...

Este es el código que detecta el idioma del navegadory hace un include del archivo con los textos en ese idioma.
if(isset($HTTP_ACCEPT_LANGUAGE))
{
  $lang = substr($HTTP_ACCEPT_LANGUAGE, 0, 2);
}else{
  $lang = 'es';
}

switch($lang){
    case "es": 
        require_once(INCLUDES . '/idiomas/es_cuerpo.php');
    break;
    case "ca":
                require_once(INCLUDES . '/idiomas/ca_cuerpo.php');
    break;
    case "gl":
                 require_once(INCLUDES . '/idiomas/gl_cuerpo.php');
    break;
    case "eu":
                require_once(INCLUDES . '/idiomas/eu_cuerpo.php');
    break;
    case "en":
                 require_once(INCLUDES . '/idiomas/en_cuerpo.php');
    break;
    default:
                require_once(INCLUDES . '/idiomas/es_cuerpo.php');
    break;
}


este es el código que iría dentro de cada archivo de idiomas:
Español
<?php
//[0-9]*
define('T_1_2_DIAS', 'De 1 a 2 días');

//A
define('T_ACEPTO_CONDICIONES', 'Acepto condiciones legales (<a target="_blank" href="/aviso-legal" onclick="window.open("/aviso-legal"); return false;">ver aviso legal</a>)');
define('T_ACTIVIDAD_FISICA_CABECERA', 'Actividad física y Deporte');
define('T_ACTUALIZAR_CUENTA', 'Actualizar la información de su cuenta');
?>


Inglés
<?php
//[0-9]*
define('T_1_2_DIAS', '1 or 2 days');

//A
define('T_ACEPTO_CONDICIONES', 'Yes, I have read and accept the legal notice and privacy policy of diazdesantos.es. See the (<a target="_blank" href="/aviso-legal" onclick="window.open("/aviso-legal"); return false;">legal notice</a></a>');
define('T_ACTIVIDAD_FISICA_CABECERA', 'Phisic activity and sports');
define('T_ACTUALIZAR_CUENTA', 'Update your account data.');
?>


(podrías añadir todos los idiomas que quisieras)

Y en las páginas, los textos deberían ir asi:
<div>
<?php echo T_ACEPTO_CONDICIONES; ?>
</div>


No se si me he explicado bien.


Saludos! [angelito]
9 respuestas