Muchas veces tuve la necesidad de bloquear el ingreso a un sitio desde cierto país, o permitir sólo el acceso de clientes que ingresen desde el mismo. Para esto fue siempre necesario tener un base de datos de IP's que pertenezcan a cierto poía o zona, y luego de mucha (verdaderamente mucha) búsqueda encontré un sitio que me dió la solución a esto, estoy hablando de www.countryipblocks.net, que nos dá la opción de elegir si bloquear o permitir el acceso desde un país a travez de su rango IP y nos autogenerará el código para nuestro archivo .htaccess, o simplemente nos dará la lista de IP's para que la usemos a nuestro antojo.
Luego, teniendo esa lista de direcciones IP podemos utilizar el siguiente codigo PHP para efectuar la acción deseada:
Código:
if($_SERVER["HTTP_X_FORWARDED_FOR"]){
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}else{
$ip = $_SERVER["REMOTE_ADDR"];
} // aquí conseguimos la IP del usuario que ingresó al sitio
Luego comparamos esta direccion con nuestra lista de IP's y efectuamos la acción desada.
Ejemplos, apuntes, teoría, práctica, pruebas y error...de esto y un poco más se trata este Blog.
10.4.11
Mostrar todas las variables de un tipo y sus valores
Con el siguiente código se imprimiran en pantalla todas las variables de cierto tipo, ej. "$_SESSION", y el valor de cada una.
Código:
Código:
<?php foreach( $_SERVER as $key=>$value ) {
echo "Variable: $key, Valor: $value<br>\n";
} ?>
5.4.11
Listado de las principales variables en Joomla!
En este listado se pueden ver las variables mas importantes y principales que se usan en Joomla! y que es útil conocer si vamos a, por ejemplo, crear un módulo de cero.
- JURI::base(); //variable que contiene la URL del home del sitio o del administrador, dependiendo de donde se ejecute la funcion
- JURI::root(); //variable que devuelve la URL del home del sitio, sin importar desde donde la llamemos
- JURI::getInstance(); // nos da la URL exacta de donde estamos, mostrando una SEF si está activado
- global $mainframe;
$mainframe->getCfg( 'live_site' ); // otra opcion para conseguir la URL del home
- JPATH_BASE // contiene la ruta fisica del sitio o administrador, depende donde estemos al momento de utilizar la variable, ej.: D:|html_public\www\misitio.com
- JPATH_SITE representa la ruta raíz de la aplicación JSite // D:|html_public\www\misitio.com\
- JPATH_ADMINISTRATOR representa la ruta raíz de la aplicación JAdministrator. // D:|html_public\www\misitio.com\administrator\
- JPATH_ROOT es la ruta de acceso raíz de la instalación de Joomla y no depende de ninguna aplicación.
- <?php
$app =& JFactory::getApplication();
//$app->redirect( <url> ); // esto nos redirecciona a la URL que pasemos como parametro
echo $app->getTemplate();
// acá conseguimos el nombre del template que estamos usando, muy util cuando queremos incluir en un modulo o componente que estamos creando archivos que estan en la carpeta del template actual
// para saber 'SEF' esta activado
$mainframe = JFactory::getApplication();
echo $mainframe->getCfg('sef');
getCfg() nos permite recuperar los valores de variables declaradas en el configuration.php
?>
PARA CONSEGUIR EL SUFIJO DE CLASE DE UN PAGINA
$menus = &JSite::getMenu();
$menu = $menus->getActive();
$pageclass = "";
if (is_object( $menu )) :
// si es Joomla 1.7
$params = $menu->params;
// si es Joomla 1.5
$params = new JParameter( $menu->params );
$pageclass = $params->get( 'pageclass_sfx' );
endif;
PARA AGREGAR UN SCRIPT AL HEADER DEL SITIO
<?php
$document = JFactory::getDocument ();
$document->addScriptDeclaration ( "// <![CDATA[
window.addEvent('domready', function(){ $$('dl.tabs').each(function(tabs){ new KunenaTabs(tabs); }); });
// ]]>" );
?>
- JURI::base(); //variable que contiene la URL del home del sitio o del administrador, dependiendo de donde se ejecute la funcion
- JURI::root(); //variable que devuelve la URL del home del sitio, sin importar desde donde la llamemos
- JURI::getInstance(); // nos da la URL exacta de donde estamos, mostrando una SEF si está activado
- global $mainframe;
$mainframe->getCfg( 'live_site' ); // otra opcion para conseguir la URL del home
- JPATH_BASE // contiene la ruta fisica del sitio o administrador, depende donde estemos al momento de utilizar la variable, ej.: D:|html_public\www\misitio.com
- JPATH_SITE representa la ruta raíz de la aplicación JSite // D:|html_public\www\misitio.com\
- JPATH_ADMINISTRATOR representa la ruta raíz de la aplicación JAdministrator. // D:|html_public\www\misitio.com\administrator\
- JPATH_ROOT es la ruta de acceso raíz de la instalación de Joomla y no depende de ninguna aplicación.
- <?php
$app =& JFactory::getApplication();
//$app->redirect( <url> ); // esto nos redirecciona a la URL que pasemos como parametro
echo $app->getTemplate();
// acá conseguimos el nombre del template que estamos usando, muy util cuando queremos incluir en un modulo o componente que estamos creando archivos que estan en la carpeta del template actual
// para saber 'SEF' esta activado
$mainframe = JFactory::getApplication();
echo $mainframe->getCfg('sef');
getCfg() nos permite recuperar los valores de variables declaradas en el configuration.php
?>
PARA CONSEGUIR EL SUFIJO DE CLASE DE UN PAGINA
$menus = &JSite::getMenu();
$menu = $menus->getActive();
$pageclass = "";
if (is_object( $menu )) :
// si es Joomla 1.7
$params = $menu->params;
// si es Joomla 1.5
$params = new JParameter( $menu->params );
$pageclass = $params->get( 'pageclass_sfx' );
endif;
PARA AGREGAR UN SCRIPT AL HEADER DEL SITIO
<?php
$document = JFactory::getDocument ();
$document->addScriptDeclaration ( "// <![CDATA[
window.addEvent('domready', function(){ $$('dl.tabs').each(function(tabs){ new KunenaTabs(tabs); }); });
// ]]>" );
?>
Suscribirse a:
Entradas
(
Atom
)